From joe.darcy at oracle.com Thu Aug 1 18:47:47 2019 From: joe.darcy at oracle.com (Joe Darcy) Date: Thu, 1 Aug 2019 11:47:47 -0700 Subject: FYI, Skara update at OpenJDK Committer's Workshop Message-ID: <2ba58329-7c1a-ba0b-fd33-0b240fa2fe8b@oracle.com> Hello, FYI, I gave a update on Skara at the OpenJDK Committers' Workshop today: http://cr.openjdk.java.net/~darcy/Presentations/OCW/ocw-2019-08-skara.pdf Cheers, -Joe From duke at openjdk.java.net Thu Aug 1 19:14:28 2019 From: duke at openjdk.java.net (JornVernee via github.com) Date: Thu, 1 Aug 2019 19:14:28 GMT Subject: RFR: Fix start of hunk range off-by-one error when parsing range string Message-ID: I kept running into off-by-one errors in hunk headers when exporting a patch from a git repo, and then importing into a mercurial repo (for pushing, since git repos are currently read-only) The problem seems to be that unified diffs report a line number 1 before the modified line if the line count is 0. For instance, if I just remove a few lines from a file, the hunk destination start line is one before the first deleted line. (similarly when only adding lines). The problem is that when hunks are then coalesced together, the starting line, and computed line counts are off-by-one as well, and as a result, the generated patch fails to apply. I noticed there was already some code dealing with this in HunkCoalescer, but this wasn't catching all the cases. I first made a version that patched the starting line in the missing cases, but it seemed cleaner to try and fix this at the source, i.e. when parsing the Range string from the unified diff. So, that is what I've done in this PR, as well as removing the previous patching code in HunkCoalescer, which was no longer needed. If wanted I could also go the other route of patching the starting line in HunkCoalescer in the missing cases (there were 4 of these). ---------------- Commits: - 7a093687: Fixed some off-by-one errors caused by unified diff indicating the 'wrong' line when no lines were changes (in source or target) Pull request: http://git.openjdk.java.net/skara/pull/34 Webrev: https://openjdk.github.io/cr/skara/34/webrev.00 Patch: http://git.openjdk.java.net/skara/pull/34.diff Fetch command: git fetch https://github.com/openjdk/skara.git pull/34/head:pull/34 From duke at openjdk.java.net Thu Aug 1 19:30:30 2019 From: duke at openjdk.java.net (JornVernee via github.com) Date: Thu, 1 Aug 2019 19:30:30 GMT Subject: RFR: Convert path separators in patch file to unix explicitly Message-ID: I ran into trouble when trying to apply a patch file generated with Windows Git to a mercurial repository through cygwin. It wasn't recognizing the files since the paths in the patch file were using Windows path separators. The spec doesn't seem to mention path separators: https://www.gnu.org/software/diffutils/manual/html_node/Detailed-Unified.html#Detailed-Unified But, both the Windows Git and Mercurial clients I have installed are handling unix path separators just fine. So, in this PR I've changed the patch file generators to use unix path separators explicitly, which solves the problem. ---------------- Commits: - cefd6ae1: Convert path separators in patch file to unix explicitly Pull request: http://git.openjdk.java.net/skara/pull/35 Webrev: https://openjdk.github.io/cr/skara/35/webrev.00 Patch: http://git.openjdk.java.net/skara/pull/35.diff Fetch command: git fetch https://github.com/openjdk/skara.git pull/35/head:pull/35 From duke at openjdk.java.net Fri Aug 2 11:50:07 2019 From: duke at openjdk.java.net (JornVernee via github.com) Date: Fri, 2 Aug 2019 11:50:07 GMT Subject: RFR: Add tool for importing webrev patches In-Reply-To: <9_jEaW011lAaAzSAWpXvPnqXcL9y_7QmPQYoF2x_muk=.e85bd45a-725d-4ec5-b0df-dc72eb53ee43@github.com> References: <9_jEaW011lAaAzSAWpXvPnqXcL9y_7QmPQYoF2x_muk=.e85bd45a-725d-4ec5-b0df-dc72eb53ee43@github.com> Message-ID: The pull request has been updated with additional changes. ---------------- Added commits: - 10fb3d6a: Moved wimport functionality to be under webrev apply Pull request: http://git.openjdk.java.net/skara/pull/32 Webrevs: - full: https://openjdk.github.io/cr/skara/32/webrev.03 - inc: https://openjdk.github.io/cr/skara/32/webrev.02-03 Updated full patch: http://git.openjdk.java.net/skara/pull/32.diff Fetch command: git fetch https://github.com/openjdk/skara.git pull/32/head:pull/32 From duke at openjdk.java.net Fri Aug 2 12:04:24 2019 From: duke at openjdk.java.net (JornVernee via github.com) Date: Fri, 2 Aug 2019 12:04:24 GMT Subject: RFR: Add tool for importing webrev patches In-Reply-To: References: <9_jEaW011lAaAzSAWpXvPnqXcL9y_7QmPQYoF2x_muk=.e85bd45a-725d-4ec5-b0df-dc72eb53ee43@github.com> Message-ID: On Mon, 8 Jul 2019 07:22:22 GMT, Erik Duveblad via github.com wrote: > On Fri, 5 Jul 2019 15:38:41 GMT, JornVernee via github.com wrote: > >> On Fri, 5 Jul 2019 13:20:51 GMT, Erik Duveblad via github.com wrote: >> >>> On Fri, 5 Jul 2019 10:01:57 GMT, JornVernee via github.com wrote: >>> >>>> As discussed on the mailing list: https://mail.openjdk.java.net/pipermail/skara-dev/2019-July/000176.html >>>> >>>> This PR adds a tool for importing webrev `.patch` files, either from a webrev url or local file path into a repository. >>>> >>>> I've named the tool `wimport` as short for `webrev-import` (I thought the full name sounded a bit too much like a sub-command of `webrev`). This will first checkout a new branch, then apply the patch, and then create a commit for the patch with the message `Imported patch 'NAME'`, similar to what is done by mq. Afterwards a user can just delete the new branch when they're done with e.g. reviewing the webrev. Although, there is also an option to directly apply the webrev without creating a branch or commit. >>>> >>>> Currently the following options are supported: >>>> >>>> usage: git wimport [options] >>>> -n, --name NAME Use NAME as a name for the patch (default is patch file name) >>>> -f, --file Input is a file path >>>> -k, --keep Keep downloaded patch file in current directory >>>> -d, --direct Directly apply patch, without creating a branch or commit >>>> >>>> ---------------- >>>> >>>> Commits: >>>> - 7b20ce75: Wimport prototype >>>> >>>> Pull request: >>>> http://git.openjdk.java.net/skara/pull/32 >>>> >>>> Webrev: >>>> https://openjdk.github.io/cr/skara/32/webrev.00 >>>> >>>> Patch: >>>> http://git.openjdk.java.net/skara/pull/32.diff >>>> >>>> Fetch command: >>>> git fetch https://github.com/openjdk/skara.git pull/32/head:pull/32 >>> >>> Thanks Jorn for you contribution! >>> >>> I just had time to take quick look at the code, but wanted to share some high-level thoughts before diving in deeper. I would suggest splitting this tool into two: >>> 1. git-webrev-apply >>> 2. git-webrev-fetch >>> >>> The motivation would be to two piggyback on already known git commands apply and fetch and try >>> to match the semantics as good as possible. The first tool, git-webrev-apply is very similar to what you have done in this PR _except_ that it would not do a commit. The second tool, git-webrev-fetch, would be more similar to what you have done here, but here I have few more considerations to make the tool as safe as possible: >>> - we want git-webrev-fetch to apply directly to index (with `git apply --cached`) so we avoid potentially changing files in the user's working tree. >>> - if the user already has a dirty index (`git diff --cached` is not empty) then I would consider two options: >>> - abort and notify the user that the index is dirty (this differs from how `git fetch` behaves) >>> - temporarily store the user's dirty index with `git write-tree`, apply the patch with `git apply --cached`, commit (more on how to commit later), restore the user's index with `git read-tree` >>> - I think we can find out a bit more about the webrev. For author and committer we can definitely use the username, `https://cr.openjdk.java.net/~(.*)/`. You could potentially use the `census` module if you want to get the real name for the user (to be able to use "Real Name " form). >>> - For the commit message I would either go with just the URL of the webrev or try to apply some heuristic to find out if the webrev has corresponding [JBS](https://bugs.openjdk.java.net/) issue. >>> - For committing the dirty index I'm not fully sure yet of the best way. Ideally we want `origin/master` to be the parent since `master` might have advanced due to a user's local commits. One way to achieve this could be to first commit and then rebase the resulting commit onto `origin/master`. Another, perhaps more correct, but also slower, would be to use `git worktree` to create a new temporary worktree from `origin/master` in /tmp, apply the patch, and then commit. >>> - I think we can automatically deduce the name of the ref, for a webrev from a URL I think the ref `webrevs/ehelin/JDK-01234567/00` is fairly natural. This is somewhat similar to how `pulls/` is used for refs related to pull requests. >>> >>> Regarding the verbose naming of the tools, I actually intended for them to look like webrev subcommands :smiley: The reason for this is if these two tools turn out well then I think we can repurpose `git-webrev` into having subcommands (similar to `git-pr`): >>> - git webrev generate >>> - git webrev apply >>> - git webrev fetch >>> >>> `generate` would be the default command so that `git webrev` stays backwards compatible (just typing `git webrev` would mean `git webrev generate`). But before embarking on this refactoring I wanted us to start with implementing `git webrev-apply` and `git webrev-fetch`. >>> >>> I would suggest slightly re-purposing this PR into becoming the PR for `git-webrev-apply` and then tackle `git-webrev-fetch` in another PR. >>> >>> What do you think? >>> >>> PR: http://git.openjdk.java.net/skara/pull/32 >> >> Response inline... >> >>> I just had time to take quick look at the code, but wanted to share some high-level thoughts before diving in deeper. I would suggest splitting this tool into two: >>> >>> 1. git-webrev-apply >>> >>> 2. git-webrev-fetch >>> >>> >>> The motivation would be to two piggyback on already known git commands apply and fetch and try >>> to match the semantics as good as possible. The first tool, git-webrev-apply is very similar to what you have done in this PR _except_ that it would not do a commit. >> >> Okay, so it would just be like `git apply`, but with a webrev url as an argument? I suppose it's reasonable to drop support for local `.patch` files in that case, since that behaviour can be achieved by just using `git apply`. >> >>> The second tool, git-webrev-fetch, would be more similar to what you have done here, but here I have few more considerations to make the tool as safe as possible: >>> >>> * we want git-webrev-fetch to apply directly to index (with `git apply --cached`) so we avoid potentially changing files in the user's working tree. >> >> Oh yeah, good point! >> >>> * if the user already has a dirty index (`git diff --cached` is not empty) then I would consider two options: >>> >>> * abort and notify the user that the index is dirty (this differs from how `git fetch` behaves) >>> * temporarily store the user's dirty index with `git write-tree`, apply the patch with `git apply --cached`, commit (more on how to commit later), restore the user's index with `git read-tree` >> >> Can't the `git read-tree` step create conflicts? I'm a little more in favour of the former option of aborting, then the user can decided either to reset the tree or do a `write-tree` (or something else). >> >>> * I think we can find out a bit more about the webrev. For author and committer we can definitely use the username, `https://cr.openjdk.java.net/~(.*)/`. You could potentially use the `census` module if you want to get the real name for the user (to be able to use "Real Name [username at openjdk.org](mailto:username at openjdk.org)" form). >> >> If were going with deriving more information from the webrev, I'd rather try to find it in the webrev body, we can possibly get: >> >> * the author >> * the revision the webrev was generated on >> * the branch the webrev is targeting >> * the associated JBS bug link >> * the patch file link (already doing this for this PR) >> >>> * For the commit message I would either go with just the URL of the webrev or try to apply some heuristic to find out if the webrev has corresponding [JBS](https://bugs.openjdk.java.net/) issue. >> >> I think some heuristic is good, but we should have a good fallback as well, since we're not guaranteed to find the wanted information. Using the webrev URL as a commit message seems like a good one! >> >>> * For committing the dirty index I'm not fully sure yet of the best way. Ideally we want `origin/master` to be the parent since `master` might have advanced due to a user's local commits. One way to achieve this could be to first commit and then rebase the resulting commit onto `origin/master`. Another, perhaps more correct, but also slower, would be to use `git worktree` to create a new temporary worktree from `origin/master` in /tmp, apply the patch, and then commit. >> >> Well, not all webrevs target the master branch, but I get your point. An easy way to sidestep this problem is to use the current HEAD as the parent (and whichever branch this might be). >> >>> * I think we can automatically deduce the name of the ref, for a webrev from a URL https://cr.openjdk.java.net/~ehelin/JDK-01234567/00 I think the ref `webrevs/ehelin/JDK-01234567/00` is fairly natural. This is somewhat similar to how `pulls/` is used for refs related to pull requests. >> >> Sounds good! Overall I think we can use several heuristics to create a `WebrevMetaData` object that we can then generate this kind of information from that. >> >>> Regarding the verbose naming of the tools, I actually intended for them to look like webrev subcommands ???? The reason for this is if these two tools turn out well then I think we can repurpose `git-webrev` into having subcommands (similar to `git-pr`): >>> >>> * git webrev generate >>> >>> * git webrev apply >>> >>> * git webrev fetch >>> >>> >>> `generate` would be the default command so that `git webrev` stays backwards compatible (just typing `git webrev` would mean `git webrev generate`). But before embarking on this refactoring I wanted us to start with implementing `git webrev-apply` and `git webrev-fetch`. >> >> Okay, sounds great to me! (just having the usual case of new-contributor-syndrome, not trying to step on anyone's toes ????) >> >>> I would suggest slightly re-purposing this PR into becoming the PR for `git-webrev-apply` and then tackle `git-webrev-fetch` in another PR. >>> >>> What do you think? >> >> Sounds good. >> >> Also, I wanted to ask what you want to do for tests? I noticed there are no other test in the `cli` module yet, so I've tested this PR manually, but maybe now is a good time to start adding them? >> >> FWIW, not all the tests pass on Windows currently, particularly some tests that rely on unix tools/path-separators, and quite a bit of the `vcs` tests file (I haven't looked into it yet). In the meantime it might be nice to set up some CI on GitHub, e.g. Travis? >> >> PR: http://git.openjdk.java.net/skara/pull/32 > >> > The first tool, git-webrev-apply is very similar to what you have done in this PR _except_ that it would >> > not do a commit. >> >> Okay, so it would just be like `git apply`, but with a webrev url as an argument? I suppose it's reasonable to drop support for local `.patch` files in that case, since that behaviour can be achieved by just using `git apply`. > > Yes, `git-webrev-apply` would behave exactly like `git apply` but with a webrev URL as argument. Yes, I would drop support for local `.patch` files for the exact reason you mention. > >> > ``` >> > * if the user already has a dirty index (`git diff --cached` is not empty) then I would consider two options: >> > >> > * abort and notify the user that the index is dirty (this differs from how `git fetch` behaves) >> > * temporarily store the user's dirty index with `git write-tree`, apply the patch with `git apply --cached`, commit (more on how to commit later), restore the user's index with `git read-tree` >> > ``` >> >> Can't the `git read-tree` step create conflicts? I'm a little more in favour of the former option of aborting, then the user can decided either to reset the tree or do a `write-tree` (or something else). > > I don't think so? But I haven't tried this idea :smile: The first `git read-tree` will empty the index, we are essentially temporarily storing the index as a tree. The `git apply` followed by `git commit` should also result in an empty index. One could experiment with using `git write-tree` and `git commit-tree` instead of `git commit`, but the result should be very similar. So when we do the final `git read-tree` the index should be clean, `HEAD` should be intact, the worktree should be intact, so I don't think we should get any conflicts? > > However, the above will be a little fiddly, so it is probably best to just start with a warning if the index is dirty. > >> > ``` >> > * I think we can find out a bit more about the webrev. For author and committer we can definitely use the username, `https://cr.openjdk.java.net/~(.*)/`. You could potentially use the `census` module if you want to get the real name for the user (to be able to use "Real Name [username at openjdk.org](mailto:username at openjdk.org)" form). >> > ``` >> >> If were going with deriving more information from the webrev, I'd rather try to find it in the webrev body, we can possibly get: >> >> * the author >> * the revision the webrev was generated on >> * the branch the webrev is targeting >> * the associated JBS bug link >> * the patch file link (already doing this for this PR) > > Good point! I would probably recommend a mix, since not everyone creates webrevs with `-c`, but many contributors use the pattern `~username/ISSUE/` in the URLs. > >> > ``` >> > * For the commit message I would either go with just the URL of the webrev or try to apply some heuristic to find out if the webrev has corresponding [JBS](https://bugs.openjdk.java.net/) issue. >> > ``` >> >> I think some heuristic is good, but we should have a good fallback as well, since we're not guaranteed to find the wanted information. Using the webrev URL as a commit message seems like a good one! > > :+1: > >> > ``` >> > * For committing the dirty index I'm not fully sure yet of the best way. Ideally we want `origin/master` to be the parent since `master` might have advanced due to a user's local commits. One way to achieve this could be to first commit and then rebase the resulting commit onto `origin/master`. Another, perhaps more correct, but also slower, would be to use `git worktree` to create a new temporary worktree from `origin/master` in /tmp, apply the patch, and then commit. >> > ``` >> >> Well, not all webrevs target the master branch, but I get your point. An easy way to sidestep this problem is to use the current HEAD as the parent (and whichever branch this might be). >> >> > ``` >> > * I think we can automatically deduce the name of the ref, for a webrev from a URL https://cr.openjdk.java.net/~ehelin/JDK-01234567/00 I think the ref `webrevs/ehelin/JDK-01234567/00` is fairly natural. This is somewhat similar to how `pulls/` is used for refs related to pull requests. >> > ``` >> >> Sounds good! Overall I think we can use several heuristics to create a `WebrevMetaData` object that we can then generate this kind of information from that. > > That sounds like a good start, please consider adding it to the `webrev` module. > >> > Regarding the verbose naming of the tools, I actually intended for them to look like webrev subcommands smiley The reason for this is if these two tools turn out well then I think we can repurpose `git-webrev` into having subcommands (similar to `git-pr`): >> > ``` >> > * git webrev generate >> > >> > * git webrev apply >> > >> > * git webrev fetch >> > ``` >> > >> > >> > `generate` would be the default command so that `git webrev` stays backwards compatible (just typing `git webrev` would mean `git webrev generate`). But before embarking on this refactoring I wanted us to start with implementing `git webrev-apply` and `git webrev-fetch`. >> >> Okay, sounds great to me! (just having the usual case of new-contributor-syndrome, not trying to step on anyone's toes ) > > Haha, the only toes you can step on are mine and Robin's, and we step on each other's toes all the time, so they are fairly hardened by now :laughing: Feel free to suggest as dramatic changes as you like! > >> > I would suggest slightly re-purposing this PR into becoming the PR for `git-webrev-apply` and then tackle `git-webrev-fetch` in another PR. >> > What do you think? >> >> Sounds good. >> >> Also, I wanted to ask what you want to do for tests? I noticed there are no other test in the `cli` module yet, so I've tested this PR manually, but maybe now is a good time to start adding them? > > I general we try to put as much logic as possible into the various libraries and then test the libraries (since they are easier to unit test than the CLI tools). The CLI tools are primarily meant to be small programs "gluing" together a few libraries and therefore I have resorted to manual testing. Some of the CLI tools (the ones not requiring a network connection) should be fairly easy to test though, so feel free to add tests to the `cli` module. > >> FWIW, not all the tests pass on Windows currently, particularly some tests that rely on unix tools/path-separators, and quite a bit of the `vcs` tests file (I haven't looked into it yet). In the meantime it might be nice to set up some CI on GitHub, e.g. Travis? > > Sorry to hear that the tests aren't passing on Windows, they _should_ pass (we are running them on Windows from time to time). We have something in the works regarding CI, but we need a little more time to work on it, so please stay tuned for that. > > PR: http://git.openjdk.java.net/skara/pull/32 Updated this to be a sub command of `webrev`. I made a utility called `SubCommandSwitch` for switching over the different sub commands, as well as making a basic `WebrevMetaData` with a factory that derives the information from a webrev URL (currently only the patch URI). using `git webrev help` you get a message like: ``` usage: git webrev help print a help message apply apply a webrev from a webrev url generate generate a webrev ``` Pretty much all the other functionality is the same, but I've removed the options from the command. It now only takes a url as input. PR: http://git.openjdk.java.net/skara/pull/32 From duke at openjdk.java.net Fri Aug 2 15:03:49 2019 From: duke at openjdk.java.net (JornVernee via github.com) Date: Fri, 2 Aug 2019 15:03:49 GMT Subject: RFR: Get resource path from URI to avoid getting spurious leading path separator on Windows Message-ID: One more little pathing problem I ran into when running GitWebrev through a debugger. The old code uses `URL::getPath`, but this results in a leading slash before the path, and on Windows absolute paths contain drive letters, so you get something like `/C:/a/b/c`, which is not a valid path syntax. We can first convert the URL to a URI, for which `Path::of` has a special overload that does the right thing for us. ---------------- Commits: - a58471b3: Get path from URI to avoid getting spurious leading path separator on Windows Pull request: http://git.openjdk.java.net/skara/pull/36 Webrev: https://openjdk.github.io/cr/skara/36/webrev.00 Patch: http://git.openjdk.java.net/skara/pull/36.diff Fetch command: git fetch https://github.com/openjdk/skara.git pull/36/head:pull/36 From erik.helin at oracle.com Mon Aug 5 09:55:04 2019 From: erik.helin at oracle.com (Erik Helin) Date: Mon, 5 Aug 2019 11:55:04 +0200 Subject: Result: New Skara Committer: Jorn Vernee Message-ID: Voting for Jorn Vernee [1] is now closed. Yes: 4 Veto: 0 Abstain: 0 According to the Bylaws definition of Lazy Consensus, this is sufficient to approve the nomination. Erik [1]: https://mail.openjdk.java.net/pipermail/skara-dev/2019-June/000109.html From duke at openjdk.java.net Mon Aug 5 10:11:44 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Mon, 5 Aug 2019 10:11:44 GMT Subject: RFR: Update README.md In-Reply-To: References: Message-ID: On Wed, 31 Jul 2019 05:48:01 GMT, Joe Darcy via github.com wrote: > Fix typo in description of hgbridge. > > ---------------- > > Commits: > - ebd737b8: Update README.md > Fix typo in description of hgbridge. > > Pull request: > http://git.openjdk.java.net/skara/pull/33 > > Webrev: > https://openjdk.github.io/cr/skara/33/webrev.00 > > Patch: > http://git.openjdk.java.net/skara/pull/33.diff > > Fetch command: > git fetch https://github.com/openjdk/skara.git pull/33/head:pull/33 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Looks good, thanks for fixing! PR: http://git.openjdk.java.net/skara/pull/33 From duke at openjdk.java.net Mon Aug 5 10:35:23 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Mon, 5 Aug 2019 10:35:23 GMT Subject: RFR: Convert path separators in patch file to unix explicitly In-Reply-To: References: Message-ID: On Thu, 1 Aug 2019 19:30:30 GMT, JornVernee via github.com wrote: > I ran into trouble when trying to apply a patch file generated with Windows Git to a mercurial repository through cygwin. It wasn't recognizing the files since the paths in the patch file were using Windows path separators. > > The spec doesn't seem to mention path separators: https://www.gnu.org/software/diffutils/manual/html_node/Detailed-Unified.html#Detailed-Unified > > But, both the Windows Git and Mercurial clients I have installed are handling unix path separators just fine. So, in this PR I've changed the patch file generators to use unix path separators explicitly, which solves the problem. > > ---------------- > > Commits: > - cefd6ae1: Convert path separators in patch file to unix explicitly > > Pull request: > http://git.openjdk.java.net/skara/pull/35 > > Webrev: > https://openjdk.github.io/cr/skara/35/webrev.00 > > Patch: > http://git.openjdk.java.net/skara/pull/35.diff > > Fetch command: > git fetch https://github.com/openjdk/skara.git pull/35/head:pull/35 Hi Jorn, thanks for testing out the tools using Cygwin! The patch itself looks good, but maybe this patch should take the opportunity to fix https://bugs.openjdk.java.net/browse/SKARA-7 as well? I would prefer moving away from `Webrev` having its own logic for creating `.patch` files, it should use `Diff::write` and `Diff::toString` instead. I suspect we have the same exact issue in `Diff::write`, so please fix the bug there as well, even if you don't refactor `Webrev` to use `Diff::write` :bowing_man: PR: http://git.openjdk.java.net/skara/pull/35 From duke at openjdk.java.net Mon Aug 5 10:39:33 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Mon, 5 Aug 2019 10:39:33 GMT Subject: RFR: Get resource path from URI to avoid getting spurious leading path separator on Windows In-Reply-To: References: Message-ID: On Fri, 2 Aug 2019 15:03:49 GMT, JornVernee via github.com wrote: > One more little pathing problem I ran into when running GitWebrev through a debugger. > > The old code uses `URL::getPath`, but this results in a leading slash before the path, and on Windows absolute paths contain drive letters, so you get something like `/C:/a/b/c`, which is not a valid path syntax. > > We can first convert the URL to a URI, for which `Path::of` has a special overload that does the right thing for us. > > ---------------- > > Commits: > - a58471b3: Get path from URI to avoid getting spurious leading path separator on Windows > > Pull request: > http://git.openjdk.java.net/skara/pull/36 > > Webrev: > https://openjdk.github.io/cr/skara/36/webrev.00 > > Patch: > http://git.openjdk.java.net/skara/pull/36.diff > > Fetch command: > git fetch https://github.com/openjdk/skara.git pull/36/head:pull/36 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Looks good, thanks for fixing! PR: http://git.openjdk.java.net/skara/pull/36 From duke at openjdk.java.net Mon Aug 5 11:00:08 2019 From: duke at openjdk.java.net (JornVernee via github.com) Date: Mon, 5 Aug 2019 11:00:08 GMT Subject: RFR: Get resource path from URI to avoid getting spurious leading path separator on Windows In-Reply-To: References: Message-ID: On Fri, 2 Aug 2019 15:03:49 GMT, JornVernee via github.com wrote: > One more little pathing problem I ran into when running GitWebrev through a debugger. > > The old code uses `URL::getPath`, but this results in a leading slash before the path, and on Windows absolute paths contain drive letters, so you get something like `/C:/a/b/c`, which is not a valid path syntax. > > We can first convert the URL to a URI, for which `Path::of` has a special overload that does the right thing for us. > > ---------------- > > Commits: > - a58471b3: Get path from URI to avoid getting spurious leading path separator on Windows > > Pull request: > http://git.openjdk.java.net/skara/pull/36 > > Webrev: > https://openjdk.github.io/cr/skara/36/webrev.00 > > Patch: > http://git.openjdk.java.net/skara/pull/36.diff > > Fetch command: > git fetch https://github.com/openjdk/skara.git pull/36/head:pull/36 Guess it doesn't recognize me as a committer yet :) PR: http://git.openjdk.java.net/skara/pull/36 From duke at openjdk.java.net Mon Aug 5 11:34:13 2019 From: duke at openjdk.java.net (JornVernee via github.com) Date: Mon, 5 Aug 2019 11:34:13 GMT Subject: RFR: Convert path separators in patch file to unix explicitly In-Reply-To: References: Message-ID: On Mon, 5 Aug 2019 10:35:23 GMT, Erik Duveblad via github.com wrote: > On Thu, 1 Aug 2019 19:30:30 GMT, JornVernee via github.com wrote: > >> I ran into trouble when trying to apply a patch file generated with Windows Git to a mercurial repository through cygwin. It wasn't recognizing the files since the paths in the patch file were using Windows path separators. >> >> The spec doesn't seem to mention path separators: https://www.gnu.org/software/diffutils/manual/html_node/Detailed-Unified.html#Detailed-Unified >> >> But, both the Windows Git and Mercurial clients I have installed are handling unix path separators just fine. So, in this PR I've changed the patch file generators to use unix path separators explicitly, which solves the problem. >> >> ---------------- >> >> Commits: >> - cefd6ae1: Convert path separators in patch file to unix explicitly >> >> Pull request: >> http://git.openjdk.java.net/skara/pull/35 >> >> Webrev: >> https://openjdk.github.io/cr/skara/35/webrev.00 >> >> Patch: >> http://git.openjdk.java.net/skara/pull/35.diff >> >> Fetch command: >> git fetch https://github.com/openjdk/skara.git pull/35/head:pull/35 > > Hi Jorn, > > thanks for testing out the tools using Cygwin! > > The patch itself looks good, but maybe this patch should take the opportunity to fix https://bugs.openjdk.java.net/browse/SKARA-7 as well? I would prefer moving away from `Webrev` having its own logic for creating `.patch` files, it should use `Diff::write` and `Diff::toString` instead. I suspect we have the same exact issue in `Diff::write`, so please fix the bug there as well, even if you don't refactor `Webrev` to use `Diff::write` :bowing_man: > > PR: http://git.openjdk.java.net/skara/pull/35 @edvbld I'll take a look :) PR: http://git.openjdk.java.net/skara/pull/35 From duke at openjdk.java.net Mon Aug 5 13:16:04 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Mon, 5 Aug 2019 13:16:04 GMT Subject: RFR: Get resource path from URI to avoid getting spurious leading path separator on Windows In-Reply-To: References: Message-ID: On Mon, 5 Aug 2019 11:00:08 GMT, JornVernee via github.com wrote: > On Fri, 2 Aug 2019 15:03:49 GMT, JornVernee via github.com wrote: > >> One more little pathing problem I ran into when running GitWebrev through a debugger. >> >> The old code uses `URL::getPath`, but this results in a leading slash before the path, and on Windows absolute paths contain drive letters, so you get something like `/C:/a/b/c`, which is not a valid path syntax. >> >> We can first convert the URL to a URI, for which `Path::of` has a special overload that does the right thing for us. >> >> ---------------- >> >> Commits: >> - a58471b3: Get path from URI to avoid getting spurious leading path separator on Windows >> >> Pull request: >> http://git.openjdk.java.net/skara/pull/36 >> >> Webrev: >> https://openjdk.github.io/cr/skara/36/webrev.00 >> >> Patch: >> http://git.openjdk.java.net/skara/pull/36.diff >> >> Fetch command: >> git fetch https://github.com/openjdk/skara.git pull/36/head:pull/36 > > Guess it doesn't recognize me as a committer yet :) > > PR: http://git.openjdk.java.net/skara/pull/36 @JornVernee You will be considered committer when https://openjdk.java.net/census is updated :+1: PR: http://git.openjdk.java.net/skara/pull/36 From duke at openjdk.java.net Mon Aug 5 13:16:25 2019 From: duke at openjdk.java.net (duke) Date: Mon, 5 Aug 2019 13:16:25 GMT Subject: git: openjdk/skara: Get resource path from URI to avoid getting spurious leading path separator on Windows Message-ID: Changeset: 83ad6c8f Author: Jorn Vernee Committer: Erik Helin Date: 2019-08-05 13:16:15 +0000 URL: http://git.openjdk.java.net/skara/commit/83ad6c8f Get resource path from URI to avoid getting spurious leading path separator on Windows Reviewed-by: ehelin ! webrev/src/main/java/org/openjdk/skara/webrev/Webrev.java From duke at openjdk.java.net Mon Aug 5 13:46:02 2019 From: duke at openjdk.java.net (JornVernee via github.com) Date: Mon, 5 Aug 2019 13:46:02 GMT Subject: RFR: Convert path separators in patch file to unix explicitly In-Reply-To: References: Message-ID: The pull request has been updated with additional changes. ---------------- Added commits: - 169b6867: Convert path separator in Patch::write to unix as well. Pull request: http://git.openjdk.java.net/skara/pull/35 Webrevs: - full: https://openjdk.github.io/cr/skara/35/webrev.01 - inc: https://openjdk.github.io/cr/skara/35/webrev.00-01 Updated full patch: http://git.openjdk.java.net/skara/pull/35.diff Fetch command: git fetch https://github.com/openjdk/skara.git pull/35/head:pull/35 From duke at openjdk.java.net Mon Aug 5 13:51:53 2019 From: duke at openjdk.java.net (JornVernee via github.com) Date: Mon, 5 Aug 2019 13:51:53 GMT Subject: RFR: Convert path separators in patch file to unix explicitly In-Reply-To: References: Message-ID: <4pzZAYl2YqhY8dngHw-wEBEpHllkRJsta-fCMURaBms=.b6db7067-f025-4794-ab30-3fbe85751c93@github.com> On Mon, 5 Aug 2019 11:34:13 GMT, JornVernee via github.com wrote: > On Mon, 5 Aug 2019 10:35:23 GMT, Erik Duveblad via github.com wrote: > >> On Thu, 1 Aug 2019 19:30:30 GMT, JornVernee via github.com wrote: >> >>> I ran into trouble when trying to apply a patch file generated with Windows Git to a mercurial repository through cygwin. It wasn't recognizing the files since the paths in the patch file were using Windows path separators. >>> >>> The spec doesn't seem to mention path separators: https://www.gnu.org/software/diffutils/manual/html_node/Detailed-Unified.html#Detailed-Unified >>> >>> But, both the Windows Git and Mercurial clients I have installed are handling unix path separators just fine. So, in this PR I've changed the patch file generators to use unix path separators explicitly, which solves the problem. >>> >>> ---------------- >>> >>> Commits: >>> - cefd6ae1: Convert path separators in patch file to unix explicitly >>> >>> Pull request: >>> http://git.openjdk.java.net/skara/pull/35 >>> >>> Webrev: >>> https://openjdk.github.io/cr/skara/35/webrev.00 >>> >>> Patch: >>> http://git.openjdk.java.net/skara/pull/35.diff >>> >>> Fetch command: >>> git fetch https://github.com/openjdk/skara.git pull/35/head:pull/35 >> >> Hi Jorn, >> >> thanks for testing out the tools using Cygwin! >> >> The patch itself looks good, but maybe this patch should take the opportunity to fix https://bugs.openjdk.java.net/browse/SKARA-7 as well? I would prefer moving away from `Webrev` having its own logic for creating `.patch` files, it should use `Diff::write` and `Diff::toString` instead. I suspect we have the same exact issue in `Diff::write`, so please fix the bug there as well, even if you don't refactor `Webrev` to use `Diff::write` :bowing_man: >> >> PR: http://git.openjdk.java.net/skara/pull/35 > > @edvbld I'll take a look :) > > PR: http://git.openjdk.java.net/skara/pull/35 I've just fixed the problem for `Patch::write` as well, since switching `Webrev` to use `Diff::write` is not a simple switch. The latter does not have support for printing hunk context lines it seems. Doesn't seem like a quick fix, and I don't really have time to look into it right now :/ I ran the `vcs` module tests, but this is the one that had a lot of failures. I can say that at least there were no additional failures from the `Patch::write` change, but you might want to test on your side as well. PR: http://git.openjdk.java.net/skara/pull/35 From duke at openjdk.java.net Mon Aug 5 14:12:07 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Mon, 5 Aug 2019 14:12:07 GMT Subject: RFR: Convert path separators in patch file to unix explicitly In-Reply-To: <4pzZAYl2YqhY8dngHw-wEBEpHllkRJsta-fCMURaBms=.b6db7067-f025-4794-ab30-3fbe85751c93@github.com> References: <4pzZAYl2YqhY8dngHw-wEBEpHllkRJsta-fCMURaBms=.b6db7067-f025-4794-ab30-3fbe85751c93@github.com> Message-ID: On Mon, 5 Aug 2019 13:51:53 GMT, JornVernee via github.com wrote: > On Mon, 5 Aug 2019 11:34:13 GMT, JornVernee via github.com wrote: > >> On Mon, 5 Aug 2019 10:35:23 GMT, Erik Duveblad via github.com wrote: >> >>> On Thu, 1 Aug 2019 19:30:30 GMT, JornVernee via github.com wrote: >>> >>>> I ran into trouble when trying to apply a patch file generated with Windows Git to a mercurial repository through cygwin. It wasn't recognizing the files since the paths in the patch file were using Windows path separators. >>>> >>>> The spec doesn't seem to mention path separators: https://www.gnu.org/software/diffutils/manual/html_node/Detailed-Unified.html#Detailed-Unified >>>> >>>> But, both the Windows Git and Mercurial clients I have installed are handling unix path separators just fine. So, in this PR I've changed the patch file generators to use unix path separators explicitly, which solves the problem. >>>> >>>> ---------------- >>>> >>>> Commits: >>>> - cefd6ae1: Convert path separators in patch file to unix explicitly >>>> >>>> Pull request: >>>> http://git.openjdk.java.net/skara/pull/35 >>>> >>>> Webrev: >>>> https://openjdk.github.io/cr/skara/35/webrev.00 >>>> >>>> Patch: >>>> http://git.openjdk.java.net/skara/pull/35.diff >>>> >>>> Fetch command: >>>> git fetch https://github.com/openjdk/skara.git pull/35/head:pull/35 >>> >>> Hi Jorn, >>> >>> thanks for testing out the tools using Cygwin! >>> >>> The patch itself looks good, but maybe this patch should take the opportunity to fix https://bugs.openjdk.java.net/browse/SKARA-7 as well? I would prefer moving away from `Webrev` having its own logic for creating `.patch` files, it should use `Diff::write` and `Diff::toString` instead. I suspect we have the same exact issue in `Diff::write`, so please fix the bug there as well, even if you don't refactor `Webrev` to use `Diff::write` :bowing_man: >>> >>> PR: http://git.openjdk.java.net/skara/pull/35 >> >> @edvbld I'll take a look :) >> >> PR: http://git.openjdk.java.net/skara/pull/35 > > I've just fixed the problem for `Patch::write` as well, since switching `Webrev` to use `Diff::write` is not a simple switch. The latter does not have support for printing hunk context lines it seems. Doesn't seem like a quick fix, and I don't really have time to look into it right now :/ > > I ran the `vcs` module tests, but this is the one that had a lot of failures. I can say that at least there were no additional failures from the `Patch::write` change, but you might want to test on your side as well. > > PR: http://git.openjdk.java.net/skara/pull/35 Ok, thanks, I will take the patch for a spin. PR: http://git.openjdk.java.net/skara/pull/35 From duke at openjdk.java.net Mon Aug 5 14:32:33 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Mon, 5 Aug 2019 14:32:33 GMT Subject: RFR: Fix start of hunk range off-by-one error when parsing range string In-Reply-To: References: Message-ID: On Thu, 1 Aug 2019 19:14:28 GMT, JornVernee via github.com wrote: > I kept running into off-by-one errors in hunk headers when exporting a patch from a git repo, and then importing into a mercurial repo (for pushing, since git repos are currently read-only) > > The problem seems to be that unified diffs report a line number 1 before the modified line if the line count is 0. For instance, if I just remove a few lines from a file, the hunk destination start line is one before the first deleted line. (similarly when only adding lines). > > The problem is that when hunks are then coalesced together, the starting line, and computed line counts are off-by-one as well, and as a result, the generated patch fails to apply. > > I noticed there was already some code dealing with this in HunkCoalescer, but this wasn't catching all the cases. I first made a version that patched the starting line in the missing cases, but it seemed cleaner to try and fix this at the source, i.e. when parsing the Range string from the unified diff. So, that is what I've done in this PR, as well as removing the previous patching code in HunkCoalescer, which was no longer needed. > > If wanted I could also go the other route of patching the starting line in HunkCoalescer in the missing cases (there were 4 of these). > > ---------------- > > Commits: > - 7a093687: Fixed some off-by-one errors caused by unified diff indicating the 'wrong' line when no lines were changes (in source or target) > > Pull request: > http://git.openjdk.java.net/skara/pull/34 > > Webrev: > https://openjdk.github.io/cr/skara/34/webrev.00 > > Patch: > http://git.openjdk.java.net/skara/pull/34.diff > > Fetch command: > git fetch https://github.com/openjdk/skara.git pull/34/head:pull/34 Wow, thanks for digging into this! This is indeed a bug in git, as you probably noticed in my comments. There is also another underflow bug in git when generating combined diffs with zero context (my comment and workaround is right above your fix). I agree with fixing this within the `vcs` module, the `webrev` module should not have to know about this issue. Regarding your little tool, would you want to upstream it? I was thinking something like ```bash $ git transplant --target /path/to/hg/repo ``` (loosely based on `hg transplant`, but with a `--target` flag instead of `--source` flag) PR: http://git.openjdk.java.net/skara/pull/34 From duke at openjdk.java.net Mon Aug 5 14:33:13 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Mon, 5 Aug 2019 14:33:13 GMT Subject: RFR: Fix start of hunk range off-by-one error when parsing range string In-Reply-To: References: Message-ID: On Thu, 1 Aug 2019 19:14:28 GMT, JornVernee via github.com wrote: > I kept running into off-by-one errors in hunk headers when exporting a patch from a git repo, and then importing into a mercurial repo (for pushing, since git repos are currently read-only) > > The problem seems to be that unified diffs report a line number 1 before the modified line if the line count is 0. For instance, if I just remove a few lines from a file, the hunk destination start line is one before the first deleted line. (similarly when only adding lines). > > The problem is that when hunks are then coalesced together, the starting line, and computed line counts are off-by-one as well, and as a result, the generated patch fails to apply. > > I noticed there was already some code dealing with this in HunkCoalescer, but this wasn't catching all the cases. I first made a version that patched the starting line in the missing cases, but it seemed cleaner to try and fix this at the source, i.e. when parsing the Range string from the unified diff. So, that is what I've done in this PR, as well as removing the previous patching code in HunkCoalescer, which was no longer needed. > > If wanted I could also go the other route of patching the starting line in HunkCoalescer in the missing cases (there were 4 of these). > > ---------------- > > Commits: > - 7a093687: Fixed some off-by-one errors caused by unified diff indicating the 'wrong' line when no lines were changes (in source or target) > > Pull request: > http://git.openjdk.java.net/skara/pull/34 > > Webrev: > https://openjdk.github.io/cr/skara/34/webrev.00 > > Patch: > http://git.openjdk.java.net/skara/pull/34.diff > > Fetch command: > git fetch https://github.com/openjdk/skara.git pull/34/head:pull/34 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Thanks, looks great! :clap: PR: http://git.openjdk.java.net/skara/pull/34 From duke at openjdk.java.net Mon Aug 5 14:54:33 2019 From: duke at openjdk.java.net (JornVernee via github.com) Date: Mon, 5 Aug 2019 14:54:33 GMT Subject: RFR: Fix start of hunk range off-by-one error when parsing range string In-Reply-To: References: Message-ID: On Mon, 5 Aug 2019 14:32:33 GMT, Erik Duveblad via github.com wrote: > On Thu, 1 Aug 2019 19:14:28 GMT, JornVernee via github.com wrote: > >> I kept running into off-by-one errors in hunk headers when exporting a patch from a git repo, and then importing into a mercurial repo (for pushing, since git repos are currently read-only) >> >> The problem seems to be that unified diffs report a line number 1 before the modified line if the line count is 0. For instance, if I just remove a few lines from a file, the hunk destination start line is one before the first deleted line. (similarly when only adding lines). >> >> The problem is that when hunks are then coalesced together, the starting line, and computed line counts are off-by-one as well, and as a result, the generated patch fails to apply. >> >> I noticed there was already some code dealing with this in HunkCoalescer, but this wasn't catching all the cases. I first made a version that patched the starting line in the missing cases, but it seemed cleaner to try and fix this at the source, i.e. when parsing the Range string from the unified diff. So, that is what I've done in this PR, as well as removing the previous patching code in HunkCoalescer, which was no longer needed. >> >> If wanted I could also go the other route of patching the starting line in HunkCoalescer in the missing cases (there were 4 of these). >> >> ---------------- >> >> Commits: >> - 7a093687: Fixed some off-by-one errors caused by unified diff indicating the 'wrong' line when no lines were changes (in source or target) >> >> Pull request: >> http://git.openjdk.java.net/skara/pull/34 >> >> Webrev: >> https://openjdk.github.io/cr/skara/34/webrev.00 >> >> Patch: >> http://git.openjdk.java.net/skara/pull/34.diff >> >> Fetch command: >> git fetch https://github.com/openjdk/skara.git pull/34/head:pull/34 > > Wow, thanks for digging into this! This is indeed a bug in git, as you probably noticed in my comments. There is also another underflow bug in git when generating combined diffs with zero context (my comment and workaround is right above your fix). > > I agree with fixing this within the `vcs` module, the `webrev` module should not have to know about this issue. > > Regarding your little tool, would you want to upstream it? I was thinking something like > > ```bash > $ git transplant --target /path/to/hg/repo > ``` > (loosely based on `hg transplant`, but with a `--target` flag instead of `--source` flag) > > PR: http://git.openjdk.java.net/skara/pull/34 > Regarding your little tool, would you want to upstream it? I was thinking something like > > ```shell > $ git transplant --target /path/to/hg/repo > ``` > > (loosely based on `hg transplant`, but with a `--target` flag instead of `--source` flag) Not using a tool for that currently, just exporting a webrev (also used in the review), and then importing the generated `.patch` file with `qimport` & `qpush` in the hg repo. Maybe having a tool would be nice though... PR: http://git.openjdk.java.net/skara/pull/34 From duke at openjdk.java.net Mon Aug 5 16:56:16 2019 From: duke at openjdk.java.net (duke) Date: Mon, 5 Aug 2019 16:56:16 GMT Subject: git: openjdk/skara: Update README.md Message-ID: <035ab5c1-8a31-4c04-bac6-da9c4c3ddbb8@openjdk.java.net> Changeset: 1c8b4883 Author: Joe Darcy Date: 2019-08-05 16:56:06 +0000 URL: http://git.openjdk.java.net/skara/commit/1c8b4883 Update README.md Reviewed-by: ehelin ! README.md From duke at openjdk.java.net Tue Aug 6 16:04:45 2019 From: duke at openjdk.java.net (duke) Date: Tue, 6 Aug 2019 16:04:45 GMT Subject: git: openjdk/skara: Fix start of hunk range off-by-one error when parsing range string Message-ID: Changeset: e8d32c78 Author: Jorn Vernee Committer: Erik Helin Date: 2019-08-06 16:04:33 +0000 URL: http://git.openjdk.java.net/skara/commit/e8d32c78 Fix start of hunk range off-by-one error when parsing range string Reviewed-by: ehelin ! vcs/src/main/java/org/openjdk/skara/vcs/Range.java ! webrev/src/main/java/org/openjdk/skara/webrev/HunkCoalescer.java From duke at openjdk.java.net Wed Aug 7 06:53:01 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Wed, 7 Aug 2019 06:53:01 GMT Subject: RFR: 22: Wrong lines for comments Message-ID: Hi all, Please review the following change that translates the position field in a GitHub review comment into the actual line number, which is expected in our common API. Best regards, Robin ---------------- Commits: - 967bd1b0: Fix position mapping - 01178ecb: wip Pull request: https://git.openjdk.java.net/skara/pull/37 Webrev: https://webrevs.openjdk.java.net/skara/37/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/37.diff Fetch command: git fetch https://github.com/openjdk/skara.git pull/37/head:pull/37 From duke at openjdk.java.net Wed Aug 7 07:40:00 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Wed, 7 Aug 2019 07:40:00 GMT Subject: RFR: Use the web url in the displayed fetch command Message-ID: Hi all, Please review this small change that uses the already-filtered web url instead of the possibly-credentials-containing regular url in the fetch command shown in mails. Best regards, Robin ---------------- Commits: - ed5d6fc3: Use the web url instead as it works fine for fetching as well, and is already correctly filtered Pull request: https://git.openjdk.java.net/skara/pull/38 Webrev: https://webrevs.openjdk.java.net/skara/38/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/38.diff Fetch command: git fetch https://github.com/openjdk/skara.git pull/38/head:pull/38 From duke at openjdk.java.net Wed Aug 7 09:40:54 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Wed, 7 Aug 2019 09:40:54 GMT Subject: RFR: Use the web url in the displayed fetch command In-Reply-To: References: Message-ID: On Wed, 7 Aug 2019 07:40:00 GMT, Robin Westberg via github.com wrote: > Hi all, > > Please review this small change that uses the already-filtered web url instead of the possibly-credentials-containing regular url in the fetch command shown in mails. > > Best regards, > Robin > > ---------------- > > Commits: > - ed5d6fc3: Use the web url instead as it works fine for fetching as well, and is already correctly filtered > > Pull request: > https://git.openjdk.java.net/skara/pull/38 > > Webrev: > https://webrevs.openjdk.java.net/skara/38/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/38.diff > > Fetch command: > git fetch https://github.com/openjdk/skara.git pull/38/head:pull/38 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Looks good, thanks for fixing! PR: https://git.openjdk.java.net/skara/pull/38 From duke at openjdk.java.net Wed Aug 7 09:43:25 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Wed, 7 Aug 2019 09:43:25 GMT Subject: RFR: 22: Wrong lines for comments In-Reply-To: References: Message-ID: On Wed, 7 Aug 2019 06:53:01 GMT, Robin Westberg via github.com wrote: > Hi all, > > Please review the following change that translates the position field in a GitHub review comment into the actual line number, which is expected in our common API. > > Best regards, > Robin > > ---------------- > > Commits: > - 967bd1b0: Fix position mapping > - 01178ecb: wip > > Pull request: > https://git.openjdk.java.net/skara/pull/37 > > Webrev: > https://webrevs.openjdk.java.net/skara/37/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/37.diff > > Fetch command: > git fetch https://github.com/openjdk/skara.git pull/37/head:pull/37 vcs/src/main/java/module-info.java line 4: > 3: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. > 4: * > 5: * This code is free software; you can redistribute it and/or modify it ```suggestion ``` PR: https://git.openjdk.java.net/skara/pull/37 From duke at openjdk.java.net Wed Aug 7 09:45:24 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Wed, 7 Aug 2019 09:45:24 GMT Subject: RFR: 22: Wrong lines for comments In-Reply-To: References: Message-ID: The pull request has been updated with additional changes. ---------------- Added commits: - 4e16904f: Remove unused export Co-Authored-By: Erik Duveblad Pull request: https://git.openjdk.java.net/skara/pull/37 Webrevs: - full: https://webrevs.openjdk.java.net/skara/37/webrev.01 - inc: https://webrevs.openjdk.java.net/skara/37/webrev.00-01 Updated full patch: https://git.openjdk.java.net/skara/pull/37.diff Fetch command: git fetch https://github.com/openjdk/skara.git pull/37/head:pull/37 From duke at openjdk.java.net Wed Aug 7 10:08:06 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Wed, 7 Aug 2019 10:08:06 GMT Subject: RFR: 22: Wrong lines for comments In-Reply-To: References: Message-ID: On Wed, 7 Aug 2019 06:53:01 GMT, Robin Westberg via github.com wrote: > Hi all, > > Please review the following change that translates the position field in a GitHub review comment into the actual line number, which is expected in our common API. > > Best regards, > Robin > > ---------------- > > Commits: > - 967bd1b0: Fix position mapping > - 01178ecb: wip > > Pull request: > https://git.openjdk.java.net/skara/pull/37 > > Webrev: > https://webrevs.openjdk.java.net/skara/37/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/37.diff > > Fetch command: > git fetch https://github.com/openjdk/skara.git pull/37/head:pull/37 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Thanks for taking care of this issue, pretty cumbersome API from GitHub :disappointed: Ship it! PR: https://git.openjdk.java.net/skara/pull/37 From duke at openjdk.java.net Wed Aug 7 10:11:36 2019 From: duke at openjdk.java.net (duke) Date: Wed, 7 Aug 2019 10:11:36 GMT Subject: git: openjdk/skara: 22: Wrong lines for comments Message-ID: Changeset: 26987095 Author: Robin Westberg Date: 2019-08-07 10:11:25 +0000 URL: https://git.openjdk.java.net/skara/commit/26987095 22: Wrong lines for comments Reviewed-by: ehelin ! bots/mlbridge/src/test/java/org/openjdk/skara/bots/mlbridge/MailingListBridgeBotTests.java ! host/src/main/java/org/openjdk/skara/host/github/GitHubPullRequest.java + host/src/main/java/org/openjdk/skara/host/github/PositionMapper.java ! host/src/main/java/org/openjdk/skara/host/network/RestRequest.java From duke at openjdk.java.net Wed Aug 7 10:12:06 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Wed, 7 Aug 2019 10:12:06 GMT Subject: RFR: Use the web url in the displayed fetch command In-Reply-To: References: Message-ID: On Wed, 7 Aug 2019 07:40:00 GMT, Robin Westberg via github.com wrote: > Hi all, > > Please review this small change that uses the already-filtered web url instead of the possibly-credentials-containing regular url in the fetch command shown in mails. > > Best regards, > Robin > > ---------------- > > Commits: > - ed5d6fc3: Use the web url instead as it works fine for fetching as well, and is already correctly filtered > > Pull request: > https://git.openjdk.java.net/skara/pull/38 > > Webrev: > https://webrevs.openjdk.java.net/skara/38/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/38.diff > > Fetch command: > git fetch https://github.com/openjdk/skara.git pull/38/head:pull/38 Thanks for reviewing! PR: https://git.openjdk.java.net/skara/pull/38 From duke at openjdk.java.net Wed Aug 7 10:12:45 2019 From: duke at openjdk.java.net (duke) Date: Wed, 7 Aug 2019 10:12:45 GMT Subject: git: openjdk/skara: Use the web url in the displayed fetch command Message-ID: <8b2190d8-88b2-4bc1-a630-16c90b7f3d21@openjdk.java.net> Changeset: ab9a473b Author: Robin Westberg Date: 2019-08-07 10:12:35 +0000 URL: https://git.openjdk.java.net/skara/commit/ab9a473b Use the web url in the displayed fetch command Reviewed-by: ehelin ! bots/mlbridge/src/main/java/org/openjdk/skara/bots/mlbridge/PullRequestInstance.java From duke at openjdk.java.net Wed Aug 7 10:23:00 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Wed, 7 Aug 2019 10:23:00 GMT Subject: RFR: 50: Fix failing tests after e8d32c78dc Message-ID: Hi all, this patch fixes some test failures after e8d32c78dc was integrated. Turns out there are different bugs in git with regards to unified diffs with zero context :cry: @JornVernee fixed the issues with the regular unified diff printer (when there is exactly one parent), this patch works around the issues with git's combined diff printer. The combined diff printer seems to print _correct_ start for empty hunks as long as the file the hunks belong to isn't added. I also updated a number of tests to take the changes in e8d32c78dc into account. ## Testing - [x] Run `sh gradlew test` on Linux x86-64 ---------------- Commits: - 0914742f: 50: Fix failing tests after e8d32c78dc Pull request: https://git.openjdk.java.net/skara/pull/39 Webrev: https://webrevs.openjdk.java.net/skara/39/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/39.diff Fetch command: git fetch https://github.com/openjdk/skara.git pull/39/head:pull/39 From duke at openjdk.java.net Wed Aug 7 11:13:33 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Wed, 7 Aug 2019 11:13:33 GMT Subject: RFR: 50: Fix failing tests after e8d32c78dc In-Reply-To: References: Message-ID: On Wed, 7 Aug 2019 10:23:00 GMT, Erik Duveblad via github.com wrote: > Hi all, > > this patch fixes some test failures after e8d32c78dc was integrated. Turns out there are different bugs in git with regards to unified diffs with zero context :cry: @JornVernee fixed the issues with the regular unified diff printer (when there is exactly one parent), this patch works around the issues with git's combined diff printer. The combined diff printer seems to print _correct_ start for empty hunks as long as the file the hunks belong to isn't added. > > I also updated a number of tests to take the changes in e8d32c78dc into account. > > ## Testing > - [x] Run `sh gradlew test` on Linux x86-64 > > ---------------- > > Commits: > - 0914742f: 50: Fix failing tests after e8d32c78dc > > Pull request: > https://git.openjdk.java.net/skara/pull/39 > > Webrev: > https://webrevs.openjdk.java.net/skara/39/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/39.diff > > Fetch command: > git fetch https://github.com/openjdk/skara.git pull/39/head:pull/39 This PR has been reviewed by Robin Westberg via github.com - changes are approved. Review comment: Looks good, some minor comment change suggestions (one pre-existing). PR: https://git.openjdk.java.net/skara/pull/39 vcs/src/main/java/org/openjdk/skara/vcs/tools/GitRange.java line 38: > 37: > 38: // Need to work arond a bug in git where git sometimes print -1 > 39: // as an unsigned int for the count part of the range ```suggestion // Need to work around a bug in git where git sometimes print -1 ``` PR: https://git.openjdk.java.net/skara/pull/39 vcs/src/main/java/org/openjdk/skara/vcs/git/GitCombinedDiffParser.java line 17: > 16: * 2 along with this work; if not, write to the Free Software Foundation, > 17: * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. > 18: * ```suggestion // always have range (0,0), but git reports (1,0) ``` PR: https://git.openjdk.java.net/skara/pull/39 From duke at openjdk.java.net Wed Aug 7 11:39:38 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Wed, 7 Aug 2019 11:39:38 GMT Subject: RFR: 50: Fix failing tests after e8d32c78dc In-Reply-To: References: Message-ID: On Wed, 7 Aug 2019 10:23:00 GMT, Erik Duveblad via github.com wrote: > Hi all, > > this patch fixes some test failures after e8d32c78dc was integrated. Turns out there are different bugs in git with regards to unified diffs with zero context :cry: @JornVernee fixed the issues with the regular unified diff printer (when there is exactly one parent), this patch works around the issues with git's combined diff printer. The combined diff printer seems to print _correct_ start for empty hunks as long as the file the hunks belong to isn't added. > > I also updated a number of tests to take the changes in e8d32c78dc into account. > > ## Testing > - [x] Run `sh gradlew test` on Linux x86-64 > > ---------------- > > Commits: > - 0914742f: 50: Fix failing tests after e8d32c78dc > > Pull request: > https://git.openjdk.java.net/skara/pull/39 > > Webrev: > https://webrevs.openjdk.java.net/skara/39/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/39.diff > > Fetch command: > git fetch https://github.com/openjdk/skara.git pull/39/head:pull/39 Thanks @rwestberg for the comments! PR: https://git.openjdk.java.net/skara/pull/39 From duke at openjdk.java.net Wed Aug 7 11:39:37 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Wed, 7 Aug 2019 11:39:37 GMT Subject: RFR: 50: Fix failing tests after e8d32c78dc In-Reply-To: References: Message-ID: The pull request has been updated with additional changes. ---------------- Added commits: - c8fca3b2: Incorporate suggestions from Robin Co-Authored-By: Robin Westberg Pull request: https://git.openjdk.java.net/skara/pull/39 Webrevs: - full: https://webrevs.openjdk.java.net/skara/39/webrev.01 - inc: https://webrevs.openjdk.java.net/skara/39/webrev.00-01 Updated full patch: https://git.openjdk.java.net/skara/pull/39.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/39/head:pull/39 From duke at openjdk.java.net Wed Aug 7 11:40:51 2019 From: duke at openjdk.java.net (duke) Date: Wed, 7 Aug 2019 11:40:51 GMT Subject: git: openjdk/skara: 50: Fix failing tests after e8d32c78dc Message-ID: <67198ea5-6ae1-415f-97ae-a15234e67d4c@openjdk.java.net> Changeset: 8b41fd7f Author: Erik Helin Date: 2019-08-07 11:40:40 +0000 URL: https://git.openjdk.java.net/skara/commit/8b41fd7f 50: Fix failing tests after e8d32c78dc Reviewed-by: rwestberg ! vcs/src/main/java/org/openjdk/skara/vcs/Range.java ! vcs/src/main/java/org/openjdk/skara/vcs/git/GitCombinedDiffParser.java + vcs/src/main/java/org/openjdk/skara/vcs/tools/GitRange.java ! vcs/src/main/java/org/openjdk/skara/vcs/tools/UnifiedDiffParser.java ! vcs/src/test/java/org/openjdk/skara/vcs/RepositoryTests.java From duke at openjdk.java.net Wed Aug 7 11:59:56 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Wed, 7 Aug 2019 11:59:56 GMT Subject: RFR: 49: Add forwarder bot Message-ID: Hi all, this patch adds a "forwarder" bot that can forward commits between repositories and or branches. This is useful for e.g. a sandbox use-case where we want to forwards commits from jdk:master to e.g. sandbox:master. # Testing - [x] Run `sh gradlew test` on Linux x86-64 - [x] Added two new unit tests for the bot I also did some manual testing of the bots to ensure it successfully forwarded commits between two remote repositories. ---------------- Commits: - 04f1d351: 49: Add forwarder bot Pull request: https://git.openjdk.java.net/skara/pull/40 Webrev: https://webrevs.openjdk.java.net/skara/40/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/40.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/40/head:pull/40 From duke at openjdk.java.net Wed Aug 7 12:17:59 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Wed, 7 Aug 2019 12:17:59 GMT Subject: RFR: 49: Add forwarder bot In-Reply-To: References: Message-ID: On Wed, 7 Aug 2019 11:59:56 GMT, Erik Duveblad via github.com wrote: > Hi all, > > this patch adds a "forwarder" bot that can forward commits between repositories and or branches. This is useful for e.g. a sandbox use-case where we want to forwards commits from jdk:master to e.g. sandbox:master. > > # Testing > - [x] Run `sh gradlew test` on Linux x86-64 > - [x] Added two new unit tests for the bot > > I also did some manual testing of the bots to ensure it successfully forwarded commits between two remote repositories. > > ---------------- > > Commits: > - 04f1d351: 49: Add forwarder bot > > Pull request: > https://git.openjdk.java.net/skara/pull/40 > > Webrev: > https://webrevs.openjdk.java.net/skara/40/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/40.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/40/head:pull/40 bots/forward/src/main/java/org/openjdk/skara/bots/forward/ForwardBot.java line 69: > 68: URLEncoder.encode(toHostedRepo.getUrl().toString(), StandardCharsets.UTF_8); > 69: var toDir = scratchPath.resolve("forward").resolve(sanitizedUrl); > 70: Repository toLocalRepo = null; Perhaps it would be better to use permanent storage here (like the hgbridge) to avoid excessive copies when running concurrently. PR: https://git.openjdk.java.net/skara/pull/40 From duke at openjdk.java.net Wed Aug 7 14:14:19 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Wed, 7 Aug 2019 14:14:19 GMT Subject: RFR: 49: Add forwarder bot In-Reply-To: References: Message-ID: The pull request has been updated with additional changes. ---------------- Added commits: - bd25de8d: Use shared storage for forwarder bot Pull request: https://git.openjdk.java.net/skara/pull/40 Webrevs: - full: https://webrevs.openjdk.java.net/skara/40/webrev.01 - inc: https://webrevs.openjdk.java.net/skara/40/webrev.00-01 Updated full patch: https://git.openjdk.java.net/skara/pull/40.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/40/head:pull/40 From duke at openjdk.java.net Wed Aug 7 14:15:42 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Wed, 7 Aug 2019 14:15:42 GMT Subject: RFR: 49: Add forwarder bot In-Reply-To: References: Message-ID: On Wed, 7 Aug 2019 12:17:59 GMT, Robin Westberg via github.com wrote: > On Wed, 7 Aug 2019 11:59:56 GMT, Erik Duveblad via github.com wrote: > >> Hi all, >> >> this patch adds a "forwarder" bot that can forward commits between repositories and or branches. This is useful for e.g. a sandbox use-case where we want to forwards commits from jdk:master to e.g. sandbox:master. >> >> # Testing >> - [x] Run `sh gradlew test` on Linux x86-64 >> - [x] Added two new unit tests for the bot >> >> I also did some manual testing of the bots to ensure it successfully forwarded commits between two remote repositories. >> >> ---------------- >> >> Commits: >> - 04f1d351: 49: Add forwarder bot >> >> Pull request: >> https://git.openjdk.java.net/skara/pull/40 >> >> Webrev: >> https://webrevs.openjdk.java.net/skara/40/webrev.00 >> >> Patch: >> https://git.openjdk.java.net/skara/pull/40.diff >> >> Fetch command: >> git fetch https://git.openjdk.java.net/skara pull/40/head:pull/40 > > bots/forward/src/main/java/org/openjdk/skara/bots/forward/ForwardBot.java line 69: > >> 68: URLEncoder.encode(toHostedRepo.getUrl().toString(), StandardCharsets.UTF_8); >> 69: var toDir = scratchPath.resolve("forward").resolve(sanitizedUrl); >> 70: Repository toLocalRepo = null; > > Perhaps it would be better to use permanent storage here (like the hgbridge) to avoid excessive copies when running concurrently. > > PR: https://git.openjdk.java.net/skara/pull/40 Good idea, I pushed a new commit that utilizes shared storage instead. PR: https://git.openjdk.java.net/skara/pull/40 From duke at openjdk.java.net Wed Aug 7 14:17:49 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Wed, 7 Aug 2019 14:17:49 GMT Subject: RFR: 49: Add forwarder bot In-Reply-To: References: Message-ID: On Wed, 7 Aug 2019 11:59:56 GMT, Erik Duveblad via github.com wrote: > Hi all, > > this patch adds a "forwarder" bot that can forward commits between repositories and or branches. This is useful for e.g. a sandbox use-case where we want to forwards commits from jdk:master to e.g. sandbox:master. > > # Testing > - [x] Run `sh gradlew test` on Linux x86-64 > - [x] Added two new unit tests for the bot > > I also did some manual testing of the bots to ensure it successfully forwarded commits between two remote repositories. > > ---------------- > > Commits: > - 04f1d351: 49: Add forwarder bot > > Pull request: > https://git.openjdk.java.net/skara/pull/40 > > Webrev: > https://webrevs.openjdk.java.net/skara/40/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/40.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/40/head:pull/40 This PR has been reviewed by Robin Westberg via github.com - changes are approved. Review comment: Looks good! PR: https://git.openjdk.java.net/skara/pull/40 From duke at openjdk.java.net Fri Aug 9 12:58:40 2019 From: duke at openjdk.java.net (duke) Date: Fri, 9 Aug 2019 12:58:40 GMT Subject: git: openjdk/skara: 49: Add forwarder bot Message-ID: Changeset: 3c5c3d89 Author: Erik Helin Date: 2019-08-09 12:58:30 +0000 URL: https://git.openjdk.java.net/skara/commit/3c5c3d89 49: Add forwarder bot Reviewed-by: rwestberg ! bots/cli/build.gradle + bots/forward/build.gradle + bots/forward/src/main/java/module-info.java + bots/forward/src/main/java/org/openjdk/skara/bots/forward/ForwardBot.java + bots/forward/src/main/java/org/openjdk/skara/bots/forward/ForwardBotFactory.java + bots/forward/src/test/java/org/openjdk/skara/bots/forward/ForwardBotTests.java ! settings.gradle ! test/src/main/java/org/openjdk/skara/test/TestHost.java ! test/src/main/java/org/openjdk/skara/test/TestHostedRepository.java ! vcs/src/main/java/org/openjdk/skara/vcs/Repository.java ! vcs/src/main/java/org/openjdk/skara/vcs/git/GitRepository.java ! vcs/src/main/java/org/openjdk/skara/vcs/hg/HgRepository.java From duke at openjdk.java.net Wed Aug 14 07:04:55 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Wed, 14 Aug 2019 07:04:55 GMT Subject: RFR: 54: Add a mirror bot Message-ID: <4nj-iwtNmL7il1cCuweoDYrO4IDEI4k0JcCpvlF6cWI=.29c59a00-6537-47ef-8c62-382ebd75c4c7@github.com> Hi all, this patch adds a bot that can mirror two repositories, including multiple branches and multiple tags (in contrast to the forwarder bot that only forwards between two branches). # Testing - [x] `sh gradlew test` passes - [x] Added four new unit tests to test the mirror bot ---------------- Commits: - 9f1b7a26: 54: Add a mirror bot Pull request: https://git.openjdk.java.net/skara/pull/41 Webrev: https://webrevs.openjdk.java.net/skara/41/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/41.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/41/head:pull/41 From duke at openjdk.java.net Wed Aug 14 07:12:50 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Wed, 14 Aug 2019 07:12:50 GMT Subject: RFR: 54: Add a mirror bot In-Reply-To: <4nj-iwtNmL7il1cCuweoDYrO4IDEI4k0JcCpvlF6cWI=.29c59a00-6537-47ef-8c62-382ebd75c4c7@github.com> References: <4nj-iwtNmL7il1cCuweoDYrO4IDEI4k0JcCpvlF6cWI=.29c59a00-6537-47ef-8c62-382ebd75c4c7@github.com> Message-ID: On Wed, 14 Aug 2019 07:04:55 GMT, Erik Duveblad via github.com wrote: > Hi all, > > this patch adds a bot that can mirror two repositories, including multiple branches and multiple tags (in contrast to the forwarder bot that only forwards between two branches). > > # Testing > - [x] `sh gradlew test` passes > - [x] Added four new unit tests to test the mirror bot > > ---------------- > > Commits: > - 9f1b7a26: 54: Add a mirror bot > > Pull request: > https://git.openjdk.java.net/skara/pull/41 > > Webrev: > https://webrevs.openjdk.java.net/skara/41/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/41.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/41/head:pull/41 This PR has been reviewed by Robin Westberg via github.com - changes are approved. Review comment: Looks good! PR: https://git.openjdk.java.net/skara/pull/41 From duke at openjdk.java.net Wed Aug 14 07:29:20 2019 From: duke at openjdk.java.net (duke) Date: Wed, 14 Aug 2019 07:29:20 GMT Subject: git: openjdk/skara: 54: Add a mirror bot Message-ID: <62253505-26fb-431a-9364-5f601e51561d@openjdk.java.net> Changeset: fbddc6fe Author: Erik Helin Date: 2019-08-14 07:29:10 +0000 URL: https://git.openjdk.java.net/skara/commit/fbddc6fe 54: Add a mirror bot Reviewed-by: rwestberg ! bots/forward/src/test/java/org/openjdk/skara/bots/forward/ForwardBotTests.java + bots/mirror/build.gradle + bots/mirror/src/main/java/module-info.java + bots/mirror/src/main/java/org/openjdk/skara/bots/mirror/MirrorBot.java + bots/mirror/src/main/java/org/openjdk/skara/bots/mirror/MirrorBotFactory.java + bots/mirror/src/test/java/org/openjdk/skara/bots/mirror/MirrorBotTests.java ! settings.gradle ! vcs/src/main/java/org/openjdk/skara/vcs/Repository.java ! vcs/src/main/java/org/openjdk/skara/vcs/git/GitRepository.java ! vcs/src/main/java/org/openjdk/skara/vcs/hg/HgRepository.java From duke at openjdk.java.net Wed Aug 14 07:56:54 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Wed, 14 Aug 2019 07:56:54 GMT Subject: RFR: 55: Reduce disk usage for notify bot Message-ID: Hi all, Please review this change that decreases the disk usage for the notifier bot. Best regards, Robin ---------------- Commits: - 75db5502: Use storage for materializing repos, avoid checkouts Pull request: https://git.openjdk.java.net/skara/pull/42 Webrev: https://webrevs.openjdk.java.net/skara/42/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/42.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/42/head:pull/42 From duke at openjdk.java.net Wed Aug 14 08:42:55 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Wed, 14 Aug 2019 08:42:55 GMT Subject: RFR: Improve testing of GitHub PositionMapper Message-ID: Hi all, Please review this test of the GitHub PositionMapper (which also found an off-by-one bug). Best regards, Robin ---------------- Commits: - 760fd776: Improve testing of GitHub PositionMapper Pull request: https://git.openjdk.java.net/skara/pull/43 Webrev: https://webrevs.openjdk.java.net/skara/43/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/43.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/43/head:pull/43 From duke at openjdk.java.net Wed Aug 14 09:14:38 2019 From: duke at openjdk.java.net (Marcus Hirt via github.com) Date: Wed, 14 Aug 2019 09:14:38 GMT Subject: RFR: Adding project explanation In-Reply-To: References: Message-ID: The pull request has been updated with additional changes. ---------------- Added commits: - b77b8906: Update README.md Co-Authored-By: Erik Duveblad Pull request: https://git.openjdk.java.net/skara/pull/16 Webrevs: - full: https://webrevs.openjdk.java.net/skara/16/webrev.02 - inc: https://webrevs.openjdk.java.net/skara/16/webrev.01-02 Updated full patch: https://git.openjdk.java.net/skara/pull/16.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/16/head:pull/16 From duke at openjdk.java.net Wed Aug 14 11:53:09 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Wed, 14 Aug 2019 11:53:09 GMT Subject: RFR: 55: Reduce disk usage for notify bot In-Reply-To: References: Message-ID: <4r2hxx83Iv0jLdoBdIC5Rw3mshyY_tVAecPFJ0OLNUU=.c81372dc-3aaf-4d3c-b729-b83caea9e89d@github.com> On Wed, 14 Aug 2019 07:56:54 GMT, Robin Westberg via github.com wrote: > Hi all, > > Please review this change that decreases the disk usage for the notifier bot. > > Best regards, > Robin > > ---------------- > > Commits: > - 75db5502: Use storage for materializing repos, avoid checkouts > > Pull request: > https://git.openjdk.java.net/skara/pull/42 > > Webrev: > https://webrevs.openjdk.java.net/skara/42/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/42.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/42/head:pull/42 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Looks good! PR: https://git.openjdk.java.net/skara/pull/42 From duke at openjdk.java.net Wed Aug 14 15:20:49 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Wed, 14 Aug 2019 15:20:49 GMT Subject: RFR: Improve testing of GitHub PositionMapper In-Reply-To: References: Message-ID: On Wed, 14 Aug 2019 08:42:55 GMT, Robin Westberg via github.com wrote: > Hi all, > > Please review this test of the GitHub PositionMapper (which also found an off-by-one bug). > > Best regards, > Robin > > ---------------- > > Commits: > - 760fd776: Improve testing of GitHub PositionMapper > > Pull request: > https://git.openjdk.java.net/skara/pull/43 > > Webrev: > https://webrevs.openjdk.java.net/skara/43/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/43.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/43/head:pull/43 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Looks good! PR: https://git.openjdk.java.net/skara/pull/43 From johan at lodgon.com Wed Aug 14 19:57:44 2019 From: johan at lodgon.com (Johan Vos) Date: Wed, 14 Aug 2019 21:57:44 +0200 Subject: Location for repository? Message-ID: Hi, As discussed on the OpenJDK Mobile mailinglist [1] I would like to use a repository that leverage the Skara tools for doing the mobile-specific work in OpenJDK. Previously, we had repositories on hg.openjdk.java.net [2] which occasionally pulled in changesets from jdk/jdk. The idea now is to use an always-synchronized fork of the jdk for openjdk-mobile, where we can use the Skara tools for development. The goal is to have as many changes as possible going upstream to jdk (hence making them not mobile-specific). What would be the policy for the location for such repository? We were on hg.openjdk.java.net in the past, so somehow aligned with https://github.com/openjdk would be great. I see a number of other OpenJDK projects there, so it seems to be a good rule? For now, I created a fork of openjdk/jdk at https://github.com/mobileopenjdk/jdk which I rebase regularly. This could be replaced by a skara bot probably. Thanks, - Johan [1] https://mail.openjdk.java.net/pipermail/mobile-dev/2019-June/000584.html [2] http://hg.openjdk.java.net/mobile From erik.helin at oracle.com Thu Aug 15 09:54:33 2019 From: erik.helin at oracle.com (Erik Helin) Date: Thu, 15 Aug 2019 11:54:33 +0200 Subject: Location for repository? In-Reply-To: References: Message-ID: <3c71cbce-3885-96af-db19-fe017d84b432@oracle.com> On 8/14/19 9:57 PM, Johan Vos wrote: > Hi, Hi Johan, thanks for reaching out. > As discussed on the OpenJDK Mobile mailinglist [1] I would like to use a > repository that leverage the Skara tools for doing the mobile-specific work > in OpenJDK. Previously, we had repositories on hg.openjdk.java.net [2] > which occasionally pulled in changesets from jdk/jdk. > > The idea now is to use an always-synchronized fork of the jdk for > openjdk-mobile, where we can use the Skara tools for development. The goal > is to have as many changes as possible going upstream to jdk (hence making > them not mobile-specific). Ok, sounds like a good plan. > What would be the policy for the location for such repository? We were on > hg.openjdk.java.net in the past, so somehow aligned with > https://github.com/openjdk would be great. I see a number of other OpenJDK > projects there, so it seems to be a good rule? Yes, since mobile is an official OpenJDK project [3], we'd be more than happy to provide you with a repository at https://git.openjdk.java.net/mobile (which will redirect to https://github.com/openjdk/mobile). > For now, I created a fork of openjdk/jdk at > https://github.com/mobileopenjdk/jdk which I rebase regularly. This could > be replaced by a skara bot probably. Yes, we have bots for syncing between repositories and/or branches, depending a little bit on your needs. Please contact me and Robin privately and we can work out the details. Thanks! Erik > Thanks, > > - Johan > > [1] https://mail.openjdk.java.net/pipermail/mobile-dev/2019-June/000584.html > [2] http://hg.openjdk.java.net/mobile [3]: https://openjdk.java.net/projects/mobile/ From duke at openjdk.java.net Thu Aug 15 13:16:28 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Thu, 15 Aug 2019 13:16:28 GMT Subject: RFR: 57: The hgbridge should push marks to a configurable repository Message-ID: Hi all, Please review the following change that enables the hgbridge bot to push the marks generated during conversion to a separate repository. Best regards, Robin ---------------- Commits: - b92b579d: Push marks file to a repository Pull request: https://git.openjdk.java.net/skara/pull/44 Webrev: https://webrevs.openjdk.java.net/skara/44/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/44.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/44/head:pull/44 From duke at openjdk.java.net Thu Aug 15 13:50:58 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 15 Aug 2019 13:50:58 GMT Subject: RFR: 57: The hgbridge should push marks to a configurable repository In-Reply-To: References: Message-ID: On Thu, 15 Aug 2019 13:16:28 GMT, Robin Westberg via github.com wrote: > Hi all, > > Please review the following change that enables the hgbridge bot to push the marks generated during conversion to a separate repository. > > Best regards, > Robin > > ---------------- > > Commits: > - b92b579d: Push marks file to a repository > > Pull request: > https://git.openjdk.java.net/skara/pull/44 > > Webrev: > https://webrevs.openjdk.java.net/skara/44/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/44.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/44/head:pull/44 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Thanks for taking care of this, looks good! PR: https://git.openjdk.java.net/skara/pull/44 From duke at openjdk.java.net Thu Aug 15 14:13:33 2019 From: duke at openjdk.java.net (duke) Date: Thu, 15 Aug 2019 14:13:33 GMT Subject: git: openjdk/skara: 55: Reduce disk usage for notify bot Message-ID: Changeset: d4ab5fdc Author: Robin Westberg Date: 2019-08-15 13:52:35 +0000 URL: https://git.openjdk.java.net/skara/commit/d4ab5fdc 55: Reduce disk usage for notify bot Reviewed-by: ehelin ! bots/notify/src/main/java/org/openjdk/skara/bots/notify/JNotifyBot.java ! bots/notify/src/main/java/org/openjdk/skara/bots/notify/JNotifyBotFactory.java ! bots/notify/src/test/java/org/openjdk/skara/bots/notify/UpdaterTests.java ! vcs/src/main/java/org/openjdk/skara/vcs/Repository.java From duke at openjdk.java.net Fri Aug 16 05:39:53 2019 From: duke at openjdk.java.net (duke) Date: Fri, 16 Aug 2019 05:39:53 GMT Subject: git: openjdk/skara: Improve testing of GitHub PositionMapper Message-ID: <3a385acc-4d6a-4d61-8512-06d4a5dc25ab@openjdk.java.net> Changeset: 39f574e2 Author: Robin Westberg Date: 2019-08-16 05:39:04 +0000 URL: https://git.openjdk.java.net/skara/commit/39f574e2 Improve testing of GitHub PositionMapper Reviewed-by: ehelin ! host/src/main/java/org/openjdk/skara/host/github/PositionMapper.java + host/src/test/java/org/openjdk/skara/host/github/PositionMapperTests.java From duke at openjdk.java.net Fri Aug 16 05:40:54 2019 From: duke at openjdk.java.net (duke) Date: Fri, 16 Aug 2019 05:40:54 GMT Subject: git: openjdk/skara: 57: The hgbridge should push marks to a configurable repository Message-ID: <02a5a3f3-ed82-4da9-86bc-abc8df6823e8@openjdk.java.net> Changeset: 71b944dd Author: Robin Westberg Date: 2019-08-16 05:40:04 +0000 URL: https://git.openjdk.java.net/skara/commit/71b944dd 57: The hgbridge should push marks to a configurable repository Reviewed-by: ehelin ! bots/hgbridge/src/main/java/org/openjdk/skara/bots/hgbridge/Exporter.java ! bots/hgbridge/src/main/java/org/openjdk/skara/bots/hgbridge/ExporterConfig.java ! bots/hgbridge/src/main/java/org/openjdk/skara/bots/hgbridge/JBridgeBot.java ! bots/hgbridge/src/main/java/org/openjdk/skara/bots/hgbridge/JBridgeBotFactory.java ! bots/hgbridge/src/test/java/org/openjdk/skara/bots/hgbridge/BridgeBotTests.java ! vcs/src/main/java/org/openjdk/skara/vcs/openjdk/convert/HgToGitConverter.java From duke at openjdk.java.net Fri Aug 16 05:58:49 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Fri, 16 Aug 2019 05:58:49 GMT Subject: RFR: 58: Add mirror and forward bots to skara-bots CLI image Message-ID: HI all, when I added the `mirror` and `forward` bots I forgot to add them to the bots CLI image (sigh). This is now fixed in this patch. # Testing - [x] Ensured `mirror` and `forward` bots are present in `skara-bots --list-bots` output ---------------- Commits: - 21e88598: 58: Add mirror and forward bots to skara-bots CLI image Pull request: https://git.openjdk.java.net/skara/pull/45 Webrev: https://webrevs.openjdk.java.net/skara/45/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/45.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/45/head:pull/45 From duke at openjdk.java.net Fri Aug 16 06:01:11 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Fri, 16 Aug 2019 06:01:11 GMT Subject: RFR: 58: Add mirror and forward bots to skara-bots CLI image In-Reply-To: References: Message-ID: On Fri, 16 Aug 2019 05:58:49 GMT, Erik Duveblad via github.com wrote: > HI all, > > when I added the `mirror` and `forward` bots I forgot to add them to the bots CLI image (sigh). This is now fixed in this patch. > > # Testing > - [x] Ensured `mirror` and `forward` bots are present in `skara-bots --list-bots` output > > ---------------- > > Commits: > - 21e88598: 58: Add mirror and forward bots to skara-bots CLI image > > Pull request: > https://git.openjdk.java.net/skara/pull/45 > > Webrev: > https://webrevs.openjdk.java.net/skara/45/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/45.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/45/head:pull/45 This PR has been reviewed by Robin Westberg via github.com - changes are approved. Review comment: PR: https://git.openjdk.java.net/skara/pull/45 From duke at openjdk.java.net Fri Aug 16 07:36:44 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Fri, 16 Aug 2019 07:36:44 GMT Subject: RFR: 59: Implement summary command Message-ID: <8fdx0q2oIk93oXcwXqyN3re_JZcZXr14ZpptElmSrfg=.7adf3a14-e0b7-4b9d-a98a-64564e217fd1@github.com> Hi all, Please review this change that implements the possibility to add a summary to a commit message. Best regards, Robin ---------------- Commits: - 275c8ea3: Implement a summary command Pull request: https://git.openjdk.java.net/skara/pull/46 Webrev: https://webrevs.openjdk.java.net/skara/46/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/46.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/46/head:pull/46 From duke at openjdk.java.net Fri Aug 16 07:36:54 2019 From: duke at openjdk.java.net (duke) Date: Fri, 16 Aug 2019 07:36:54 GMT Subject: git: openjdk/skara: 58: Add mirror and forward bots to skara-bots CLI image Message-ID: <724f6029-3294-4bfd-9f08-b3641d599a89@openjdk.java.net> Changeset: 9325c74c Author: Erik Helin Date: 2019-08-16 07:36:37 +0000 URL: https://git.openjdk.java.net/skara/commit/9325c74c 58: Add mirror and forward bots to skara-bots CLI image Reviewed-by: rwestberg ! bots/cli/build.gradle From duke at openjdk.java.net Fri Aug 16 07:39:16 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Fri, 16 Aug 2019 07:39:16 GMT Subject: RFR: Adding project explanation In-Reply-To: <-MuST5mONgBhLsT7eHFFxfcAKD4UfHXIaFVGSPw-qC4=.ff125f4f-5209-47dd-b30b-d93332f5e3eb@github.com> References: <-MuST5mONgBhLsT7eHFFxfcAKD4UfHXIaFVGSPw-qC4=.ff125f4f-5209-47dd-b30b-d93332f5e3eb@github.com> Message-ID: On Mon, 1 Jul 2019 22:11:21 GMT, Marcus Hirt via github.com wrote: > On Mon, 1 Jul 2019 14:14:24 GMT, Marcus Hirt via github.com wrote: > >> On Mon, 1 Jul 2019 13:38:23 GMT, Erik Duveblad via github.com wrote: >> >>> On Mon, 1 Jul 2019 10:58:54 GMT, Marcus Hirt via github.com wrote: >>> >>>> ...as suggested in the Twitter discussion. :) >>>> >>>> ---------------- >>>> >>>> Commits: >>>> - 4578553b: Adding project explanation >>>> >>>> Pull request: >>>> http://git.openjdk.java.net/skara/pull/16 >>>> >>>> Webrev: >>>> https://openjdk.github.io/cr/skara/16/webrev.00 >>>> >>>> Patch: >>>> http://git.openjdk.java.net/skara/pull/16.diff >>>> >>>> Fetch command: >>>> git fetch https://github.com/openjdk/skara.git 4578553b:pr/16 >>> >>> :tada: :rofl: >> >> That's a great band name right there - Indecisive Bots! > > Here is the twitter discussion: > https://twitter.com/emilianbold/status/1143175227616239618?s=21 Thanks Marcus, the change looks good, but if you want to add me as contributor you need to use the `/contributor` command in a comment to list me as co-author: ``` /contributor add Erik Duveblad ``` PR: https://git.openjdk.java.net/skara/pull/16 From duke at openjdk.java.net Fri Aug 16 07:51:48 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Fri, 16 Aug 2019 07:51:48 GMT Subject: RFR: Adding project explanation In-Reply-To: References: <-MuST5mONgBhLsT7eHFFxfcAKD4UfHXIaFVGSPw-qC4=.ff125f4f-5209-47dd-b30b-d93332f5e3eb@github.com> Message-ID: <4azhar5HlRDUGPSWwYkUWJj1z5l83tngEsmdyN0AaZs=.ea895474-4c49-45b8-9f2a-52f0b62285c5@github.com> On Fri, 16 Aug 2019 07:39:16 GMT, Erik Duveblad via github.com wrote: > On Mon, 1 Jul 2019 22:11:21 GMT, Marcus Hirt via github.com wrote: > >> On Mon, 1 Jul 2019 14:14:24 GMT, Marcus Hirt via github.com wrote: >> >>> On Mon, 1 Jul 2019 13:38:23 GMT, Erik Duveblad via github.com wrote: >>> >>>> On Mon, 1 Jul 2019 10:58:54 GMT, Marcus Hirt via github.com wrote: >>>> >>>>> ...as suggested in the Twitter discussion. :) >>>>> >>>>> ---------------- >>>>> >>>>> Commits: >>>>> - 4578553b: Adding project explanation >>>>> >>>>> Pull request: >>>>> http://git.openjdk.java.net/skara/pull/16 >>>>> >>>>> Webrev: >>>>> https://openjdk.github.io/cr/skara/16/webrev.00 >>>>> >>>>> Patch: >>>>> http://git.openjdk.java.net/skara/pull/16.diff >>>>> >>>>> Fetch command: >>>>> git fetch https://github.com/openjdk/skara.git 4578553b:pr/16 >>>> >>>> :tada: :rofl: >>> >>> That's a great band name right there - Indecisive Bots! >> >> Here is the twitter discussion: >> https://twitter.com/emilianbold/status/1143175227616239618?s=21 > > Thanks Marcus, the change looks good, but if you want to add me as contributor you need to use the `/contributor` command in a comment to list me as co-author: > > ``` > /contributor add Erik Duveblad > ``` > > PR: https://git.openjdk.java.net/skara/pull/16 Heh, I now realized (thanks to Robin) that you just incorporated my suggestion and that GitHub then automatically added me as co-author :smiley: _If_ you want to add me as co-author then you have to do as I described above, but I'm fine if you want to be sole author :smile_cat: PR: https://git.openjdk.java.net/skara/pull/16 From duke at openjdk.java.net Fri Aug 16 07:53:28 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Fri, 16 Aug 2019 07:53:28 GMT Subject: RFR: 59: Implement summary command In-Reply-To: <8fdx0q2oIk93oXcwXqyN3re_JZcZXr14ZpptElmSrfg=.7adf3a14-e0b7-4b9d-a98a-64564e217fd1@github.com> References: <8fdx0q2oIk93oXcwXqyN3re_JZcZXr14ZpptElmSrfg=.7adf3a14-e0b7-4b9d-a98a-64564e217fd1@github.com> Message-ID: On Fri, 16 Aug 2019 07:36:44 GMT, Robin Westberg via github.com wrote: > Hi all, > > Please review this change that implements the possibility to add a summary to a commit message. > > Best regards, > Robin > > ---------------- > > Commits: > - 275c8ea3: Implement a summary command > > Pull request: > https://git.openjdk.java.net/skara/pull/46 > > Webrev: > https://webrevs.openjdk.java.net/skara/46/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/46.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/46/head:pull/46 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Looks good, thanks for fixing! PR: https://git.openjdk.java.net/skara/pull/46 From duke at openjdk.java.net Fri Aug 16 07:55:54 2019 From: duke at openjdk.java.net (duke) Date: Fri, 16 Aug 2019 07:55:54 GMT Subject: git: openjdk/skara: 59: Implement summary command Message-ID: Changeset: 9d206dd4 Author: Robin Westberg Date: 2019-08-16 07:55:06 +0000 URL: https://git.openjdk.java.net/skara/commit/9d206dd4 59: Implement summary command Reviewed-by: ehelin ! bots/pr/src/main/java/org/openjdk/skara/bots/pr/CommandWorkItem.java ! bots/pr/src/main/java/org/openjdk/skara/bots/pr/PullRequestInstance.java + bots/pr/src/main/java/org/openjdk/skara/bots/pr/Summary.java + bots/pr/src/main/java/org/openjdk/skara/bots/pr/SummaryCommand.java + bots/pr/src/test/java/org/openjdk/skara/bots/pr/SummaryTests.java From duke at openjdk.java.net Fri Aug 16 08:43:52 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Fri, 16 Aug 2019 08:43:52 GMT Subject: RFR: Fix implementation of addremove Message-ID: Hi, this patch fix the implementation of `Repository::addremove` to use the proper underlying VCS primitives. # Testing - [x] `sh gradlew test` passes on Linux x86_64 ---------------- Commits: - e3631353: Fix implementation of addremove Pull request: https://git.openjdk.java.net/skara/pull/47 Webrev: https://webrevs.openjdk.java.net/skara/47/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/47.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/47/head:pull/47 From duke at openjdk.java.net Fri Aug 16 08:45:24 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Fri, 16 Aug 2019 08:45:24 GMT Subject: RFR: Fix implementation of addremove In-Reply-To: References: Message-ID: On Fri, 16 Aug 2019 08:43:52 GMT, Erik Duveblad via github.com wrote: > Hi, > > this patch fix the implementation of `Repository::addremove` to use the proper underlying VCS primitives. > > # Testing > - [x] `sh gradlew test` passes on Linux x86_64 > > ---------------- > > Commits: > - e3631353: Fix implementation of addremove > > Pull request: > https://git.openjdk.java.net/skara/pull/47 > > Webrev: > https://webrevs.openjdk.java.net/skara/47/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/47.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/47/head:pull/47 This PR has been reviewed by Robin Westberg via github.com - changes are approved. Review comment: Looks good! PR: https://git.openjdk.java.net/skara/pull/47 From duke at openjdk.java.net Fri Aug 16 08:53:56 2019 From: duke at openjdk.java.net (duke) Date: Fri, 16 Aug 2019 08:53:56 GMT Subject: git: openjdk/skara: Fix implementation of addremove Message-ID: <4451acd4-133d-4de0-97c2-de17e930d56e@openjdk.java.net> Changeset: b3d4d7cd Author: Erik Helin Date: 2019-08-16 08:52:50 +0000 URL: https://git.openjdk.java.net/skara/commit/b3d4d7cd Fix implementation of addremove Reviewed-by: rwestberg ! bots/mlbridge/src/main/java/org/openjdk/skara/bots/mlbridge/ArchiveWorkItem.java ! vcs/src/main/java/org/openjdk/skara/vcs/Repository.java ! vcs/src/main/java/org/openjdk/skara/vcs/git/GitRepository.java ! vcs/src/main/java/org/openjdk/skara/vcs/hg/HgRepository.java From duke at openjdk.java.net Fri Aug 16 09:02:20 2019 From: duke at openjdk.java.net (Marcus Hirt via github.com) Date: Fri, 16 Aug 2019 09:02:20 GMT Subject: RFR: Adding project explanation In-Reply-To: <4azhar5HlRDUGPSWwYkUWJj1z5l83tngEsmdyN0AaZs=.ea895474-4c49-45b8-9f2a-52f0b62285c5@github.com> References: <-MuST5mONgBhLsT7eHFFxfcAKD4UfHXIaFVGSPw-qC4=.ff125f4f-5209-47dd-b30b-d93332f5e3eb@github.com> <4azhar5HlRDUGPSWwYkUWJj1z5l83tngEsmdyN0AaZs=.ea895474-4c49-45b8-9f2a-52f0b62285c5@github.com> Message-ID: On Fri, 16 Aug 2019 07:51:48 GMT, Erik Duveblad via github.com wrote: > On Fri, 16 Aug 2019 07:39:16 GMT, Erik Duveblad via github.com wrote: > >> On Mon, 1 Jul 2019 22:11:21 GMT, Marcus Hirt via github.com wrote: >> >>> On Mon, 1 Jul 2019 14:14:24 GMT, Marcus Hirt via github.com wrote: >>> >>>> On Mon, 1 Jul 2019 13:38:23 GMT, Erik Duveblad via github.com wrote: >>>> >>>>> On Mon, 1 Jul 2019 10:58:54 GMT, Marcus Hirt via github.com wrote: >>>>> >>>>>> ...as suggested in the Twitter discussion. :) >>>>>> >>>>>> ---------------- >>>>>> >>>>>> Commits: >>>>>> - 4578553b: Adding project explanation >>>>>> >>>>>> Pull request: >>>>>> http://git.openjdk.java.net/skara/pull/16 >>>>>> >>>>>> Webrev: >>>>>> https://openjdk.github.io/cr/skara/16/webrev.00 >>>>>> >>>>>> Patch: >>>>>> http://git.openjdk.java.net/skara/pull/16.diff >>>>>> >>>>>> Fetch command: >>>>>> git fetch https://github.com/openjdk/skara.git 4578553b:pr/16 >>>>> >>>>> :tada: :rofl: >>>> >>>> That's a great band name right there - Indecisive Bots! >>> >>> Here is the twitter discussion: >>> https://twitter.com/emilianbold/status/1143175227616239618?s=21 >> >> Thanks Marcus, the change looks good, but if you want to add me as contributor you need to use the `/contributor` command in a comment to list me as co-author: >> >> ``` >> /contributor add Erik Duveblad >> ``` >> >> PR: https://git.openjdk.java.net/skara/pull/16 > > Heh, I now realized (thanks to Robin) that you just incorporated my suggestion and that GitHub then automatically added me as co-author :smiley: _If_ you want to add me as co-author then you have to do as I described above, but I'm fine if you want to be sole author :smile_cat: > > PR: https://git.openjdk.java.net/skara/pull/16 Done! :) PR: https://git.openjdk.java.net/skara/pull/16 From duke at openjdk.java.net Fri Aug 16 10:54:47 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Fri, 16 Aug 2019 10:54:47 GMT Subject: RFR: Adding project explanation In-Reply-To: References: Message-ID: <7K3vaDRn_S8_i0qtV4KsHTVe42wUd3bmB61zwbhPNHo=.d4491489-f166-4a15-8eac-8e46ba89bd88@github.com> On Mon, 1 Jul 2019 10:58:54 GMT, Marcus Hirt via github.com wrote: > ...as suggested in the Twitter discussion. :) > > ---------------- > > Commits: > - 4578553b: Adding project explanation > > Pull request: > http://git.openjdk.java.net/skara/pull/16 > > Webrev: > https://openjdk.github.io/cr/skara/16/webrev.00 > > Patch: > http://git.openjdk.java.net/skara/pull/16.diff > > Fetch command: > git fetch https://github.com/openjdk/skara.git 4578553b:pr/16 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Looks good PR: https://git.openjdk.java.net/skara/pull/16 From duke at openjdk.java.net Fri Aug 16 11:13:42 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Fri, 16 Aug 2019 11:13:42 GMT Subject: RFR: Use ZonedDateTime for date in Commit Message-ID: Hi, this patch changes from `Instant` to `ZonedDateTime` in `CommitMetadata`. This is done to preserve the time zone recorded in the underlying VCS commit (both git and hg store the time zone of the developer's machine in the commit). # Testing - [x] `sh gradlew test` passes on Linux x86_64 Thanks, Erik ---------------- Commits: - 1d5b3cc7: Use ZonedDateTime for date in Commit Pull request: https://git.openjdk.java.net/skara/pull/48 Webrev: https://webrevs.openjdk.java.net/skara/48/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/48.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/48/head:pull/48 From duke at openjdk.java.net Fri Aug 16 11:14:59 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Fri, 16 Aug 2019 11:14:59 GMT Subject: RFR: Use ZonedDateTime for date in Commit In-Reply-To: References: Message-ID: On Fri, 16 Aug 2019 11:13:42 GMT, Erik Duveblad via github.com wrote: > Hi, > > this patch changes from `Instant` to `ZonedDateTime` in `CommitMetadata`. This is done to preserve the time zone recorded in the underlying VCS commit (both git and hg store the time zone of the developer's machine in the commit). > > # Testing > - [x] `sh gradlew test` passes on Linux x86_64 > > Thanks, > Erik > > ---------------- > > Commits: > - 1d5b3cc7: Use ZonedDateTime for date in Commit > > Pull request: > https://git.openjdk.java.net/skara/pull/48 > > Webrev: > https://webrevs.openjdk.java.net/skara/48/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/48.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/48/head:pull/48 This PR has been reviewed by Robin Westberg via github.com - changes are approved. Review comment: Looks good PR: https://git.openjdk.java.net/skara/pull/48 From duke at openjdk.java.net Fri Aug 16 11:16:56 2019 From: duke at openjdk.java.net (duke) Date: Fri, 16 Aug 2019 11:16:56 GMT Subject: git: openjdk/skara: Use ZonedDateTime for date in Commit Message-ID: Changeset: d2e6beb1 Author: Erik Helin Date: 2019-08-16 11:16:15 +0000 URL: https://git.openjdk.java.net/skara/commit/d2e6beb1 Use ZonedDateTime for date in Commit Reviewed-by: rwestberg ! jcheck/src/test/java/org/openjdk/skara/jcheck/AuthorCheckTests.java ! jcheck/src/test/java/org/openjdk/skara/jcheck/BlacklistCheckTests.java ! jcheck/src/test/java/org/openjdk/skara/jcheck/CommitterCheckTests.java ! jcheck/src/test/java/org/openjdk/skara/jcheck/ExecutableCheckTests.java ! jcheck/src/test/java/org/openjdk/skara/jcheck/HgTagCommitCheckTests.java ! jcheck/src/test/java/org/openjdk/skara/jcheck/IssuesCheckTests.java ! jcheck/src/test/java/org/openjdk/skara/jcheck/MergeMessageCheckTests.java ! jcheck/src/test/java/org/openjdk/skara/jcheck/MessageCheckTests.java ! jcheck/src/test/java/org/openjdk/skara/jcheck/ReviewersCheckTests.java ! jcheck/src/test/java/org/openjdk/skara/jcheck/WhitespaceCheckTests.java ! vcs/src/main/java/org/openjdk/skara/vcs/Commit.java ! vcs/src/main/java/org/openjdk/skara/vcs/CommitMetadata.java ! vcs/src/main/java/org/openjdk/skara/vcs/Repository.java ! vcs/src/main/java/org/openjdk/skara/vcs/git/GitCommitMetadata.java ! vcs/src/main/java/org/openjdk/skara/vcs/git/GitRepository.java ! vcs/src/main/java/org/openjdk/skara/vcs/hg/HgCommitMetadata.java ! vcs/src/main/java/org/openjdk/skara/vcs/hg/HgRepository.java ! vcs/src/main/java/org/openjdk/skara/vcs/openjdk/convert/GitToHgConverter.java ! vcs/src/test/java/org/openjdk/skara/vcs/openjdk/converter/GitToHgConverterTests.java ! vcs/src/test/java/org/openjdk/skara/vcs/openjdk/converter/HgToGitConverterTests.java From duke at openjdk.java.net Fri Aug 16 11:26:53 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Fri, 16 Aug 2019 11:26:53 GMT Subject: RFR: Proper parsing of git diff --raw lines Message-ID: Hi, this patch introduces stricter (and more correct) parsing of the output from `git diff --raw`. The previous parsing code could not handle spaces in file names. ## Testing - [x] `sh gradlew test` ---------------- Commits: - e95a4ccd: Proper parsing of git diff --raw lines Pull request: https://git.openjdk.java.net/skara/pull/49 Webrev: https://webrevs.openjdk.java.net/skara/49/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/49.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/49/head:pull/49 From duke at openjdk.java.net Fri Aug 16 11:29:35 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Fri, 16 Aug 2019 11:29:35 GMT Subject: RFR: Proper parsing of git diff --raw lines In-Reply-To: References: Message-ID: On Fri, 16 Aug 2019 11:26:53 GMT, Erik Duveblad via github.com wrote: > Hi, > > this patch introduces stricter (and more correct) parsing of the output from `git diff --raw`. The previous parsing code could not handle spaces in file names. > > ## Testing > - [x] `sh gradlew test` > > ---------------- > > Commits: > - e95a4ccd: Proper parsing of git diff --raw lines > > Pull request: > https://git.openjdk.java.net/skara/pull/49 > > Webrev: > https://webrevs.openjdk.java.net/skara/49/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/49.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/49/head:pull/49 This PR has been reviewed by Robin Westberg via github.com - changes are approved. Review comment: Ship it! PR: https://git.openjdk.java.net/skara/pull/49 From duke at openjdk.java.net Fri Aug 16 11:44:15 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Fri, 16 Aug 2019 11:44:15 GMT Subject: RFR: Proper parsing of git diff --raw lines In-Reply-To: References: Message-ID: The pull request has been updated with additional changes. ---------------- Added commits: - 418494fa: Add a test Pull request: https://git.openjdk.java.net/skara/pull/49 Webrevs: - full: https://webrevs.openjdk.java.net/skara/49/webrev.01 - inc: https://webrevs.openjdk.java.net/skara/49/webrev.00-01 Updated full patch: https://git.openjdk.java.net/skara/pull/49.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/49/head:pull/49 From duke at openjdk.java.net Fri Aug 16 11:45:34 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Fri, 16 Aug 2019 11:45:34 GMT Subject: RFR: Proper parsing of git diff --raw lines In-Reply-To: References: Message-ID: On Fri, 16 Aug 2019 11:26:53 GMT, Erik Duveblad via github.com wrote: > Hi, > > this patch introduces stricter (and more correct) parsing of the output from `git diff --raw`. The previous parsing code could not handle spaces in file names. > > ## Testing > - [x] `sh gradlew test` > > ---------------- > > Commits: > - e95a4ccd: Proper parsing of git diff --raw lines > > Pull request: > https://git.openjdk.java.net/skara/pull/49 > > Webrev: > https://webrevs.openjdk.java.net/skara/49/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/49.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/49/head:pull/49 Robin only says "Ship it" to be polite, he did tell me to add a test, and so I did! Thanks @rwestberg for enforcing regression tests :+1: PR: https://git.openjdk.java.net/skara/pull/49 From duke at openjdk.java.net Fri Aug 16 11:47:38 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Fri, 16 Aug 2019 11:47:38 GMT Subject: RFR: Proper parsing of git diff --raw lines In-Reply-To: References: Message-ID: On Fri, 16 Aug 2019 11:45:34 GMT, Erik Duveblad via github.com wrote: > On Fri, 16 Aug 2019 11:26:53 GMT, Erik Duveblad via github.com wrote: > >> Hi, >> >> this patch introduces stricter (and more correct) parsing of the output from `git diff --raw`. The previous parsing code could not handle spaces in file names. >> >> ## Testing >> - [x] `sh gradlew test` >> >> ---------------- >> >> Commits: >> - e95a4ccd: Proper parsing of git diff --raw lines >> >> Pull request: >> https://git.openjdk.java.net/skara/pull/49 >> >> Webrev: >> https://webrevs.openjdk.java.net/skara/49/webrev.00 >> >> Patch: >> https://git.openjdk.java.net/skara/pull/49.diff >> >> Fetch command: >> git fetch https://git.openjdk.java.net/skara pull/49/head:pull/49 > > Robin only says "Ship it" to be polite, he did tell me to add a test, and so I did! Thanks @rwestberg for enforcing regression tests :+1: > > PR: https://git.openjdk.java.net/skara/pull/49 Even better! PR: https://git.openjdk.java.net/skara/pull/49 From duke at openjdk.java.net Fri Aug 16 11:49:55 2019 From: duke at openjdk.java.net (duke) Date: Fri, 16 Aug 2019 11:49:55 GMT Subject: git: openjdk/skara: Proper parsing of git diff --raw lines Message-ID: <8fa152f0-0f16-4b52-b57b-6b461c00839b@openjdk.java.net> Changeset: f9979b07 Author: Erik Helin Date: 2019-08-16 11:49:34 +0000 URL: https://git.openjdk.java.net/skara/commit/f9979b07 Proper parsing of git diff --raw lines Reviewed-by: rwestberg ! vcs/src/main/java/org/openjdk/skara/vcs/tools/PatchHeader.java ! vcs/src/main/resources/ext.py ! vcs/src/test/java/org/openjdk/skara/vcs/RepositoryTests.java From duke at openjdk.java.net Fri Aug 16 13:02:23 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Fri, 16 Aug 2019 13:02:23 GMT Subject: RFR: Cache the value of root() in GitRepository Message-ID: Hi all, we do quite a bit of call to `GitRepository::root` in various methods, so instead of calling `git rev-parse --show-toplevel` every time for a value that never changes I figured we could cache it. ## Testing - [x] `sh gradlew test` ---------------- Commits: - b8d9575f: Cache the value of root() in GitRepository Pull request: https://git.openjdk.java.net/skara/pull/50 Webrev: https://webrevs.openjdk.java.net/skara/50/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/50.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/50/head:pull/50 From duke at openjdk.java.net Fri Aug 16 13:03:27 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Fri, 16 Aug 2019 13:03:27 GMT Subject: RFR: Cache the value of root() in GitRepository In-Reply-To: References: Message-ID: On Fri, 16 Aug 2019 13:02:23 GMT, Erik Duveblad via github.com wrote: > Hi all, > > we do quite a bit of call to `GitRepository::root` in various methods, so instead of calling `git rev-parse --show-toplevel` every time for a value that never changes I figured we could cache it. > > ## Testing > - [x] `sh gradlew test` > > ---------------- > > Commits: > - b8d9575f: Cache the value of root() in GitRepository > > Pull request: > https://git.openjdk.java.net/skara/pull/50 > > Webrev: > https://webrevs.openjdk.java.net/skara/50/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/50.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/50/head:pull/50 This PR has been reviewed by Robin Westberg via github.com - changes are approved. Review comment: Looks good! PR: https://git.openjdk.java.net/skara/pull/50 From duke at openjdk.java.net Fri Aug 16 13:09:55 2019 From: duke at openjdk.java.net (duke) Date: Fri, 16 Aug 2019 13:09:55 GMT Subject: git: openjdk/skara: Cache the value of root() in GitRepository Message-ID: <6508b8ac-dfb9-4424-b1af-8f406fbfe0df@openjdk.java.net> Changeset: 8f81e327 Author: Erik Helin Date: 2019-08-16 13:09:18 +0000 URL: https://git.openjdk.java.net/skara/commit/8f81e327 Cache the value of root() in GitRepository Reviewed-by: rwestberg ! vcs/src/main/java/org/openjdk/skara/vcs/git/GitRepository.java From duke at openjdk.java.net Fri Aug 16 13:17:21 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Fri, 16 Aug 2019 13:17:21 GMT Subject: RFR: Fix webrev generation issue when a source hunk is empty Message-ID: <0kk-o9kExIIYiWaYqiZfviOrRLBjkoZq30eSMhEOymk=.e9968c08-fca8-4c83-a5fe-ce5fbb012fe5@github.com> Hi all, Please review this fix for an index-out-of-bounds when generating a webrev containing an empty source hunk. Best regards, Robin ---------------- Commits: - 7b7cfaf4: Fix webrev generation issue when a source hunk is empty, add a reproducing test Pull request: https://git.openjdk.java.net/skara/pull/51 Webrev: https://webrevs.openjdk.java.net/skara/51/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/51.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/51/head:pull/51 From duke at openjdk.java.net Fri Aug 16 13:24:24 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Fri, 16 Aug 2019 13:24:24 GMT Subject: RFR: Fix webrev generation issue when a source hunk is empty In-Reply-To: <0kk-o9kExIIYiWaYqiZfviOrRLBjkoZq30eSMhEOymk=.e9968c08-fca8-4c83-a5fe-ce5fbb012fe5@github.com> References: <0kk-o9kExIIYiWaYqiZfviOrRLBjkoZq30eSMhEOymk=.e9968c08-fca8-4c83-a5fe-ce5fbb012fe5@github.com> Message-ID: On Fri, 16 Aug 2019 13:17:21 GMT, Robin Westberg via github.com wrote: > Hi all, > > Please review this fix for an index-out-of-bounds when generating a webrev containing an empty source hunk. > > Best regards, > Robin > > ---------------- > > Commits: > - 7b7cfaf4: Fix webrev generation issue when a source hunk is empty, add a reproducing test > > Pull request: > https://git.openjdk.java.net/skara/pull/51 > > Webrev: > https://webrevs.openjdk.java.net/skara/51/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/51.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/51/head:pull/51 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Looks good, reviewed! PR: https://git.openjdk.java.net/skara/pull/51 From duke at openjdk.java.net Fri Aug 16 13:34:55 2019 From: duke at openjdk.java.net (duke) Date: Fri, 16 Aug 2019 13:34:55 GMT Subject: git: openjdk/skara: Fix webrev generation issue when a source hunk is empty Message-ID: <614d0232-e29c-45e9-a3fa-5735f36fe19c@openjdk.java.net> Changeset: 6f884423 Author: Robin Westberg Date: 2019-08-16 13:34:34 +0000 URL: https://git.openjdk.java.net/skara/commit/6f884423 Fix webrev generation issue when a source hunk is empty Reviewed-by: ehelin ! webrev/build.gradle ! webrev/src/main/java/org/openjdk/skara/webrev/FramesView.java ! webrev/src/main/java/org/openjdk/skara/webrev/HunkCoalescer.java + webrev/src/test/java/org/openjdk/skara/webrev/WebrevTests.java From duke at openjdk.java.net Fri Aug 16 14:01:43 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Fri, 16 Aug 2019 14:01:43 GMT Subject: RFR: Improve the previous empty hunks fix In-Reply-To: References: Message-ID: On Fri, 16 Aug 2019 14:01:42 GMT, Robin Westberg via github.com wrote: > Hi all, > > The previous fix for generating webrevs with empty source hunks broke other cases. Here's more fixes and tests. > > Best regards, > Robin > > ---------------- > > Commits: > - e33063e5: Improve the previous empty hunks fix > > Pull request: > https://git.openjdk.java.net/skara/pull/52 > > Webrev: > https://webrevs.openjdk.java.net/skara/52/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/52.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/52/head:pull/52 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Looks great! PR: https://git.openjdk.java.net/skara/pull/52 From duke at openjdk.java.net Fri Aug 16 14:01:42 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Fri, 16 Aug 2019 14:01:42 GMT Subject: RFR: Improve the previous empty hunks fix Message-ID: Hi all, The previous fix for generating webrevs with empty source hunks broke other cases. Here's more fixes and tests. Best regards, Robin ---------------- Commits: - e33063e5: Improve the previous empty hunks fix Pull request: https://git.openjdk.java.net/skara/pull/52 Webrev: https://webrevs.openjdk.java.net/skara/52/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/52.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/52/head:pull/52 From duke at openjdk.java.net Fri Aug 16 14:02:55 2019 From: duke at openjdk.java.net (duke) Date: Fri, 16 Aug 2019 14:02:55 GMT Subject: git: openjdk/skara: Improve the previous empty hunks fix Message-ID: Changeset: 7a455364 Author: Robin Westberg Date: 2019-08-16 14:01:52 +0000 URL: https://git.openjdk.java.net/skara/commit/7a455364 Improve the previous empty hunks fix Reviewed-by: ehelin ! webrev/build.gradle ! webrev/src/main/java/org/openjdk/skara/webrev/FramesView.java ! webrev/src/test/java/org/openjdk/skara/webrev/WebrevTests.java From duke at openjdk.java.net Fri Aug 16 14:12:18 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Fri, 16 Aug 2019 14:12:18 GMT Subject: RFR: git combined diffs suffer from underflow Message-ID: Hi all, seems like `git diff -c --unified=0` also suffers from underflow, but _not_ the off-by-one bug for empty hunks that `git diff --unified=0` suffers from. I updated the code to work around this issue. ## Testing - [x] `sh gradlew test` passes on Linux x86_64 ---------------- Commits: - 1a1813f7: git combined diffs suffer from underflow Pull request: https://git.openjdk.java.net/skara/pull/53 Webrev: https://webrevs.openjdk.java.net/skara/53/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/53.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/53/head:pull/53 From duke at openjdk.java.net Fri Aug 16 14:15:41 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Fri, 16 Aug 2019 14:15:41 GMT Subject: RFR: git combined diffs suffer from underflow In-Reply-To: References: Message-ID: On Fri, 16 Aug 2019 14:12:18 GMT, Erik Duveblad via github.com wrote: > Hi all, > > seems like `git diff -c --unified=0` also suffers from underflow, but _not_ the off-by-one bug for empty hunks that `git diff --unified=0` suffers from. I updated the code to work around this issue. > > ## Testing > - [x] `sh gradlew test` passes on Linux x86_64 > > ---------------- > > Commits: > - 1a1813f7: git combined diffs suffer from underflow > > Pull request: > https://git.openjdk.java.net/skara/pull/53 > > Webrev: > https://webrevs.openjdk.java.net/skara/53/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/53.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/53/head:pull/53 This PR has been reviewed by Robin Westberg via github.com - changes are approved. Review comment: Good stuff PR: https://git.openjdk.java.net/skara/pull/53 From duke at openjdk.java.net Fri Aug 16 14:21:55 2019 From: duke at openjdk.java.net (duke) Date: Fri, 16 Aug 2019 14:21:55 GMT Subject: git: openjdk/skara: git combined diffs suffer from underflow Message-ID: <3005fa9a-12bf-4950-8ce7-ba454db4041b@openjdk.java.net> Changeset: ef42f827 Author: Erik Helin Date: 2019-08-16 14:21:28 +0000 URL: https://git.openjdk.java.net/skara/commit/ef42f827 git combined diffs suffer from underflow Reviewed-by: rwestberg ! vcs/src/main/java/org/openjdk/skara/vcs/git/GitCombinedDiffParser.java ! vcs/src/main/java/org/openjdk/skara/vcs/tools/GitRange.java From duke at openjdk.java.net Fri Aug 16 15:19:47 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Fri, 16 Aug 2019 15:19:47 GMT Subject: RFR: GitCommitIterator should handle empty commits Message-ID: HI all, the `GitCommitIterator` should be able to handle empty commits. Although empty commits are rare, there are a few in the OpenJDK repositories. ## Testing - [x] Added two new unit tests - [x] `sh gradlew test` passes on Linux x86_64 ---------------- Commits: - e770a955: GitCommitIterator should handle empty commits Pull request: https://git.openjdk.java.net/skara/pull/54 Webrev: https://webrevs.openjdk.java.net/skara/54/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/54.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/54/head:pull/54 From duke at openjdk.java.net Mon Aug 19 08:00:44 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Mon, 19 Aug 2019 08:00:44 GMT Subject: RFR: GitCommitIterator should handle empty commits In-Reply-To: References: Message-ID: On Fri, 16 Aug 2019 15:19:47 GMT, Erik Duveblad via github.com wrote: > HI all, > > the `GitCommitIterator` should be able to handle empty commits. Although empty commits are rare, there are a few in the OpenJDK repositories. > > ## Testing > - [x] Added two new unit tests > - [x] `sh gradlew test` passes on Linux x86_64 > > ---------------- > > Commits: > - e770a955: GitCommitIterator should handle empty commits > > Pull request: > https://git.openjdk.java.net/skara/pull/54 > > Webrev: > https://webrevs.openjdk.java.net/skara/54/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/54.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/54/head:pull/54 This PR has been reviewed by Robin Westberg via github.com - changes are approved. Review comment: Looks good! PR: https://git.openjdk.java.net/skara/pull/54 From duke at openjdk.java.net Mon Aug 19 08:04:41 2019 From: duke at openjdk.java.net (duke) Date: Mon, 19 Aug 2019 08:04:41 GMT Subject: git: openjdk/skara: GitCommitIterator should handle empty commits Message-ID: <923951ea-506c-45cd-a91a-3fdae3f76054@openjdk.java.net> Changeset: c19224a9 Author: Erik Helin Date: 2019-08-19 08:03:45 +0000 URL: https://git.openjdk.java.net/skara/commit/c19224a9 GitCommitIterator should handle empty commits Reviewed-by: rwestberg ! vcs/src/main/java/org/openjdk/skara/vcs/git/GitCommitIterator.java ! vcs/src/test/java/org/openjdk/skara/vcs/RepositoryTests.java From duke at openjdk.java.net Mon Aug 19 10:20:09 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Mon, 19 Aug 2019 10:20:09 GMT Subject: RFR: Remove stray newline in HgRepository Message-ID: Hi all, this tiny patch just removes a stray newline in `HgRepository`. Thanks, Erik ---------------- Commits: - b45de0d3: Remove stray newline in HgRepository Pull request: https://git.openjdk.java.net/skara/pull/55 Webrev: https://webrevs.openjdk.java.net/skara/55/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/55.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/55/head:pull/55 From duke at openjdk.java.net Mon Aug 19 10:20:11 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Mon, 19 Aug 2019 10:20:11 GMT Subject: RFR: Remove stray newline in HgRepository In-Reply-To: References: Message-ID: On Mon, 19 Aug 2019 10:20:09 GMT, Erik Duveblad via github.com wrote: > Hi all, > > this tiny patch just removes a stray newline in `HgRepository`. > > Thanks, > Erik > > ---------------- > > Commits: > - b45de0d3: Remove stray newline in HgRepository > > Pull request: > https://git.openjdk.java.net/skara/pull/55 > > Webrev: > https://webrevs.openjdk.java.net/skara/55/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/55.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/55/head:pull/55 This PR has been reviewed by Robin Westberg via github.com - changes are approved. Review comment: PR: https://git.openjdk.java.net/skara/pull/55 From duke at openjdk.java.net Mon Aug 19 11:25:31 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Mon, 19 Aug 2019 11:25:31 GMT Subject: RFR: 62: Proper parsing of GitLab discussions outside of a diff context Message-ID: Hi all, Please review this small fix of a GitLab discussion parsing bug. Best regards, Robin ---------------- Commits: - 24f9552d: Parse all comments without a position as regular ones Pull request: https://git.openjdk.java.net/skara/pull/56 Webrev: https://webrevs.openjdk.java.net/skara/56/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/56.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/56/head:pull/56 From duke at openjdk.java.net Mon Aug 19 12:07:29 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Mon, 19 Aug 2019 12:07:29 GMT Subject: RFR: Fix another index out of bounds in webrev generation Message-ID: Hi all, Please review this small fix for an index out of bounds in the webrev generator. Best regards, Robin ---------------- Commits: - ab09c5ab: Fix another index out of bounds in webrev generation Pull request: https://git.openjdk.java.net/skara/pull/57 Webrev: https://webrevs.openjdk.java.net/skara/57/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/57.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/57/head:pull/57 From duke at openjdk.java.net Mon Aug 19 12:09:25 2019 From: duke at openjdk.java.net (duke) Date: Mon, 19 Aug 2019 12:09:25 GMT Subject: git: openjdk/skara: Remove stray newline in HgRepository Message-ID: <1869dd06-6c0d-440e-a632-11e5af1468cd@openjdk.java.net> Changeset: ef52825b Author: Erik Helin Date: 2019-08-19 12:08:54 +0000 URL: https://git.openjdk.java.net/skara/commit/ef52825b Remove stray newline in HgRepository Reviewed-by: rwestberg ! vcs/src/main/java/org/openjdk/skara/vcs/hg/HgRepository.java From duke at openjdk.java.net Mon Aug 19 12:10:31 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Mon, 19 Aug 2019 12:10:31 GMT Subject: RFR: 62: Proper parsing of GitLab discussions outside of a diff context In-Reply-To: References: Message-ID: <_DmOceR3zFbNYQr6eXBdpBvBs5yUJuoFxOOr80550bA=.558c3277-7c7f-4d2c-a63b-8483947c1b81@github.com> On Mon, 19 Aug 2019 11:25:31 GMT, Robin Westberg via github.com wrote: > Hi all, > > Please review this small fix of a GitLab discussion parsing bug. > > Best regards, > Robin > > ---------------- > > Commits: > - 24f9552d: Parse all comments without a position as regular ones > > Pull request: > https://git.openjdk.java.net/skara/pull/56 > > Webrev: > https://webrevs.openjdk.java.net/skara/56/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/56.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/56/head:pull/56 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Hmm, perhaps not the most rock-solid feature detection mechanism, but lets go with it for now :+1: PR: https://git.openjdk.java.net/skara/pull/56 From duke at openjdk.java.net Mon Aug 19 12:11:05 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Mon, 19 Aug 2019 12:11:05 GMT Subject: RFR: Fix another index out of bounds in webrev generation In-Reply-To: References: Message-ID: On Mon, 19 Aug 2019 12:07:29 GMT, Robin Westberg via github.com wrote: > Hi all, > > Please review this small fix for an index out of bounds in the webrev generator. > > Best regards, > Robin > > ---------------- > > Commits: > - ab09c5ab: Fix another index out of bounds in webrev generation > > Pull request: > https://git.openjdk.java.net/skara/pull/57 > > Webrev: > https://webrevs.openjdk.java.net/skara/57/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/57.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/57/head:pull/57 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Thanks for adding a test, fix looks good. PR: https://git.openjdk.java.net/skara/pull/57 From duke at openjdk.java.net Mon Aug 19 12:14:26 2019 From: duke at openjdk.java.net (duke) Date: Mon, 19 Aug 2019 12:14:26 GMT Subject: git: openjdk/skara: 62: Proper parsing of GitLab discussions outside of a diff context Message-ID: <1b6973f1-aee8-44ba-9fc8-6cfb394ffdc6@openjdk.java.net> Changeset: 0a354f41 Author: Robin Westberg Date: 2019-08-19 12:14:18 +0000 URL: https://git.openjdk.java.net/skara/commit/0a354f41 62: Proper parsing of GitLab discussions outside of a diff context Reviewed-by: ehelin ! host/src/main/java/org/openjdk/skara/host/gitlab/GitLabMergeRequest.java From duke at openjdk.java.net Mon Aug 19 12:15:26 2019 From: duke at openjdk.java.net (duke) Date: Mon, 19 Aug 2019 12:15:26 GMT Subject: git: openjdk/skara: Fix another index out of bounds in webrev generation Message-ID: <0b2e9be0-4db0-4789-a115-0e7cb501e3eb@openjdk.java.net> Changeset: db3e4c08 Author: Robin Westberg Date: 2019-08-19 12:15:05 +0000 URL: https://git.openjdk.java.net/skara/commit/db3e4c08 Fix another index out of bounds in webrev generation Reviewed-by: ehelin ! webrev/src/main/java/org/openjdk/skara/webrev/HunkCoalescer.java ! webrev/src/test/java/org/openjdk/skara/webrev/WebrevTests.java From duke at openjdk.java.net Mon Aug 19 12:27:27 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Mon, 19 Aug 2019 12:27:27 GMT Subject: RFR: 60: Add `integrated` to closed pull requests that have been integrated Message-ID: Hi all, Please review this change that adds an 'integrated' label to a PR after it has been integrated. Best regards, Robin ---------------- Commits: - 85af475c: Add integrated label to PRs when integrating them Pull request: https://git.openjdk.java.net/skara/pull/58 Webrev: https://webrevs.openjdk.java.net/skara/58/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/58.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/58/head:pull/58 From duke at openjdk.java.net Mon Aug 19 12:49:38 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Mon, 19 Aug 2019 12:49:38 GMT Subject: RFR: Implement HgRepository::amend Message-ID: Hi all, this patch implements the `HgRepository::amend` method. I also added a test that tests `amend` for both git and hg. ## Testing - [x] `sh gradlew test` passes on - [x] Linux - [ ] Windows - [ ] macOS ---------------- Commits: - 71734d51: Implement HgRepository::amend Pull request: https://git.openjdk.java.net/skara/pull/59 Webrev: https://webrevs.openjdk.java.net/skara/59/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/59.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/59/head:pull/59 From duke at openjdk.java.net Mon Aug 19 12:50:47 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Mon, 19 Aug 2019 12:50:47 GMT Subject: RFR: Implement HgRepository::amend In-Reply-To: References: Message-ID: On Mon, 19 Aug 2019 12:49:38 GMT, Erik Duveblad via github.com wrote: > Hi all, > > this patch implements the `HgRepository::amend` method. I also added a test that tests `amend` for both git and hg. > > ## Testing > - [x] `sh gradlew test` passes on > - [x] Linux > - [ ] Windows > - [ ] macOS > > ---------------- > > Commits: > - 71734d51: Implement HgRepository::amend > > Pull request: > https://git.openjdk.java.net/skara/pull/59 > > Webrev: > https://webrevs.openjdk.java.net/skara/59/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/59.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/59/head:pull/59 Looks good! PR: https://git.openjdk.java.net/skara/pull/59 From duke at openjdk.java.net Mon Aug 19 12:51:08 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Mon, 19 Aug 2019 12:51:08 GMT Subject: RFR: Implement HgRepository::amend In-Reply-To: References: Message-ID: On Mon, 19 Aug 2019 12:49:38 GMT, Erik Duveblad via github.com wrote: > Hi all, > > this patch implements the `HgRepository::amend` method. I also added a test that tests `amend` for both git and hg. > > ## Testing > - [x] `sh gradlew test` passes on > - [x] Linux > - [ ] Windows > - [ ] macOS > > ---------------- > > Commits: > - 71734d51: Implement HgRepository::amend > > Pull request: > https://git.openjdk.java.net/skara/pull/59 > > Webrev: > https://webrevs.openjdk.java.net/skara/59/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/59.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/59/head:pull/59 This PR has been reviewed by Robin Westberg via github.com - changes are approved. Review comment: PR: https://git.openjdk.java.net/skara/pull/59 From duke at openjdk.java.net Mon Aug 19 12:52:25 2019 From: duke at openjdk.java.net (duke) Date: Mon, 19 Aug 2019 12:52:25 GMT Subject: git: openjdk/skara: Implement HgRepository::amend Message-ID: <662c8166-de64-498e-a687-4782f945c711@openjdk.java.net> Changeset: 7623f82f Author: Erik Helin Date: 2019-08-19 12:52:09 +0000 URL: https://git.openjdk.java.net/skara/commit/7623f82f Implement HgRepository::amend Reviewed-by: rwestberg ! vcs/src/main/java/org/openjdk/skara/vcs/hg/HgRepository.java ! vcs/src/test/java/org/openjdk/skara/vcs/RepositoryTests.java From duke at openjdk.java.net Mon Aug 19 13:33:55 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Mon, 19 Aug 2019 13:33:55 GMT Subject: RFR: Add Repository::revert Message-ID: <_emk_C1eRIgX4xd45XRb0-v48CcydY_eGJDbkfHF0G4=.a10879fb-72e1-4769-ba9a-dddfc06a44eb@github.com> Hi all, this small patch adds the `Repository::revert` method, the corresponding git and hg implementations and a small test. ## Testing - [x] `sh gradlew test` passes on Linux x86_64 ---------------- Commits: - 7e30d6c3: Add Repository::revert Pull request: https://git.openjdk.java.net/skara/pull/60 Webrev: https://webrevs.openjdk.java.net/skara/60/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/60.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/60/head:pull/60 From duke at openjdk.java.net Mon Aug 19 13:35:40 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Mon, 19 Aug 2019 13:35:40 GMT Subject: RFR: Add Repository::revert In-Reply-To: <_emk_C1eRIgX4xd45XRb0-v48CcydY_eGJDbkfHF0G4=.a10879fb-72e1-4769-ba9a-dddfc06a44eb@github.com> References: <_emk_C1eRIgX4xd45XRb0-v48CcydY_eGJDbkfHF0G4=.a10879fb-72e1-4769-ba9a-dddfc06a44eb@github.com> Message-ID: On Mon, 19 Aug 2019 13:33:55 GMT, Erik Duveblad via github.com wrote: > Hi all, > > this small patch adds the `Repository::revert` method, the corresponding git and hg implementations and a small test. > > ## Testing > - [x] `sh gradlew test` passes on Linux x86_64 > > ---------------- > > Commits: > - 7e30d6c3: Add Repository::revert > > Pull request: > https://git.openjdk.java.net/skara/pull/60 > > Webrev: > https://webrevs.openjdk.java.net/skara/60/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/60.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/60/head:pull/60 This PR has been reviewed by Robin Westberg via github.com - changes are approved. Review comment: Looks good to me. PR: https://git.openjdk.java.net/skara/pull/60 From duke at openjdk.java.net Mon Aug 19 13:45:26 2019 From: duke at openjdk.java.net (duke) Date: Mon, 19 Aug 2019 13:45:26 GMT Subject: git: openjdk/skara: Add Repository::revert Message-ID: <9c53a0ce-03d2-482d-8bf6-6c4d7aab9cac@openjdk.java.net> Changeset: f57fa464 Author: Erik Helin Date: 2019-08-19 13:44:29 +0000 URL: https://git.openjdk.java.net/skara/commit/f57fa464 Add Repository::revert Reviewed-by: rwestberg ! vcs/src/main/java/org/openjdk/skara/vcs/Repository.java ! vcs/src/main/java/org/openjdk/skara/vcs/git/GitRepository.java ! vcs/src/main/java/org/openjdk/skara/vcs/hg/HgRepository.java ! vcs/src/test/java/org/openjdk/skara/vcs/RepositoryTests.java From duke at openjdk.java.net Mon Aug 19 14:18:33 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Mon, 19 Aug 2019 14:18:33 GMT Subject: RFR: 63: Remove the census cache Message-ID: <0k2TNwipZUSZG6tQNzlMLjxB1OvrzhozbpcVw96y9zY=.cedaa808-dd1f-47ac-83e6-405298a900fd@github.com> Hi all, Please review this small change that removes the caching of census data, as it can get out of sync. Best regards, Robin ---------------- Commits: - 4c5acd06: Stop using the census cache Pull request: https://git.openjdk.java.net/skara/pull/61 Webrev: https://webrevs.openjdk.java.net/skara/61/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/61.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/61/head:pull/61 From duke at openjdk.java.net Mon Aug 19 14:20:37 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Mon, 19 Aug 2019 14:20:37 GMT Subject: RFR: 60: Add `integrated` to closed pull requests that have been integrated In-Reply-To: References: Message-ID: On Mon, 19 Aug 2019 12:27:27 GMT, Robin Westberg via github.com wrote: > Hi all, > > Please review this change that adds an 'integrated' label to a PR after it has been integrated. > > Best regards, > Robin > > ---------------- > > Commits: > - 85af475c: Add integrated label to PRs when integrating them > > Pull request: > https://git.openjdk.java.net/skara/pull/58 > > Webrev: > https://webrevs.openjdk.java.net/skara/58/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/58.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/58/head:pull/58 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Looks good, nice feature! PR: https://git.openjdk.java.net/skara/pull/58 From duke at openjdk.java.net Mon Aug 19 14:21:12 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Mon, 19 Aug 2019 14:21:12 GMT Subject: RFR: 63: Remove the census cache In-Reply-To: <0k2TNwipZUSZG6tQNzlMLjxB1OvrzhozbpcVw96y9zY=.cedaa808-dd1f-47ac-83e6-405298a900fd@github.com> References: <0k2TNwipZUSZG6tQNzlMLjxB1OvrzhozbpcVw96y9zY=.cedaa808-dd1f-47ac-83e6-405298a900fd@github.com> Message-ID: On Mon, 19 Aug 2019 14:18:33 GMT, Robin Westberg via github.com wrote: > Hi all, > > Please review this small change that removes the caching of census data, as it can get out of sync. > > Best regards, > Robin > > ---------------- > > Commits: > - 4c5acd06: Stop using the census cache > > Pull request: > https://git.openjdk.java.net/skara/pull/61 > > Webrev: > https://webrevs.openjdk.java.net/skara/61/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/61.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/61/head:pull/61 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Looks good, thanks for fixing! PR: https://git.openjdk.java.net/skara/pull/61 From duke at openjdk.java.net Mon Aug 19 14:25:25 2019 From: duke at openjdk.java.net (duke) Date: Mon, 19 Aug 2019 14:25:25 GMT Subject: git: openjdk/skara: 60: Add `integrated` to closed pull requests that have been integrated Message-ID: <58f602f6-f77a-44e8-b2b7-4cd156a6b289@openjdk.java.net> Changeset: 2e94eb00 Author: Robin Westberg Date: 2019-08-19 14:24:40 +0000 URL: https://git.openjdk.java.net/skara/commit/2e94eb00 60: Add `integrated` to closed pull requests that have been integrated Reviewed-by: ehelin ! bots/pr/src/main/java/org/openjdk/skara/bots/pr/IntegrateCommand.java ! bots/pr/src/main/java/org/openjdk/skara/bots/pr/SponsorCommand.java ! bots/pr/src/test/java/org/openjdk/skara/bots/pr/IntegrateTests.java ! bots/pr/src/test/java/org/openjdk/skara/bots/pr/SponsorTests.java From erik.helin at oracle.com Mon Aug 19 14:25:13 2019 From: erik.helin at oracle.com (Erik Helin) Date: Mon, 19 Aug 2019 16:25:13 +0200 Subject: ANNOUNCEMENT: About to re-convert *all* mirrors Message-ID: <13e9cdf1-7c38-12e9-da3e-7dde597a33a6@oracle.com> Hi all, we need to incorporate a few changes from census [0] into the commit metadata (some contributors have updated their real names) and align the commit messages with the syntax defined in JEP 357 [1]. Unfortunately this means that all hashes of all commits will change. We know this is disruptive for everyone using the mirrors, hopefully this is the last time we need to do a full re-conversion. We are aiming to refresh all git repositories on Thursday Aug 22. If you have a personal fork then we recommend that you recreate the fork _after_ we have refreshed the mirrors. If you have local clones then we recommend that you re-clone the repositories _after_ we have refreshed the mirrors. If you have local commits that you wish to preserve then we recommend that you turn your commits into patches and then apply them in your re-cloned local repositories: $ git format-patch .. --stdout > /tmp/commits.mbox $ cd /path/to/re-cloned/repository/from/refreshed/mirror $ git am /tmp/commits.mbox Thanks, Erik & Robin [0]: https://openjdk.java.net/census [1]: https://openjdk.java.net/jeps/357 From duke at openjdk.java.net Mon Aug 19 14:34:26 2019 From: duke at openjdk.java.net (duke) Date: Mon, 19 Aug 2019 14:34:26 GMT Subject: git: openjdk/skara: 63: Remove the census cache Message-ID: <268e4ebd-2912-4760-ada7-021d96700c64@openjdk.java.net> Changeset: 3e24d9ce Author: Robin Westberg Date: 2019-08-19 14:33:56 +0000 URL: https://git.openjdk.java.net/skara/commit/3e24d9ce 63: Remove the census cache Reviewed-by: ehelin ! bots/pr/src/main/java/org/openjdk/skara/bots/pr/CensusInstance.java - bots/pr/src/test/java/org/openjdk/skara/bots/pr/CensusInstanceTests.java From duke at openjdk.java.net Tue Aug 20 07:06:24 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Tue, 20 Aug 2019 07:06:24 GMT Subject: RFR: 61: Remove sponsor label if PR is updated after flagged for integration Message-ID: Hi all, Please review this change that ensures that the sponsor label is removed if additional changes are added to a PR after it has been flagged as ready for integration. Best regards, Robin ---------------- Commits: - 27209f95: Remove the sponsor label if additional changes are added Pull request: https://git.openjdk.java.net/skara/pull/62 Webrev: https://webrevs.openjdk.java.net/skara/62/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/62.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/62/head:pull/62 From erik.helin at oracle.com Wed Aug 21 07:43:17 2019 From: erik.helin at oracle.com (Erik Helin) Date: Wed, 21 Aug 2019 09:43:17 +0200 Subject: ANNOUNCEMENT: About to re-convert *all* mirrors In-Reply-To: <13e9cdf1-7c38-12e9-da3e-7dde597a33a6@oracle.com> References: <13e9cdf1-7c38-12e9-da3e-7dde597a33a6@oracle.com> Message-ID: Hi all, I just want to let you know that we are on track for refreshing all git repositories tomorrow, Thursday Aug 22. In preparation for the full re-conversion we have now turned off the automatic syncing from https://hg.openjdk.java.net/ to https://github.com/openjdk/ . The automatic syncing will of course resume once the re-converted mirrors are up. As always, if you have any questions, just let us know! Thanks, Erik On 8/19/19 4:25 PM, Erik Helin wrote: > Hi all, > > we need to incorporate a few changes from census [0] into the commit > metadata (some contributors have updated their real names) and align the > commit messages with the syntax defined in JEP 357 [1]. Unfortunately > this means that all hashes of all commits will change. We know this is > disruptive for everyone using the mirrors, hopefully this is the last > time we need to do a full re-conversion. > > We are aiming to refresh all git repositories on Thursday Aug 22. > > If you have a personal fork then we recommend that you recreate the fork > _after_ we have refreshed the mirrors. If you have local clones then we > recommend that you re-clone the repositories _after_ we have refreshed > the mirrors. If you have local commits that you wish to preserve then we > recommend that you turn your commits into patches and then apply them in > your re-cloned local repositories: > > ??? $ git format-patch .. --stdout > /tmp/commits.mbox > ??? $ cd /path/to/re-cloned/repository/from/refreshed/mirror > ??? $ git am /tmp/commits.mbox > > Thanks, > Erik & Robin > > [0]: https://openjdk.java.net/census > [1]: https://openjdk.java.net/jeps/357 From erik.helin at oracle.com Wed Aug 21 19:09:27 2019 From: erik.helin at oracle.com (Erik Helin) Date: Wed, 21 Aug 2019 21:09:27 +0200 Subject: ANNOUNCEMENT: About to re-convert *all* mirrors In-Reply-To: References: <13e9cdf1-7c38-12e9-da3e-7dde597a33a6@oracle.com> Message-ID: <0ef9670a-89aa-f2ae-ee76-028c4e9eef6c@oracle.com> Hi everyone, seems like the re-conversion finished a bit earlier than expected. All mirrors available at https://github.com/openjdk have now been re-converted and refreshed. Feel free to re-create your personal forks and clones. Thanks, Erik & Robin On 8/21/19 9:43 AM, Erik Helin wrote: > Hi all, > > I just want to let you know that we are on track for refreshing all git > repositories tomorrow, Thursday Aug 22. In preparation for the full > re-conversion we have now turned off the automatic syncing from > https://hg.openjdk.java.net/ to https://github.com/openjdk/ . The > automatic syncing will of course resume once the re-converted mirrors > are up. > > As always, if you have any questions, just let us know! > > Thanks, > Erik > > On 8/19/19 4:25 PM, Erik Helin wrote: >> Hi all, >> >> we need to incorporate a few changes from census [0] into the commit >> metadata (some contributors have updated their real names) and align >> the commit messages with the syntax defined in JEP 357 [1]. >> Unfortunately this means that all hashes of all commits will change. >> We know this is disruptive for everyone using the mirrors, hopefully >> this is the last time we need to do a full re-conversion. >> >> We are aiming to refresh all git repositories on Thursday Aug 22. >> >> If you have a personal fork then we recommend that you recreate the >> fork _after_ we have refreshed the mirrors. If you have local clones >> then we recommend that you re-clone the repositories _after_ we have >> refreshed the mirrors. If you have local commits that you wish to >> preserve then we recommend that you turn your commits into patches and >> then apply them in your re-cloned local repositories: >> >> ???? $ git format-patch .. --stdout > /tmp/commits.mbox >> ???? $ cd /path/to/re-cloned/repository/from/refreshed/mirror >> ???? $ git am /tmp/commits.mbox >> >> Thanks, >> Erik & Robin >> >> [0]: https://openjdk.java.net/census >> [1]: https://openjdk.java.net/jeps/357 > From duke at openjdk.java.net Thu Aug 22 04:45:26 2019 From: duke at openjdk.java.net (Christian Stein via github.com) Date: Thu, 22 Aug 2019 04:45:26 GMT Subject: RFR: Fix some issues building on Windows Message-ID: Building skara on Windows requires at least following changes: - `build.gradle`: enforce UTF-8 as source code encoding - `BotRunnerConfigurationTests.java`: make assertion file separator agnostic - `ProcessTests.java`: disable test class on Windows, all tests call tools that are not present by default on Windows After applying those changes, there're two more issues with building on Windows: - `VersionPlugin.java`: there's an `IOException` raised, which I _handled_ by setting the version property to `"unknown"`, around line 55: ``` } catch (IOException e) { // throw new GradleException("could not read output from 'git rev-parse'", e); project.setProperty("version", "unknown"); } ``` - All tests that use `VCS.HG`, e.g. `JCheckTests#checksForCommit(VCS.HG)`, fail with: `java.io.UncheckedIOException: java.io.IOException: Num headers (1) differ from num hunks (0)` which might(!) be related to a) how `git.exe`/`hg.exe` are invoked and/or b) due to `UnixStreamReader` only interpreting `\n` as a new line character ... or c) something completely different. ---------------- Commits: - 7ffabbbf: Fix some tests running on Windows - build.gradle: enforce UTF-8 as source code encoding - BotRunnerConfigurationTests.java: make assertion file separator agnostic - ProcessTests.java: disable test class on Windows, all tests call tools that are not present by default on Windows Pull request: https://git.openjdk.java.net/skara/pull/63 Webrev: https://webrevs.openjdk.java.net/skara/63/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/63.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/63/head:pull/63 From duke at openjdk.java.net Thu Aug 22 08:02:03 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 22 Aug 2019 08:02:03 GMT Subject: RFR: 61: Remove sponsor label if PR is updated after flagged for integration In-Reply-To: References: Message-ID: On Tue, 20 Aug 2019 07:06:24 GMT, Robin Westberg via github.com wrote: > Hi all, > > Please review this change that ensures that the sponsor label is removed if additional changes are added to a PR after it has been flagged as ready for integration. > > Best regards, > Robin > > ---------------- > > Commits: > - 27209f95: Remove the sponsor label if additional changes are added > > Pull request: > https://git.openjdk.java.net/skara/pull/62 > > Webrev: > https://webrevs.openjdk.java.net/skara/62/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/62.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/62/head:pull/62 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Looks good, thanks! PR: https://git.openjdk.java.net/skara/pull/62 From duke at openjdk.java.net Thu Aug 22 08:07:12 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Thu, 22 Aug 2019 08:07:12 GMT Subject: RFR: Add support for ready markers to the PR bot as well Message-ID: Hi all, Please review this change that allows the PR bot to support configurable ready markers, similar to the mlbridge bot. Best regards, Robin ---------------- Commits: - a6173692: Add support for ready markers to the PR bot as well Pull request: https://git.openjdk.java.net/skara/pull/64 Webrev: https://webrevs.openjdk.java.net/skara/64/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/64.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/64/head:pull/64 From duke at openjdk.java.net Thu Aug 22 08:07:13 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 22 Aug 2019 08:07:13 GMT Subject: RFR: Add support for ready markers to the PR bot as well In-Reply-To: References: Message-ID: <4onlT4OfcyUbviLFKkoTzum0KDtOlLhzZUA6XmWF1_E=.17c0e583-bfbe-46c2-833a-44cb3ad9be71@github.com> On Thu, 22 Aug 2019 08:07:12 GMT, Robin Westberg via github.com wrote: > Hi all, > > Please review this change that allows the PR bot to support configurable ready markers, similar to the mlbridge bot. > > Best regards, > Robin > > ---------------- > > Commits: > - a6173692: Add support for ready markers to the PR bot as well > > Pull request: > https://git.openjdk.java.net/skara/pull/64 > > Webrev: > https://webrevs.openjdk.java.net/skara/64/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/64.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/64/head:pull/64 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Looks good! PR: https://git.openjdk.java.net/skara/pull/64 From duke at openjdk.java.net Thu Aug 22 08:22:26 2019 From: duke at openjdk.java.net (duke) Date: Thu, 22 Aug 2019 08:22:26 GMT Subject: git: openjdk/skara: 61: Remove sponsor label if PR is updated after flagged for integration Message-ID: Changeset: 8467aae8 Author: Robin Westberg Date: 2019-08-22 08:21:23 +0000 URL: https://git.openjdk.java.net/skara/commit/8467aae8 61: Remove sponsor label if PR is updated after flagged for integration Reviewed-by: ehelin ! bots/pr/src/main/java/org/openjdk/skara/bots/pr/CheckRun.java ! bots/pr/src/test/java/org/openjdk/skara/bots/pr/SponsorTests.java From duke at openjdk.java.net Thu Aug 22 08:23:26 2019 From: duke at openjdk.java.net (duke) Date: Thu, 22 Aug 2019 08:23:26 GMT Subject: git: openjdk/skara: Add support for ready markers to the PR bot as well Message-ID: <9efe83fc-d28b-4f6c-80ef-4ce0f9a3895d@openjdk.java.net> Changeset: ac33f2f4 Author: Robin Westberg Date: 2019-08-22 08:22:32 +0000 URL: https://git.openjdk.java.net/skara/commit/ac33f2f4 Add support for ready markers to the PR bot as well Reviewed-by: ehelin ! bots/pr/src/main/java/org/openjdk/skara/bots/pr/PullRequestBot.java ! bots/pr/src/main/java/org/openjdk/skara/bots/pr/PullRequestBotFactory.java ! bots/pr/src/test/java/org/openjdk/skara/bots/pr/CheckTests.java ! bots/pr/src/test/java/org/openjdk/skara/bots/pr/LabelerTests.java From duke at openjdk.java.net Thu Aug 22 09:13:48 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 22 Aug 2019 09:13:48 GMT Subject: RFR: Fix some issues building on Windows In-Reply-To: References: Message-ID: On Thu, 22 Aug 2019 04:45:26 GMT, Christian Stein via github.com wrote: > Building skara on Windows requires at least following changes: > > - `build.gradle`: enforce UTF-8 as source code encoding > - `BotRunnerConfigurationTests.java`: make assertion file separator agnostic > - `ProcessTests.java`: disable test class on Windows, all tests call tools that are not present by default on Windows > > After applying those changes, there're two more issues with building on Windows: > > - `VersionPlugin.java`: there's an `IOException` raised, which I _handled_ by setting the version property to `"unknown"`, around line 55: > ``` > } catch (IOException e) { > // throw new GradleException("could not read output from 'git rev-parse'", e); > project.setProperty("version", "unknown"); > } > ``` > - All tests that use `VCS.HG`, e.g. `JCheckTests#checksForCommit(VCS.HG)`, fail with: > `java.io.UncheckedIOException: java.io.IOException: Num headers (1) differ from num hunks (0)` which might(!) be related to a) how `git.exe`/`hg.exe` are invoked and/or b) due to `UnixStreamReader` only interpreting `\n` as a new line character ... or c) something completely different. > > ---------------- > > Commits: > - 7ffabbbf: Fix some tests running on Windows > - build.gradle: enforce UTF-8 as source code encoding > - BotRunnerConfigurationTests.java: make assertion file separator agnostic > - ProcessTests.java: disable test class on Windows, all tests call tools > that are not present by default on Windows > > Pull request: > https://git.openjdk.java.net/skara/pull/63 > > Webrev: > https://webrevs.openjdk.java.net/skara/63/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/63.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/63/head:pull/63 Thanks @sormuras for contributing! I know @jornvernee has been doing some work on getting the tests to pass on Windows as well, thank you for helping out in this area (me and @rwestberg use Linux and macOS). PR: https://git.openjdk.java.net/skara/pull/63 From duke at openjdk.java.net Thu Aug 22 09:14:09 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 22 Aug 2019 09:14:09 GMT Subject: RFR: Fix some issues building on Windows In-Reply-To: References: Message-ID: <1LtQDV_U9YUXnjL_8waJn1MYHTR0pES7wu7H5aU5d2w=.6df24ebe-fd50-4470-884c-c335bdb0f936@github.com> On Thu, 22 Aug 2019 04:45:26 GMT, Christian Stein via github.com wrote: > Building skara on Windows requires at least following changes: > > - `build.gradle`: enforce UTF-8 as source code encoding > - `BotRunnerConfigurationTests.java`: make assertion file separator agnostic > - `ProcessTests.java`: disable test class on Windows, all tests call tools that are not present by default on Windows > > After applying those changes, there're two more issues with building on Windows: > > - `VersionPlugin.java`: there's an `IOException` raised, which I _handled_ by setting the version property to `"unknown"`, around line 55: > ``` > } catch (IOException e) { > // throw new GradleException("could not read output from 'git rev-parse'", e); > project.setProperty("version", "unknown"); > } > ``` > - All tests that use `VCS.HG`, e.g. `JCheckTests#checksForCommit(VCS.HG)`, fail with: > `java.io.UncheckedIOException: java.io.IOException: Num headers (1) differ from num hunks (0)` which might(!) be related to a) how `git.exe`/`hg.exe` are invoked and/or b) due to `UnixStreamReader` only interpreting `\n` as a new line character ... or c) something completely different. > > ---------------- > > Commits: > - 7ffabbbf: Fix some tests running on Windows > - build.gradle: enforce UTF-8 as source code encoding > - BotRunnerConfigurationTests.java: make assertion file separator agnostic > - ProcessTests.java: disable test class on Windows, all tests call tools > that are not present by default on Windows > > Pull request: > https://git.openjdk.java.net/skara/pull/63 > > Webrev: > https://webrevs.openjdk.java.net/skara/63/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/63.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/63/head:pull/63 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Patch looks good! PR: https://git.openjdk.java.net/skara/pull/63 From duke at openjdk.java.net Thu Aug 22 09:20:26 2019 From: duke at openjdk.java.net (duke) Date: Thu, 22 Aug 2019 09:20:26 GMT Subject: git: openjdk/skara: Parse list of repositories to mirror as a list Message-ID: <18dc2b00-35d8-477d-9830-06056a136b77@openjdk.java.net> Changeset: 0f1e47d5 Author: Robin Westberg Date: 2019-08-22 09:19:55 +0000 URL: https://git.openjdk.java.net/skara/commit/0f1e47d5 Parse list of repositories to mirror as a list Reviewed-by: ehelin ! bots/mirror/src/main/java/org/openjdk/skara/bots/mirror/MirrorBotFactory.java From duke at openjdk.java.net Thu Aug 22 11:00:16 2019 From: duke at openjdk.java.net (Jorn Vernee via github.com) Date: Thu, 22 Aug 2019 11:00:16 GMT Subject: RFR: Fix some issues building on Windows In-Reply-To: References: Message-ID: On Thu, 22 Aug 2019 09:13:48 GMT, Erik Duveblad via github.com wrote: > On Thu, 22 Aug 2019 04:45:26 GMT, Christian Stein via github.com wrote: > >> Building skara on Windows requires at least following changes: >> >> - `build.gradle`: enforce UTF-8 as source code encoding >> - `BotRunnerConfigurationTests.java`: make assertion file separator agnostic >> - `ProcessTests.java`: disable test class on Windows, all tests call tools that are not present by default on Windows >> >> After applying those changes, there're two more issues with building on Windows: >> >> - `VersionPlugin.java`: there's an `IOException` raised, which I _handled_ by setting the version property to `"unknown"`, around line 55: >> ``` >> } catch (IOException e) { >> // throw new GradleException("could not read output from 'git rev-parse'", e); >> project.setProperty("version", "unknown"); >> } >> ``` >> - All tests that use `VCS.HG`, e.g. `JCheckTests#checksForCommit(VCS.HG)`, fail with: >> `java.io.UncheckedIOException: java.io.IOException: Num headers (1) differ from num hunks (0)` which might(!) be related to a) how `git.exe`/`hg.exe` are invoked and/or b) due to `UnixStreamReader` only interpreting `\n` as a new line character ... or c) something completely different. >> >> ---------------- >> >> Commits: >> - 7ffabbbf: Fix some tests running on Windows >> - build.gradle: enforce UTF-8 as source code encoding >> - BotRunnerConfigurationTests.java: make assertion file separator agnostic >> - ProcessTests.java: disable test class on Windows, all tests call tools >> that are not present by default on Windows >> >> Pull request: >> https://git.openjdk.java.net/skara/pull/63 >> >> Webrev: >> https://webrevs.openjdk.java.net/skara/63/webrev.00 >> >> Patch: >> https://git.openjdk.java.net/skara/pull/63.diff >> >> Fetch command: >> git fetch https://git.openjdk.java.net/skara pull/63/head:pull/63 > > Thanks @sormuras for contributing! I know @jornvernee has been doing some work on getting the tests to pass on Windows as well, thank you for helping out in this area (me and @rwestberg use Linux and macOS). > > PR: https://git.openjdk.java.net/skara/pull/63 @sormuras I'm guessing you're also on HG version 5? I'm seeing the same failure on your last point, due to HG changing the internal API, and one of the extensions no longer working. PR: https://git.openjdk.java.net/skara/pull/63 From duke at openjdk.java.net Thu Aug 22 11:16:24 2019 From: duke at openjdk.java.net (Christian Stein via github.com) Date: Thu, 22 Aug 2019 11:16:24 GMT Subject: RFR: Fix some issues building on Windows In-Reply-To: References: Message-ID: On Thu, 22 Aug 2019 11:00:16 GMT, Jorn Vernee via github.com wrote: > On Thu, 22 Aug 2019 09:13:48 GMT, Erik Duveblad via github.com wrote: > >> On Thu, 22 Aug 2019 04:45:26 GMT, Christian Stein via github.com wrote: >> >>> Building skara on Windows requires at least following changes: >>> >>> - `build.gradle`: enforce UTF-8 as source code encoding >>> - `BotRunnerConfigurationTests.java`: make assertion file separator agnostic >>> - `ProcessTests.java`: disable test class on Windows, all tests call tools that are not present by default on Windows >>> >>> After applying those changes, there're two more issues with building on Windows: >>> >>> - `VersionPlugin.java`: there's an `IOException` raised, which I _handled_ by setting the version property to `"unknown"`, around line 55: >>> ``` >>> } catch (IOException e) { >>> // throw new GradleException("could not read output from 'git rev-parse'", e); >>> project.setProperty("version", "unknown"); >>> } >>> ``` >>> - All tests that use `VCS.HG`, e.g. `JCheckTests#checksForCommit(VCS.HG)`, fail with: >>> `java.io.UncheckedIOException: java.io.IOException: Num headers (1) differ from num hunks (0)` which might(!) be related to a) how `git.exe`/`hg.exe` are invoked and/or b) due to `UnixStreamReader` only interpreting `\n` as a new line character ... or c) something completely different. >>> >>> ---------------- >>> >>> Commits: >>> - 7ffabbbf: Fix some tests running on Windows >>> - build.gradle: enforce UTF-8 as source code encoding >>> - BotRunnerConfigurationTests.java: make assertion file separator agnostic >>> - ProcessTests.java: disable test class on Windows, all tests call tools >>> that are not present by default on Windows >>> >>> Pull request: >>> https://git.openjdk.java.net/skara/pull/63 >>> >>> Webrev: >>> https://webrevs.openjdk.java.net/skara/63/webrev.00 >>> >>> Patch: >>> https://git.openjdk.java.net/skara/pull/63.diff >>> >>> Fetch command: >>> git fetch https://git.openjdk.java.net/skara pull/63/head:pull/63 >> >> Thanks @sormuras for contributing! I know @jornvernee has been doing some work on getting the tests to pass on Windows as well, thank you for helping out in this area (me and @rwestberg use Linux and macOS). >> >> PR: https://git.openjdk.java.net/skara/pull/63 > > @sormuras I'm guessing you're also on HG version 5? I'm seeing the same failure on your last point, due to HG changing the internal API, and one of the extensions no longer working. > > PR: https://git.openjdk.java.net/skara/pull/63 That's correct: ``` C:\Users\Sor>hg --version Mercurial Distributed SCM (version 5.0.2) ``` I may downgrade to ... [`4.7.x`](https://bitbucket.org/tortoisehg/files/downloads/), if that helps. PR: https://git.openjdk.java.net/skara/pull/63 From duke at openjdk.java.net Thu Aug 22 11:27:47 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 22 Aug 2019 11:27:47 GMT Subject: RFR: Fix some issues building on Windows In-Reply-To: References: Message-ID: On Thu, 22 Aug 2019 11:16:24 GMT, Christian Stein via github.com wrote: > On Thu, 22 Aug 2019 11:00:16 GMT, Jorn Vernee via github.com wrote: > >> On Thu, 22 Aug 2019 09:13:48 GMT, Erik Duveblad via github.com wrote: >> >>> On Thu, 22 Aug 2019 04:45:26 GMT, Christian Stein via github.com wrote: >>> >>>> Building skara on Windows requires at least following changes: >>>> >>>> - `build.gradle`: enforce UTF-8 as source code encoding >>>> - `BotRunnerConfigurationTests.java`: make assertion file separator agnostic >>>> - `ProcessTests.java`: disable test class on Windows, all tests call tools that are not present by default on Windows >>>> >>>> After applying those changes, there're two more issues with building on Windows: >>>> >>>> - `VersionPlugin.java`: there's an `IOException` raised, which I _handled_ by setting the version property to `"unknown"`, around line 55: >>>> ``` >>>> } catch (IOException e) { >>>> // throw new GradleException("could not read output from 'git rev-parse'", e); >>>> project.setProperty("version", "unknown"); >>>> } >>>> ``` >>>> - All tests that use `VCS.HG`, e.g. `JCheckTests#checksForCommit(VCS.HG)`, fail with: >>>> `java.io.UncheckedIOException: java.io.IOException: Num headers (1) differ from num hunks (0)` which might(!) be related to a) how `git.exe`/`hg.exe` are invoked and/or b) due to `UnixStreamReader` only interpreting `\n` as a new line character ... or c) something completely different. >>>> >>>> ---------------- >>>> >>>> Commits: >>>> - 7ffabbbf: Fix some tests running on Windows >>>> - build.gradle: enforce UTF-8 as source code encoding >>>> - BotRunnerConfigurationTests.java: make assertion file separator agnostic >>>> - ProcessTests.java: disable test class on Windows, all tests call tools >>>> that are not present by default on Windows >>>> >>>> Pull request: >>>> https://git.openjdk.java.net/skara/pull/63 >>>> >>>> Webrev: >>>> https://webrevs.openjdk.java.net/skara/63/webrev.00 >>>> >>>> Patch: >>>> https://git.openjdk.java.net/skara/pull/63.diff >>>> >>>> Fetch command: >>>> git fetch https://git.openjdk.java.net/skara pull/63/head:pull/63 >>> >>> Thanks @sormuras for contributing! I know @jornvernee has been doing some work on getting the tests to pass on Windows as well, thank you for helping out in this area (me and @rwestberg use Linux and macOS). >>> >>> PR: https://git.openjdk.java.net/skara/pull/63 >> >> @sormuras I'm guessing you're also on HG version 5? I'm seeing the same failure on your last point, due to HG changing the internal API, and one of the extensions no longer working. >> >> PR: https://git.openjdk.java.net/skara/pull/63 > > That's correct: > ``` > C:\Users\Sor>hg --version > Mercurial Distributed SCM (version 5.0.2) > ``` > I may downgrade to ... [`4.7.x`](https://bitbucket.org/tortoisehg/files/downloads/), if that helps. > > PR: https://git.openjdk.java.net/skara/pull/63 @sormuras I think Jorn already has a patch to get it working with 5.0.2, just hold on a little longer, no need to downgrade PR: https://git.openjdk.java.net/skara/pull/63 From duke at openjdk.java.net Thu Aug 22 11:31:35 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 22 Aug 2019 11:31:35 GMT Subject: RFR: Fix some issues building on Windows In-Reply-To: References: Message-ID: On Thu, 22 Aug 2019 11:27:47 GMT, Erik Duveblad via github.com wrote: > On Thu, 22 Aug 2019 11:16:24 GMT, Christian Stein via github.com wrote: > >> On Thu, 22 Aug 2019 11:00:16 GMT, Jorn Vernee via github.com wrote: >> >>> On Thu, 22 Aug 2019 09:13:48 GMT, Erik Duveblad via github.com wrote: >>> >>>> On Thu, 22 Aug 2019 04:45:26 GMT, Christian Stein via github.com wrote: >>>> >>>>> Building skara on Windows requires at least following changes: >>>>> >>>>> - `build.gradle`: enforce UTF-8 as source code encoding >>>>> - `BotRunnerConfigurationTests.java`: make assertion file separator agnostic >>>>> - `ProcessTests.java`: disable test class on Windows, all tests call tools that are not present by default on Windows >>>>> >>>>> After applying those changes, there're two more issues with building on Windows: >>>>> >>>>> - `VersionPlugin.java`: there's an `IOException` raised, which I _handled_ by setting the version property to `"unknown"`, around line 55: >>>>> ``` >>>>> } catch (IOException e) { >>>>> // throw new GradleException("could not read output from 'git rev-parse'", e); >>>>> project.setProperty("version", "unknown"); >>>>> } >>>>> ``` >>>>> - All tests that use `VCS.HG`, e.g. `JCheckTests#checksForCommit(VCS.HG)`, fail with: >>>>> `java.io.UncheckedIOException: java.io.IOException: Num headers (1) differ from num hunks (0)` which might(!) be related to a) how `git.exe`/`hg.exe` are invoked and/or b) due to `UnixStreamReader` only interpreting `\n` as a new line character ... or c) something completely different. >>>>> >>>>> ---------------- >>>>> >>>>> Commits: >>>>> - 7ffabbbf: Fix some tests running on Windows >>>>> - build.gradle: enforce UTF-8 as source code encoding >>>>> - BotRunnerConfigurationTests.java: make assertion file separator agnostic >>>>> - ProcessTests.java: disable test class on Windows, all tests call tools >>>>> that are not present by default on Windows >>>>> >>>>> Pull request: >>>>> https://git.openjdk.java.net/skara/pull/63 >>>>> >>>>> Webrev: >>>>> https://webrevs.openjdk.java.net/skara/63/webrev.00 >>>>> >>>>> Patch: >>>>> https://git.openjdk.java.net/skara/pull/63.diff >>>>> >>>>> Fetch command: >>>>> git fetch https://git.openjdk.java.net/skara pull/63/head:pull/63 >>>> >>>> Thanks @sormuras for contributing! I know @jornvernee has been doing some work on getting the tests to pass on Windows as well, thank you for helping out in this area (me and @rwestberg use Linux and macOS). >>>> >>>> PR: https://git.openjdk.java.net/skara/pull/63 >>> >>> @sormuras I'm guessing you're also on HG version 5? I'm seeing the same failure on your last point, due to HG changing the internal API, and one of the extensions no longer working. >>> >>> PR: https://git.openjdk.java.net/skara/pull/63 >> >> That's correct: >> ``` >> C:\Users\Sor>hg --version >> Mercurial Distributed SCM (version 5.0.2) >> ``` >> I may downgrade to ... [`4.7.x`](https://bitbucket.org/tortoisehg/files/downloads/), if that helps. >> >> PR: https://git.openjdk.java.net/skara/pull/63 > > @sormuras I think Jorn already has a patch to get it working with 5.0.2, just hold on a little longer, no need to downgrade > > PR: https://git.openjdk.java.net/skara/pull/63 I also took the patch for a spin on my Linux x86_64 machine, all tests pass with `sh gradlew test` :+1: PR: https://git.openjdk.java.net/skara/pull/63 From duke at openjdk.java.net Thu Aug 22 11:35:05 2019 From: duke at openjdk.java.net (Christian Stein via github.com) Date: Thu, 22 Aug 2019 11:35:05 GMT Subject: RFR: Fix some issues building on Windows In-Reply-To: References: Message-ID: On Thu, 22 Aug 2019 11:31:35 GMT, Erik Duveblad via github.com wrote: > On Thu, 22 Aug 2019 11:27:47 GMT, Erik Duveblad via github.com wrote: > >> On Thu, 22 Aug 2019 11:16:24 GMT, Christian Stein via github.com wrote: >> >>> On Thu, 22 Aug 2019 11:00:16 GMT, Jorn Vernee via github.com wrote: >>> >>>> On Thu, 22 Aug 2019 09:13:48 GMT, Erik Duveblad via github.com wrote: >>>> >>>>> On Thu, 22 Aug 2019 04:45:26 GMT, Christian Stein via github.com wrote: >>>>> >>>>>> Building skara on Windows requires at least following changes: >>>>>> >>>>>> - `build.gradle`: enforce UTF-8 as source code encoding >>>>>> - `BotRunnerConfigurationTests.java`: make assertion file separator agnostic >>>>>> - `ProcessTests.java`: disable test class on Windows, all tests call tools that are not present by default on Windows >>>>>> >>>>>> After applying those changes, there're two more issues with building on Windows: >>>>>> >>>>>> - `VersionPlugin.java`: there's an `IOException` raised, which I _handled_ by setting the version property to `"unknown"`, around line 55: >>>>>> ``` >>>>>> } catch (IOException e) { >>>>>> // throw new GradleException("could not read output from 'git rev-parse'", e); >>>>>> project.setProperty("version", "unknown"); >>>>>> } >>>>>> ``` >>>>>> - All tests that use `VCS.HG`, e.g. `JCheckTests#checksForCommit(VCS.HG)`, fail with: >>>>>> `java.io.UncheckedIOException: java.io.IOException: Num headers (1) differ from num hunks (0)` which might(!) be related to a) how `git.exe`/`hg.exe` are invoked and/or b) due to `UnixStreamReader` only interpreting `\n` as a new line character ... or c) something completely different. >>>>>> >>>>>> ---------------- >>>>>> >>>>>> Commits: >>>>>> - 7ffabbbf: Fix some tests running on Windows >>>>>> - build.gradle: enforce UTF-8 as source code encoding >>>>>> - BotRunnerConfigurationTests.java: make assertion file separator agnostic >>>>>> - ProcessTests.java: disable test class on Windows, all tests call tools >>>>>> that are not present by default on Windows >>>>>> >>>>>> Pull request: >>>>>> https://git.openjdk.java.net/skara/pull/63 >>>>>> >>>>>> Webrev: >>>>>> https://webrevs.openjdk.java.net/skara/63/webrev.00 >>>>>> >>>>>> Patch: >>>>>> https://git.openjdk.java.net/skara/pull/63.diff >>>>>> >>>>>> Fetch command: >>>>>> git fetch https://git.openjdk.java.net/skara pull/63/head:pull/63 >>>>> >>>>> Thanks @sormuras for contributing! I know @jornvernee has been doing some work on getting the tests to pass on Windows as well, thank you for helping out in this area (me and @rwestberg use Linux and macOS). >>>>> >>>>> PR: https://git.openjdk.java.net/skara/pull/63 >>>> >>>> @sormuras I'm guessing you're also on HG version 5? I'm seeing the same failure on your last point, due to HG changing the internal API, and one of the extensions no longer working. >>>> >>>> PR: https://git.openjdk.java.net/skara/pull/63 >>> >>> That's correct: >>> ``` >>> C:\Users\Sor>hg --version >>> Mercurial Distributed SCM (version 5.0.2) >>> ``` >>> I may downgrade to ... [`4.7.x`](https://bitbucket.org/tortoisehg/files/downloads/), if that helps. >>> >>> PR: https://git.openjdk.java.net/skara/pull/63 >> >> @sormuras I think Jorn already has a patch to get it working with 5.0.2, just hold on a little longer, no need to downgrade >> >> PR: https://git.openjdk.java.net/skara/pull/63 > > I also took the patch for a spin on my Linux x86_64 machine, all tests pass with `sh gradlew test` :+1: > > PR: https://git.openjdk.java.net/skara/pull/63 _off-topic_ Locally, I managed to upgrade Skara to JUnit `5.5.1` -- PR is in the making. PR: https://git.openjdk.java.net/skara/pull/63 From duke at openjdk.java.net Thu Aug 22 11:50:04 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 22 Aug 2019 11:50:04 GMT Subject: RFR: Convert path separators in patch file to unix explicitly In-Reply-To: References: Message-ID: On Thu, 1 Aug 2019 19:30:30 GMT, JornVernee via github.com wrote: > I ran into trouble when trying to apply a patch file generated with Windows Git to a mercurial repository through cygwin. It wasn't recognizing the files since the paths in the patch file were using Windows path separators. > > The spec doesn't seem to mention path separators: https://www.gnu.org/software/diffutils/manual/html_node/Detailed-Unified.html#Detailed-Unified > > But, both the Windows Git and Mercurial clients I have installed are handling unix path separators just fine. So, in this PR I've changed the patch file generators to use unix path separators explicitly, which solves the problem. > > ---------------- > > Commits: > - cefd6ae1: Convert path separators in patch file to unix explicitly > > Pull request: > http://git.openjdk.java.net/skara/pull/35 > > Webrev: > https://openjdk.github.io/cr/skara/35/webrev.00 > > Patch: > http://git.openjdk.java.net/skara/pull/35.diff > > Fetch command: > git fetch https://github.com/openjdk/skara.git pull/35/head:pull/35 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Sorry for taking so long to review this @JornVernee, the patch looks good! I executed `sh gradlew test` on Linux x86_64 and all tests passed! PR: https://git.openjdk.java.net/skara/pull/35 From duke at openjdk.java.net Thu Aug 22 11:56:25 2019 From: duke at openjdk.java.net (duke) Date: Thu, 22 Aug 2019 11:56:25 GMT Subject: git: openjdk/skara: Convert path separators in patch file to unix explicitly Message-ID: <77e0921a-5328-4734-8489-2517765e85be@openjdk.java.net> Changeset: 1b972348 Author: Jorn Vernee Date: 2019-08-22 11:55:27 +0000 URL: https://git.openjdk.java.net/skara/commit/1b972348 Convert path separators in patch file to unix explicitly Reviewed-by: ehelin ! vcs/src/main/java/org/openjdk/skara/vcs/Patch.java ! webrev/src/main/java/org/openjdk/skara/webrev/AddedPatchView.java ! webrev/src/main/java/org/openjdk/skara/webrev/PatchView.java ! webrev/src/main/java/org/openjdk/skara/webrev/RemovedPatchView.java ! webrev/src/main/java/org/openjdk/skara/webrev/ViewUtils.java From duke at openjdk.java.net Thu Aug 22 11:58:43 2019 From: duke at openjdk.java.net (Christian Stein via github.com) Date: Thu, 22 Aug 2019 11:58:43 GMT Subject: RFR: Upgrade JUnit 5 Message-ID: Upgrade JUnit 5 to Jupiter 5.5.1 and Platform 1.5.1 - Set Jupiter version number 5.5.1 - Introduce Platform Launcher 1.5.1 test runtime dependency in order to force Gradle to load the module from the module-path - Add missing "requires 'org.junit.jupiter.params'" directives in modules: jcheck, storage, vcs, and webrev Solves https://bugs.openjdk.java.net/projects/SKARA/issues/SKARA-69 ---------------- Commits: - 5e253f99: Upgrade JUnit 5 to Jupiter 5.5.1 and Platform 1.5.1 - Set Jupiter version number 5.5.1 - Introduce Platform Launcher 1.5.1 test runtime dependency in order to force Gradle to load the module from the module-path - Add missing "requires 'org.junit.jupiter.params'" directives in modules: jcheck, storage, vcs, and webrev Solves https://bugs.openjdk.java.net/projects/SKARA/issues/SKARA-69 Pull request: https://git.openjdk.java.net/skara/pull/66 Webrev: https://webrevs.openjdk.java.net/skara/66/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/66.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/66/head:pull/66 From duke at openjdk.java.net Thu Aug 22 12:04:42 2019 From: duke at openjdk.java.net (Jorn Vernee via github.com) Date: Thu, 22 Aug 2019 12:04:42 GMT Subject: RFR: Make ext.py compatible with hg5 api Message-ID: The HG api changes in version 5 to drop the first 2 parameters to `mercurial.match.exact`, which breaks the extension script. This PR detects whether we're running on hg 5, and if so, calls the function without the first 2 arguments instead. ---------------- Commits: - 741ee3e3: Make ext.py compatible with hg5 api Pull request: https://git.openjdk.java.net/skara/pull/67 Webrev: https://webrevs.openjdk.java.net/skara/67/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/67.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/67/head:pull/67 From duke at openjdk.java.net Thu Aug 22 12:14:12 2019 From: duke at openjdk.java.net (Christian Stein via github.com) Date: Thu, 22 Aug 2019 12:14:12 GMT Subject: RFR: Upgrade JUnit 5 In-Reply-To: References: Message-ID: The pull request has been updated with additional changes. ---------------- Added commits: - 732b8f71: Update README.md Pull request: https://git.openjdk.java.net/skara/pull/66 Webrevs: - full: https://webrevs.openjdk.java.net/skara/66/webrev.01 - inc: https://webrevs.openjdk.java.net/skara/66/webrev.00-01 Updated full patch: https://git.openjdk.java.net/skara/pull/66.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/66/head:pull/66 From duke at openjdk.java.net Thu Aug 22 12:25:19 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 22 Aug 2019 12:25:19 GMT Subject: RFR: Make ext.py compatible with hg5 api In-Reply-To: References: Message-ID: On Thu, 22 Aug 2019 12:04:42 GMT, Jorn Vernee via github.com wrote: > The HG api changes in version 5 to drop the first 2 parameters to `mercurial.match.exact`, which breaks the extension script. > > This PR detects whether we're running on hg 5, and if so, calls the function without the first 2 arguments instead. > > ---------------- > > Commits: > - 741ee3e3: Make ext.py compatible with hg5 api > > Pull request: > https://git.openjdk.java.net/skara/pull/67 > > Webrev: > https://webrevs.openjdk.java.net/skara/67/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/67.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/67/head:pull/67 vcs/src/main/resources/ext.py line 31: > 30: testedwith = '4.9.2 5.0.2' > 31: > 32: def mode(fctx): Does a space separated string named `testedWith` mean something special in Mercurial? Otherwise I would probably just have this a comment instead of a variable (or if you _really_ want a variable, why not use a `set`?) PR: https://git.openjdk.java.net/skara/pull/67 From duke at openjdk.java.net Thu Aug 22 12:26:55 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Thu, 22 Aug 2019 12:26:55 GMT Subject: RFR: A repository without refs but with objects is healthy Message-ID: Hi all, Please review this minor fix that makes a repository without refs but with some objects flagged as healthy. Best regards, Robin ---------------- Commits: - a4a30ab7: A repository without refs but with objects should still be considered healthy Pull request: https://git.openjdk.java.net/skara/pull/68 Webrev: https://webrevs.openjdk.java.net/skara/68/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/68.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/68/head:pull/68 From duke at openjdk.java.net Thu Aug 22 12:30:57 2019 From: duke at openjdk.java.net (Jorn Vernee via github.com) Date: Thu, 22 Aug 2019 12:30:57 GMT Subject: RFR: Make ext.py compatible with hg5 api In-Reply-To: References: Message-ID: On Thu, 22 Aug 2019 12:25:19 GMT, Erik Duveblad via github.com wrote: > On Thu, 22 Aug 2019 12:04:42 GMT, Jorn Vernee via github.com wrote: > >> The HG api changes in version 5 to drop the first 2 parameters to `mercurial.match.exact`, which breaks the extension script. >> >> This PR detects whether we're running on hg 5, and if so, calls the function without the first 2 arguments instead. >> >> ---------------- >> >> Commits: >> - 741ee3e3: Make ext.py compatible with hg5 api >> >> Pull request: >> https://git.openjdk.java.net/skara/pull/67 >> >> Webrev: >> https://webrevs.openjdk.java.net/skara/67/webrev.00 >> >> Patch: >> https://git.openjdk.java.net/skara/pull/67.diff >> >> Fetch command: >> git fetch https://git.openjdk.java.net/skara pull/67/head:pull/67 > > vcs/src/main/resources/ext.py line 31: > >> 30: testedwith = '4.9.2 5.0.2' >> 31: >> 32: def mode(fctx): > > Does a space separated string named `testedWith` mean something special in Mercurial? Otherwise I would probably just have this a comment instead of a variable (or if you _really_ want a variable, why not use a `set`?) > > PR: https://git.openjdk.java.net/skara/pull/67 It's used to mark supported versions per: https://www.mercurial-scm.org/wiki/WritingExtensions#Marking_compatible_versions PR: https://git.openjdk.java.net/skara/pull/67 From duke at openjdk.java.net Thu Aug 22 12:35:09 2019 From: duke at openjdk.java.net (Jorn Vernee via github.com) Date: Thu, 22 Aug 2019 12:35:09 GMT Subject: RFR: Make ext.py compatible with hg5 api In-Reply-To: References: Message-ID: <8w3zi_Twunki4E--EoainWogJKKIblmV-rw173ucXyU=.6361aa1a-751d-475a-8031-f5fe9491d83c@github.com> On Thu, 22 Aug 2019 12:25:19 GMT, Erik Duveblad via github.com wrote: > On Thu, 22 Aug 2019 12:04:42 GMT, Jorn Vernee via github.com wrote: > >> The HG api changes in version 5 to drop the first 2 parameters to `mercurial.match.exact`, which breaks the extension script. >> >> This PR detects whether we're running on hg 5, and if so, calls the function without the first 2 arguments instead. >> >> ---------------- >> >> Commits: >> - 741ee3e3: Make ext.py compatible with hg5 api >> >> Pull request: >> https://git.openjdk.java.net/skara/pull/67 >> >> Webrev: >> https://webrevs.openjdk.java.net/skara/67/webrev.00 >> >> Patch: >> https://git.openjdk.java.net/skara/pull/67.diff >> >> Fetch command: >> git fetch https://git.openjdk.java.net/skara pull/67/head:pull/67 > > vcs/src/main/resources/ext.py line 31: > >> 30: testedwith = '4.9.2 5.0.2' >> 31: >> 32: def mode(fctx): > > Does a space separated string named `testedWith` mean something special in Mercurial? Otherwise I would probably just have this a comment instead of a variable (or if you _really_ want a variable, why not use a `set`?) > > PR: https://git.openjdk.java.net/skara/pull/67 Not super needed, but the back trace I got earlier from the extension didn't include the supported versions. This adds the supported version to the backtrace e.g.: ``` ** Unknown exception encountered with possibly-broken third-party extension log-git ** which supports versions 4.9 of Mercurial. ``` Seemed nice to have... PR: https://git.openjdk.java.net/skara/pull/67 From duke at openjdk.java.net Thu Aug 22 12:35:49 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 22 Aug 2019 12:35:49 GMT Subject: RFR: Make ext.py compatible with hg5 api In-Reply-To: References: Message-ID: On Thu, 22 Aug 2019 12:25:19 GMT, Erik Duveblad via github.com wrote: > On Thu, 22 Aug 2019 12:04:42 GMT, Jorn Vernee via github.com wrote: > >> The HG api changes in version 5 to drop the first 2 parameters to `mercurial.match.exact`, which breaks the extension script. >> >> This PR detects whether we're running on hg 5, and if so, calls the function without the first 2 arguments instead. >> >> ---------------- >> >> Commits: >> - 741ee3e3: Make ext.py compatible with hg5 api >> >> Pull request: >> https://git.openjdk.java.net/skara/pull/67 >> >> Webrev: >> https://webrevs.openjdk.java.net/skara/67/webrev.00 >> >> Patch: >> https://git.openjdk.java.net/skara/pull/67.diff >> >> Fetch command: >> git fetch https://git.openjdk.java.net/skara pull/67/head:pull/67 > > vcs/src/main/resources/ext.py line 31: > >> 30: testedwith = '4.9.2 5.0.2' >> 31: >> 32: def mode(fctx): > > Does a space separated string named `testedWith` mean something special in Mercurial? Otherwise I would probably just have this a comment instead of a variable (or if you _really_ want a variable, why not use a `set`?) > > PR: https://git.openjdk.java.net/skara/pull/67 Ok, sounds good, lets keep it then :+1: PR: https://git.openjdk.java.net/skara/pull/67 From duke at openjdk.java.net Thu Aug 22 12:46:50 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 22 Aug 2019 12:46:50 GMT Subject: RFR: Make ext.py compatible with hg5 api In-Reply-To: References: Message-ID: <4vKQokjHaMpiRtbbejDiajK1LHus-aHg9XyqjU1gQYs=.eff9f411-3935-452b-9dea-383b36aa1eb3@github.com> On Thu, 22 Aug 2019 12:04:42 GMT, Jorn Vernee via github.com wrote: > The HG api changes in version 5 to drop the first 2 parameters to `mercurial.match.exact`, which breaks the extension script. > > This PR detects whether we're running on hg 5, and if so, calls the function without the first 2 arguments instead. > > ---------------- > > Commits: > - 741ee3e3: Make ext.py compatible with hg5 api > > Pull request: > https://git.openjdk.java.net/skara/pull/67 > > Webrev: > https://webrevs.openjdk.java.net/skara/67/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/67.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/67/head:pull/67 vcs/src/main/resources/ext.py line 62: > 61: Wrapper for mercurial.match.exact that ignores some arguments based on the used version > 62: """ > 63: if mercurial.util.versiontuple() < 5: Two questions here: 1. How does this check work? `versiontuple()` returns a tuple, e.g. `(4, 9, 2)`, how can you compare a tuple to an `int`? 2. `mercurial.util.versiontuple()` is fairly new (added 2015) whereas `mercurial.util.version()` has been around since 2009. Is it possible to implement the check using `mercurial.util.version()` instead? Like `mercurial.util.version().startswith("5")`? PR: https://git.openjdk.java.net/skara/pull/67 From duke at openjdk.java.net Thu Aug 22 12:55:41 2019 From: duke at openjdk.java.net (Jorn Vernee via github.com) Date: Thu, 22 Aug 2019 12:55:41 GMT Subject: RFR: Make ext.py compatible with hg5 api In-Reply-To: <4vKQokjHaMpiRtbbejDiajK1LHus-aHg9XyqjU1gQYs=.eff9f411-3935-452b-9dea-383b36aa1eb3@github.com> References: <4vKQokjHaMpiRtbbejDiajK1LHus-aHg9XyqjU1gQYs=.eff9f411-3935-452b-9dea-383b36aa1eb3@github.com> Message-ID: On Thu, 22 Aug 2019 12:46:50 GMT, Erik Duveblad via github.com wrote: > On Thu, 22 Aug 2019 12:04:42 GMT, Jorn Vernee via github.com wrote: > >> The HG api changes in version 5 to drop the first 2 parameters to `mercurial.match.exact`, which breaks the extension script. >> >> This PR detects whether we're running on hg 5, and if so, calls the function without the first 2 arguments instead. >> >> ---------------- >> >> Commits: >> - 741ee3e3: Make ext.py compatible with hg5 api >> >> Pull request: >> https://git.openjdk.java.net/skara/pull/67 >> >> Webrev: >> https://webrevs.openjdk.java.net/skara/67/webrev.00 >> >> Patch: >> https://git.openjdk.java.net/skara/pull/67.diff >> >> Fetch command: >> git fetch https://git.openjdk.java.net/skara pull/67/head:pull/67 > > vcs/src/main/resources/ext.py line 62: > >> 61: Wrapper for mercurial.match.exact that ignores some arguments based on the used version >> 62: """ >> 63: if mercurial.util.versiontuple() < 5: > > Two questions here: > 1. How does this check work? `versiontuple()` returns a tuple, e.g. `(4, 9, 2)`, how can you compare a tuple to an `int`? > 2. `mercurial.util.versiontuple()` is fairly new (added 2015) whereas `mercurial.util.version()` has been around since 2009. Is it possible to implement the check using `mercurial.util.version()` instead? Like `mercurial.util.version().startswith("5")`? > > PR: https://git.openjdk.java.net/skara/pull/67 1. My bad, supposed to compare the first element, which is not quite what happens when comparing with an `int` (though it works in the specific case I tested). 2. Yeah, I was afraid of that. Will switch to using `version()`. (could also go with the `try ... except` approach if you prefer) PR: https://git.openjdk.java.net/skara/pull/67 From duke at openjdk.java.net Thu Aug 22 12:57:57 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 22 Aug 2019 12:57:57 GMT Subject: RFR: A repository without refs but with objects is healthy In-Reply-To: References: Message-ID: On Thu, 22 Aug 2019 12:26:55 GMT, Robin Westberg via github.com wrote: > Hi all, > > Please review this minor fix that makes a repository without refs but with some objects flagged as healthy. > > Best regards, > Robin > > ---------------- > > Commits: > - a4a30ab7: A repository without refs but with objects should still be considered healthy > > Pull request: > https://git.openjdk.java.net/skara/pull/68 > > Webrev: > https://webrevs.openjdk.java.net/skara/68/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/68.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/68/head:pull/68 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Looks good, thanks for testing! PR: https://git.openjdk.java.net/skara/pull/68 From duke at openjdk.java.net Thu Aug 22 13:01:21 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 22 Aug 2019 13:01:21 GMT Subject: RFR: Fix some issues building on Windows In-Reply-To: References: Message-ID: On Thu, 22 Aug 2019 11:35:05 GMT, Christian Stein via github.com wrote: > On Thu, 22 Aug 2019 11:31:35 GMT, Erik Duveblad via github.com wrote: > >> On Thu, 22 Aug 2019 11:27:47 GMT, Erik Duveblad via github.com wrote: >> >>> On Thu, 22 Aug 2019 11:16:24 GMT, Christian Stein via github.com wrote: >>> >>>> On Thu, 22 Aug 2019 11:00:16 GMT, Jorn Vernee via github.com wrote: >>>> >>>>> On Thu, 22 Aug 2019 09:13:48 GMT, Erik Duveblad via github.com wrote: >>>>> >>>>>> On Thu, 22 Aug 2019 04:45:26 GMT, Christian Stein via github.com wrote: >>>>>> >>>>>>> Building skara on Windows requires at least following changes: >>>>>>> >>>>>>> - `build.gradle`: enforce UTF-8 as source code encoding >>>>>>> - `BotRunnerConfigurationTests.java`: make assertion file separator agnostic >>>>>>> - `ProcessTests.java`: disable test class on Windows, all tests call tools that are not present by default on Windows >>>>>>> >>>>>>> After applying those changes, there're two more issues with building on Windows: >>>>>>> >>>>>>> - `VersionPlugin.java`: there's an `IOException` raised, which I _handled_ by setting the version property to `"unknown"`, around line 55: >>>>>>> ``` >>>>>>> } catch (IOException e) { >>>>>>> // throw new GradleException("could not read output from 'git rev-parse'", e); >>>>>>> project.setProperty("version", "unknown"); >>>>>>> } >>>>>>> ``` >>>>>>> - All tests that use `VCS.HG`, e.g. `JCheckTests#checksForCommit(VCS.HG)`, fail with: >>>>>>> `java.io.UncheckedIOException: java.io.IOException: Num headers (1) differ from num hunks (0)` which might(!) be related to a) how `git.exe`/`hg.exe` are invoked and/or b) due to `UnixStreamReader` only interpreting `\n` as a new line character ... or c) something completely different. >>>>>>> >>>>>>> ---------------- >>>>>>> >>>>>>> Commits: >>>>>>> - 7ffabbbf: Fix some tests running on Windows >>>>>>> - build.gradle: enforce UTF-8 as source code encoding >>>>>>> - BotRunnerConfigurationTests.java: make assertion file separator agnostic >>>>>>> - ProcessTests.java: disable test class on Windows, all tests call tools >>>>>>> that are not present by default on Windows >>>>>>> >>>>>>> Pull request: >>>>>>> https://git.openjdk.java.net/skara/pull/63 >>>>>>> >>>>>>> Webrev: >>>>>>> https://webrevs.openjdk.java.net/skara/63/webrev.00 >>>>>>> >>>>>>> Patch: >>>>>>> https://git.openjdk.java.net/skara/pull/63.diff >>>>>>> >>>>>>> Fetch command: >>>>>>> git fetch https://git.openjdk.java.net/skara pull/63/head:pull/63 >>>>>> >>>>>> Thanks @sormuras for contributing! I know @jornvernee has been doing some work on getting the tests to pass on Windows as well, thank you for helping out in this area (me and @rwestberg use Linux and macOS). >>>>>> >>>>>> PR: https://git.openjdk.java.net/skara/pull/63 >>>>> >>>>> @sormuras I'm guessing you're also on HG version 5? I'm seeing the same failure on your last point, due to HG changing the internal API, and one of the extensions no longer working. >>>>> >>>>> PR: https://git.openjdk.java.net/skara/pull/63 >>>> >>>> That's correct: >>>> ``` >>>> C:\Users\Sor>hg --version >>>> Mercurial Distributed SCM (version 5.0.2) >>>> ``` >>>> I may downgrade to ... [`4.7.x`](https://bitbucket.org/tortoisehg/files/downloads/), if that helps. >>>> >>>> PR: https://git.openjdk.java.net/skara/pull/63 >>> >>> @sormuras I think Jorn already has a patch to get it working with 5.0.2, just hold on a little longer, no need to downgrade >>> >>> PR: https://git.openjdk.java.net/skara/pull/63 >> >> I also took the patch for a spin on my Linux x86_64 machine, all tests pass with `sh gradlew test` :+1: >> >> PR: https://git.openjdk.java.net/skara/pull/63 > > _off-topic_ Locally, I managed to upgrade Skara to JUnit `5.5.1` -- PR is in the making. > > PR: https://git.openjdk.java.net/skara/pull/63 @sormuras as the `openjdk[bot]` described above, you need to type the `/integrate` command in a comment for me to able to sponsor this PR :wink: PR: https://git.openjdk.java.net/skara/pull/63 From duke at openjdk.java.net Thu Aug 22 13:01:59 2019 From: duke at openjdk.java.net (Jorn Vernee via github.com) Date: Thu, 22 Aug 2019 13:01:59 GMT Subject: RFR: Fix 2 failing tests due to URI syntax errors Message-ID: There were 2 tests failing due to incorrect URI syntax resulting from directly using a path string as URI, which on Windows will contain incorrect path separators. This PR forces the path separators to be unix ones, and inserts an explicit leading slash before the local path starts (both are needed according to the URI spec). ---------------- Commits: - 3ea02c85: Force unix line endings when creating URI, and use three slashes which is needed if no hostname is in the URI Pull request: https://git.openjdk.java.net/skara/pull/69 Webrev: https://webrevs.openjdk.java.net/skara/69/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/69.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/69/head:pull/69 From duke at openjdk.java.net Thu Aug 22 13:03:15 2019 From: duke at openjdk.java.net (Jorn Vernee via github.com) Date: Thu, 22 Aug 2019 13:03:15 GMT Subject: RFR: Make ext.py compatible with hg5 api In-Reply-To: References: Message-ID: <7u9eBzfeJHK3wYmm0zBR9SNQMbi4U8gLR8MBQ_-0NzU=.ac14936a-5806-4410-afde-7307aae42a3d@github.com> The pull request has been updated with additional changes. ---------------- Added commits: - 91fb200e: Switched to using `version()` instead of `versiontuple()`, since the former is supported by older versions Pull request: https://git.openjdk.java.net/skara/pull/67 Webrevs: - full: https://webrevs.openjdk.java.net/skara/67/webrev.01 - inc: https://webrevs.openjdk.java.net/skara/67/webrev.00-01 Updated full patch: https://git.openjdk.java.net/skara/pull/67.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/67/head:pull/67 From duke at openjdk.java.net Thu Aug 22 13:03:17 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 22 Aug 2019 13:03:17 GMT Subject: RFR: Make ext.py compatible with hg5 api In-Reply-To: <4vKQokjHaMpiRtbbejDiajK1LHus-aHg9XyqjU1gQYs=.eff9f411-3935-452b-9dea-383b36aa1eb3@github.com> References: <4vKQokjHaMpiRtbbejDiajK1LHus-aHg9XyqjU1gQYs=.eff9f411-3935-452b-9dea-383b36aa1eb3@github.com> Message-ID: On Thu, 22 Aug 2019 12:46:50 GMT, Erik Duveblad via github.com wrote: > On Thu, 22 Aug 2019 12:04:42 GMT, Jorn Vernee via github.com wrote: > >> The HG api changes in version 5 to drop the first 2 parameters to `mercurial.match.exact`, which breaks the extension script. >> >> This PR detects whether we're running on hg 5, and if so, calls the function without the first 2 arguments instead. >> >> ---------------- >> >> Commits: >> - 741ee3e3: Make ext.py compatible with hg5 api >> >> Pull request: >> https://git.openjdk.java.net/skara/pull/67 >> >> Webrev: >> https://webrevs.openjdk.java.net/skara/67/webrev.00 >> >> Patch: >> https://git.openjdk.java.net/skara/pull/67.diff >> >> Fetch command: >> git fetch https://git.openjdk.java.net/skara pull/67/head:pull/67 > > vcs/src/main/resources/ext.py line 62: > >> 61: Wrapper for mercurial.match.exact that ignores some arguments based on the used version >> 62: """ >> 63: if mercurial.util.versiontuple() < 5: > > Two questions here: > 1. How does this check work? `versiontuple()` returns a tuple, e.g. `(4, 9, 2)`, how can you compare a tuple to an `int`? > 2. `mercurial.util.versiontuple()` is fairly new (added 2015) whereas `mercurial.util.version()` has been around since 2009. Is it possible to implement the check using `mercurial.util.version()` instead? Like `mercurial.util.version().startswith("5")`? > > PR: https://git.openjdk.java.net/skara/pull/67 1. No worries, that is why we review :+1: 2. Personally I would prefer something like `mercurial.util.version().startswith("5")` _if_ that approach works, I didn't check too carefully what `mercurial.util.version()` returns PR: https://git.openjdk.java.net/skara/pull/67 From duke at openjdk.java.net Thu Aug 22 13:04:36 2019 From: duke at openjdk.java.net (Jorn Vernee via github.com) Date: Thu, 22 Aug 2019 13:04:36 GMT Subject: RFR: Make ext.py compatible with hg5 api In-Reply-To: <4vKQokjHaMpiRtbbejDiajK1LHus-aHg9XyqjU1gQYs=.eff9f411-3935-452b-9dea-383b36aa1eb3@github.com> References: <4vKQokjHaMpiRtbbejDiajK1LHus-aHg9XyqjU1gQYs=.eff9f411-3935-452b-9dea-383b36aa1eb3@github.com> Message-ID: On Thu, 22 Aug 2019 12:46:50 GMT, Erik Duveblad via github.com wrote: > On Thu, 22 Aug 2019 12:04:42 GMT, Jorn Vernee via github.com wrote: > >> The HG api changes in version 5 to drop the first 2 parameters to `mercurial.match.exact`, which breaks the extension script. >> >> This PR detects whether we're running on hg 5, and if so, calls the function without the first 2 arguments instead. >> >> ---------------- >> >> Commits: >> - 741ee3e3: Make ext.py compatible with hg5 api >> >> Pull request: >> https://git.openjdk.java.net/skara/pull/67 >> >> Webrev: >> https://webrevs.openjdk.java.net/skara/67/webrev.00 >> >> Patch: >> https://git.openjdk.java.net/skara/pull/67.diff >> >> Fetch command: >> git fetch https://git.openjdk.java.net/skara pull/67/head:pull/67 > > vcs/src/main/resources/ext.py line 62: > >> 61: Wrapper for mercurial.match.exact that ignores some arguments based on the used version >> 62: """ >> 63: if mercurial.util.versiontuple() < 5: > > Two questions here: > 1. How does this check work? `versiontuple()` returns a tuple, e.g. `(4, 9, 2)`, how can you compare a tuple to an `int`? > 2. `mercurial.util.versiontuple()` is fairly new (added 2015) whereas `mercurial.util.version()` has been around since 2009. Is it possible to implement the check using `mercurial.util.version()` instead? Like `mercurial.util.version().startswith("5")`? > > PR: https://git.openjdk.java.net/skara/pull/67 I did (and then I noticed this shiny `versiontuple`, it just returns a string like `5.0.2` PR: https://git.openjdk.java.net/skara/pull/67 From duke at openjdk.java.net Thu Aug 22 13:10:26 2019 From: duke at openjdk.java.net (duke) Date: Thu, 22 Aug 2019 13:10:26 GMT Subject: git: openjdk/skara: Fix some issues building on Windows Message-ID: <13924733-335a-4176-b689-cfea1d98a767@openjdk.java.net> Changeset: b4b37e88 Author: Christian Stein Committer: Erik Helin Date: 2019-08-22 13:09:58 +0000 URL: https://git.openjdk.java.net/skara/commit/b4b37e88 Fix some issues building on Windows Reviewed-by: ehelin ! bot/src/test/java/org/openjdk/skara/bot/BotRunnerConfigurationTests.java ! build.gradle ! process/src/test/java/org/openjdk/skara/process/ProcessTests.java From duke at openjdk.java.net Thu Aug 22 13:10:35 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 22 Aug 2019 13:10:35 GMT Subject: RFR: Fix 2 failing tests due to URI syntax errors In-Reply-To: References: Message-ID: On Thu, 22 Aug 2019 13:01:59 GMT, Jorn Vernee via github.com wrote: > There were 2 tests failing due to incorrect URI syntax resulting from directly using a path string as URI, which on Windows will contain incorrect path separators. > > This PR forces the path separators to be unix ones, and inserts an explicit leading slash before the local path starts (both are needed according to the URI spec). > > ---------------- > > Commits: > - 3ea02c85: Force unix line endings when creating URI, and use three slashes which is needed if no hostname is in the URI > > Pull request: > https://git.openjdk.java.net/skara/pull/69 > > Webrev: > https://webrevs.openjdk.java.net/skara/69/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/69.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/69/head:pull/69 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Looks good, thanks for fixing! PR: https://git.openjdk.java.net/skara/pull/69 From duke at openjdk.java.net Thu Aug 22 13:12:09 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 22 Aug 2019 13:12:09 GMT Subject: RFR: Adding project explanation In-Reply-To: References: <-MuST5mONgBhLsT7eHFFxfcAKD4UfHXIaFVGSPw-qC4=.ff125f4f-5209-47dd-b30b-d93332f5e3eb@github.com> <4azhar5HlRDUGPSWwYkUWJj1z5l83tngEsmdyN0AaZs=.ea895474-4c49-45b8-9f2a-52f0b62285c5@github.com> Message-ID: <6xhiZG2Itz71XTA8VcpOESLd1rMiwRCqx4XtEp-vnmI=.8377e543-968d-4c59-926f-e78a2b88131c@github.com> On Fri, 16 Aug 2019 09:02:20 GMT, Marcus Hirt via github.com wrote: > On Fri, 16 Aug 2019 07:51:48 GMT, Erik Duveblad via github.com wrote: > >> On Fri, 16 Aug 2019 07:39:16 GMT, Erik Duveblad via github.com wrote: >> >>> On Mon, 1 Jul 2019 22:11:21 GMT, Marcus Hirt via github.com wrote: >>> >>>> On Mon, 1 Jul 2019 14:14:24 GMT, Marcus Hirt via github.com wrote: >>>> >>>>> On Mon, 1 Jul 2019 13:38:23 GMT, Erik Duveblad via github.com wrote: >>>>> >>>>>> On Mon, 1 Jul 2019 10:58:54 GMT, Marcus Hirt via github.com wrote: >>>>>> >>>>>>> ...as suggested in the Twitter discussion. :) >>>>>>> >>>>>>> ---------------- >>>>>>> >>>>>>> Commits: >>>>>>> - 4578553b: Adding project explanation >>>>>>> >>>>>>> Pull request: >>>>>>> http://git.openjdk.java.net/skara/pull/16 >>>>>>> >>>>>>> Webrev: >>>>>>> https://openjdk.github.io/cr/skara/16/webrev.00 >>>>>>> >>>>>>> Patch: >>>>>>> http://git.openjdk.java.net/skara/pull/16.diff >>>>>>> >>>>>>> Fetch command: >>>>>>> git fetch https://github.com/openjdk/skara.git 4578553b:pr/16 >>>>>> >>>>>> :tada: :rofl: >>>>> >>>>> That's a great band name right there - Indecisive Bots! >>>> >>>> Here is the twitter discussion: >>>> https://twitter.com/emilianbold/status/1143175227616239618?s=21 >>> >>> Thanks Marcus, the change looks good, but if you want to add me as contributor you need to use the `/contributor` command in a comment to list me as co-author: >>> >>> ``` >>> /contributor add Erik Duveblad >>> ``` >>> >>> PR: https://git.openjdk.java.net/skara/pull/16 >> >> Heh, I now realized (thanks to Robin) that you just incorporated my suggestion and that GitHub then automatically added me as co-author :smiley: _If_ you want to add me as co-author then you have to do as I described above, but I'm fine if you want to be sole author :smile_cat: >> >> PR: https://git.openjdk.java.net/skara/pull/16 > > Done! :) > > PR: https://git.openjdk.java.net/skara/pull/16 @thegreystone as the `openjdk[bot]` described above, you need to type the `/integrate` command in a comment to highlight that this PR is ready to be sponsored :wink: PR: https://git.openjdk.java.net/skara/pull/16 From duke at openjdk.java.net Thu Aug 22 13:12:59 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 22 Aug 2019 13:12:59 GMT Subject: RFR: Make ext.py compatible with hg5 api In-Reply-To: <4vKQokjHaMpiRtbbejDiajK1LHus-aHg9XyqjU1gQYs=.eff9f411-3935-452b-9dea-383b36aa1eb3@github.com> References: <4vKQokjHaMpiRtbbejDiajK1LHus-aHg9XyqjU1gQYs=.eff9f411-3935-452b-9dea-383b36aa1eb3@github.com> Message-ID: On Thu, 22 Aug 2019 12:46:50 GMT, Erik Duveblad via github.com wrote: > On Thu, 22 Aug 2019 12:04:42 GMT, Jorn Vernee via github.com wrote: > >> The HG api changes in version 5 to drop the first 2 parameters to `mercurial.match.exact`, which breaks the extension script. >> >> This PR detects whether we're running on hg 5, and if so, calls the function without the first 2 arguments instead. >> >> ---------------- >> >> Commits: >> - 741ee3e3: Make ext.py compatible with hg5 api >> >> Pull request: >> https://git.openjdk.java.net/skara/pull/67 >> >> Webrev: >> https://webrevs.openjdk.java.net/skara/67/webrev.00 >> >> Patch: >> https://git.openjdk.java.net/skara/pull/67.diff >> >> Fetch command: >> git fetch https://git.openjdk.java.net/skara pull/67/head:pull/67 > > vcs/src/main/resources/ext.py line 62: > >> 61: Wrapper for mercurial.match.exact that ignores some arguments based on the used version >> 62: """ >> 63: if mercurial.util.versiontuple() < 5: > > Two questions here: > 1. How does this check work? `versiontuple()` returns a tuple, e.g. `(4, 9, 2)`, how can you compare a tuple to an `int`? > 2. `mercurial.util.versiontuple()` is fairly new (added 2015) whereas `mercurial.util.version()` has been around since 2009. Is it possible to implement the check using `mercurial.util.version()` instead? Like `mercurial.util.version().startswith("5")`? > > PR: https://git.openjdk.java.net/skara/pull/67 Ok, great! PR: https://git.openjdk.java.net/skara/pull/67 From duke at openjdk.java.net Thu Aug 22 13:18:26 2019 From: duke at openjdk.java.net (duke) Date: Thu, 22 Aug 2019 13:18:26 GMT Subject: git: openjdk/skara: Fix 2 failing tests due to URI syntax errors Message-ID: Changeset: 69d6b6bc Author: Jorn Vernee Date: 2019-08-22 13:17:47 +0000 URL: https://git.openjdk.java.net/skara/commit/69d6b6bc Fix 2 failing tests due to URI syntax errors Reviewed-by: ehelin ! vcs/src/test/java/org/openjdk/skara/vcs/RepositoryTests.java From duke at openjdk.java.net Thu Aug 22 13:22:26 2019 From: duke at openjdk.java.net (duke) Date: Thu, 22 Aug 2019 13:22:26 GMT Subject: git: openjdk/skara: A repository without refs but with objects is healthy Message-ID: <471b7ac0-40d8-41f7-be40-54206d8f5f9a@openjdk.java.net> Changeset: 6d6a0b69 Author: Robin Westberg Date: 2019-08-22 13:22:18 +0000 URL: https://git.openjdk.java.net/skara/commit/6d6a0b69 A repository without refs but with objects is healthy Reviewed-by: ehelin ! vcs/src/main/java/org/openjdk/skara/vcs/git/GitRepository.java ! vcs/src/test/java/org/openjdk/skara/vcs/RepositoryTests.java From duke at openjdk.java.net Thu Aug 22 13:22:14 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 22 Aug 2019 13:22:14 GMT Subject: RFR: Make ext.py compatible with hg5 api In-Reply-To: References: Message-ID: On Thu, 22 Aug 2019 12:04:42 GMT, Jorn Vernee via github.com wrote: > The HG api changes in version 5 to drop the first 2 parameters to `mercurial.match.exact`, which breaks the extension script. > > This PR detects whether we're running on hg 5, and if so, calls the function without the first 2 arguments instead. > > ---------------- > > Commits: > - 741ee3e3: Make ext.py compatible with hg5 api > > Pull request: > https://git.openjdk.java.net/skara/pull/67 > > Webrev: > https://webrevs.openjdk.java.net/skara/67/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/67.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/67/head:pull/67 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Looks good, this is ready to go. I successfully run all tests on Linux x86_64 using `sh gradlew test` and Mercurial 4.9.0 PR: https://git.openjdk.java.net/skara/pull/67 From duke at openjdk.java.net Thu Aug 22 13:29:57 2019 From: duke at openjdk.java.net (Jorn Vernee via github.com) Date: Thu, 22 Aug 2019 13:29:57 GMT Subject: RFR: Make ext.py compatible with hg5 api In-Reply-To: References: Message-ID: The pull request has been updated with additional changes. ---------------- Added commits: - e785675d: Missed one other call to mercurial.match.exact (which showed up through another test) Pull request: https://git.openjdk.java.net/skara/pull/67 Webrevs: - full: https://webrevs.openjdk.java.net/skara/67/webrev.02 - inc: https://webrevs.openjdk.java.net/skara/67/webrev.01-02 Updated full patch: https://git.openjdk.java.net/skara/pull/67.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/67/head:pull/67 From duke at openjdk.java.net Thu Aug 22 13:30:36 2019 From: duke at openjdk.java.net (Jorn Vernee via github.com) Date: Thu, 22 Aug 2019 13:30:36 GMT Subject: RFR: Make ext.py compatible with hg5 api In-Reply-To: References: Message-ID: On Thu, 22 Aug 2019 12:04:42 GMT, Jorn Vernee via github.com wrote: > The HG api changes in version 5 to drop the first 2 parameters to `mercurial.match.exact`, which breaks the extension script. > > This PR detects whether we're running on hg 5, and if so, calls the function without the first 2 arguments instead. > > ---------------- > > Commits: > - 741ee3e3: Make ext.py compatible with hg5 api > > Pull request: > https://git.openjdk.java.net/skara/pull/67 > > Webrev: > https://webrevs.openjdk.java.net/skara/67/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/67.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/67/head:pull/67 @edvbld There was one other call to `mercurial.match.exact` which I forgot to change earlier (but was caught by another test)... changed that as well. Still good to go? PR: https://git.openjdk.java.net/skara/pull/67 From duke at openjdk.java.net Thu Aug 22 14:10:58 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 22 Aug 2019 14:10:58 GMT Subject: RFR: Upgrade JUnit 5 In-Reply-To: References: Message-ID: On Thu, 22 Aug 2019 11:58:43 GMT, Christian Stein via github.com wrote: > Upgrade JUnit 5 to Jupiter 5.5.1 and Platform 1.5.1 > > - Set Jupiter version number 5.5.1 > - Introduce Platform Launcher 1.5.1 test runtime dependency > in order to force Gradle to load the module from the module-path > - Add missing "requires 'org.junit.jupiter.params'" directives > in modules: jcheck, storage, vcs, and webrev > > Solves https://bugs.openjdk.java.net/projects/SKARA/issues/SKARA-69 > > ---------------- > > Commits: > - 5e253f99: Upgrade JUnit 5 to Jupiter 5.5.1 and Platform 1.5.1 > - Set Jupiter version number 5.5.1 > - Introduce Platform Launcher 1.5.1 test runtime dependency > in order to force Gradle to load the module from the module-path > - Add missing "requires 'org.junit.jupiter.params'" directives > in modules: jcheck, storage, vcs, and webrev > Solves https://bugs.openjdk.java.net/projects/SKARA/issues/SKARA-69 > > Pull request: > https://git.openjdk.java.net/skara/pull/66 > > Webrev: > https://webrevs.openjdk.java.net/skara/66/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/66.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/66/head:pull/66 build.gradle line 54: > 53: > 54: test { > 55: useJUnitPlatform() Hmm, I don't really follow here - how does adding a test runtime dependency on org.junit.platform:junit-platform-launcher:1.5.1 force Gradle to load the JUnit Platform launcher from the module path? Did you forgot to `git add` a change made to `buildSrc/.../ModulePlugin.java`? PR: https://git.openjdk.java.net/skara/pull/66 From duke at openjdk.java.net Thu Aug 22 14:16:17 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 22 Aug 2019 14:16:17 GMT Subject: RFR: Do not catch NoSuchElementException in HgOpenJDKImport Message-ID: Hi all, this patch removes catching `NoSuchElementException` in the `main` method for `HgOpenJDKImport` to ease debugging. ## Testing - [x] `sh gradlew test` passes on Linux x86_64 Thanks, Erik ---------------- Commits: - 5536e051: Do not catch NoSuchElementException in HgOpenJDKImport Pull request: https://git.openjdk.java.net/skara/pull/70 Webrev: https://webrevs.openjdk.java.net/skara/70/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/70.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/70/head:pull/70 From duke at openjdk.java.net Thu Aug 22 14:21:20 2019 From: duke at openjdk.java.net (Christian Stein via github.com) Date: Thu, 22 Aug 2019 14:21:20 GMT Subject: RFR: Upgrade JUnit 5 In-Reply-To: References: Message-ID: On Thu, 22 Aug 2019 14:10:58 GMT, Erik Duveblad via github.com wrote: > On Thu, 22 Aug 2019 11:58:43 GMT, Christian Stein via github.com wrote: > >> Upgrade JUnit 5 to Jupiter 5.5.1 and Platform 1.5.1 >> >> - Set Jupiter version number 5.5.1 >> - Introduce Platform Launcher 1.5.1 test runtime dependency >> in order to force Gradle to load the module from the module-path >> - Add missing "requires 'org.junit.jupiter.params'" directives >> in modules: jcheck, storage, vcs, and webrev >> >> Solves https://bugs.openjdk.java.net/projects/SKARA/issues/SKARA-69 >> >> ---------------- >> >> Commits: >> - 5e253f99: Upgrade JUnit 5 to Jupiter 5.5.1 and Platform 1.5.1 >> - Set Jupiter version number 5.5.1 >> - Introduce Platform Launcher 1.5.1 test runtime dependency >> in order to force Gradle to load the module from the module-path >> - Add missing "requires 'org.junit.jupiter.params'" directives >> in modules: jcheck, storage, vcs, and webrev >> Solves https://bugs.openjdk.java.net/projects/SKARA/issues/SKARA-69 >> >> Pull request: >> https://git.openjdk.java.net/skara/pull/66 >> >> Webrev: >> https://webrevs.openjdk.java.net/skara/66/webrev.00 >> >> Patch: >> https://git.openjdk.java.net/skara/pull/66.diff >> >> Fetch command: >> git fetch https://git.openjdk.java.net/skara pull/66/head:pull/66 > > build.gradle line 54: > >> 53: >> 54: test { >> 55: useJUnitPlatform() > > Hmm, I don't really follow here - how does adding a test runtime dependency on org.junit.platform:junit-platform-launcher:1.5.1 force Gradle to load the JUnit Platform launcher from the module path? Did you forgot to `git add` a change made to `buildSrc/.../ModulePlugin.java`? > > PR: https://git.openjdk.java.net/skara/pull/66 > Did you forgot to `git add` a change... No. The re-configuration of the Gradle `test` task is good as-is. IIRC and locally passing tests support that, Gradle uses JUnit Platform Launcher (and its dependencies) from the project dependencies -- and only injects one (on the class-path) if a project doesn't provide it. With `org.junit.platform:junit-platform-launcher:1.5.1` a) being present on the project's class-path and b) being moved to the module-path by the [`module` plugin](https://github.com/openjdk/skara/blob/master/buildSrc/module/src/main/java/org/openjdk/skara/gradle/module/ModulePlugin.java#L106), things work out again. Correct me if I'm wrong here, @marcphilipp, @britter, et al. PR: https://git.openjdk.java.net/skara/pull/66 From duke at openjdk.java.net Thu Aug 22 14:29:35 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Thu, 22 Aug 2019 14:29:35 GMT Subject: RFR: Do not catch NoSuchElementException in HgOpenJDKImport In-Reply-To: References: Message-ID: On Thu, 22 Aug 2019 14:16:17 GMT, Erik Duveblad via github.com wrote: > Hi all, > > this patch removes catching `NoSuchElementException` in the `main` method for `HgOpenJDKImport` to ease debugging. > > ## Testing > - [x] `sh gradlew test` passes on Linux x86_64 > > Thanks, > Erik > > ---------------- > > Commits: > - 5536e051: Do not catch NoSuchElementException in HgOpenJDKImport > > Pull request: > https://git.openjdk.java.net/skara/pull/70 > > Webrev: > https://webrevs.openjdk.java.net/skara/70/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/70.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/70/head:pull/70 This PR has been reviewed by Robin Westberg via github.com - a comment has been added. Review comment: Looks good otherwise! PR: https://git.openjdk.java.net/skara/pull/70 cli/src/main/java/org/openjdk/skara/cli/HgOpenJDKImport.java line 44: > 43: public static void main(String[] args) throws IOException, NoSuchElementException { > 44: var flags = List.of( > 45: Switch.shortcut("") Pre-existing, but it's a bit unclear why NoSuchElementException is used - plain RuntimeException (or Exception) would probably make more sense? Or perhaps something like NoSuchFileException? PR: https://git.openjdk.java.net/skara/pull/70 cli/src/main/java/org/openjdk/skara/cli/HgOpenJDKImport.java line 49: > 48: .optional(), > 49: Switch.shortcut("") > 50: .fullname("debug") And if you go with a RuntimeException-based one I guess there's no need to declare it here either. PR: https://git.openjdk.java.net/skara/pull/70 From duke at openjdk.java.net Thu Aug 22 14:40:18 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 22 Aug 2019 14:40:18 GMT Subject: RFR: Make ext.py compatible with hg5 api In-Reply-To: References: Message-ID: On Thu, 22 Aug 2019 13:30:36 GMT, Jorn Vernee via github.com wrote: > On Thu, 22 Aug 2019 12:04:42 GMT, Jorn Vernee via github.com wrote: > >> The HG api changes in version 5 to drop the first 2 parameters to `mercurial.match.exact`, which breaks the extension script. >> >> This PR detects whether we're running on hg 5, and if so, calls the function without the first 2 arguments instead. >> >> ---------------- >> >> Commits: >> - 741ee3e3: Make ext.py compatible with hg5 api >> >> Pull request: >> https://git.openjdk.java.net/skara/pull/67 >> >> Webrev: >> https://webrevs.openjdk.java.net/skara/67/webrev.00 >> >> Patch: >> https://git.openjdk.java.net/skara/pull/67.diff >> >> Fetch command: >> git fetch https://git.openjdk.java.net/skara pull/67/head:pull/67 > > @edvbld There was one other call to `mercurial.match.exact` which I forgot to change earlier (but was caught by another test)... changed that as well. > > Still good to go? > > PR: https://git.openjdk.java.net/skara/pull/67 @JornVernee yep, still good! PR: https://git.openjdk.java.net/skara/pull/67 From duke at openjdk.java.net Thu Aug 22 14:41:26 2019 From: duke at openjdk.java.net (duke) Date: Thu, 22 Aug 2019 14:41:26 GMT Subject: git: openjdk/skara: Make ext.py compatible with hg5 api Message-ID: <9ac7589b-cfaf-4378-ba02-4537745707bc@openjdk.java.net> Changeset: 256e498d Author: Jorn Vernee Date: 2019-08-22 14:40:38 +0000 URL: https://git.openjdk.java.net/skara/commit/256e498d Make ext.py compatible with hg5 api Reviewed-by: ehelin ! vcs/src/main/resources/ext.py From duke at openjdk.java.net Thu Aug 22 14:45:47 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 22 Aug 2019 14:45:47 GMT Subject: RFR: Do not catch NoSuchElementException in HgOpenJDKImport In-Reply-To: References: Message-ID: On Thu, 22 Aug 2019 14:29:37 GMT, Robin Westberg via github.com wrote: > On Thu, 22 Aug 2019 14:16:17 GMT, Erik Duveblad via github.com wrote: > >> Hi all, >> >> this patch removes catching `NoSuchElementException` in the `main` method for `HgOpenJDKImport` to ease debugging. >> >> ## Testing >> - [x] `sh gradlew test` passes on Linux x86_64 >> >> Thanks, >> Erik >> >> ---------------- >> >> Commits: >> - 5536e051: Do not catch NoSuchElementException in HgOpenJDKImport >> >> Pull request: >> https://git.openjdk.java.net/skara/pull/70 >> >> Webrev: >> https://webrevs.openjdk.java.net/skara/70/webrev.00 >> >> Patch: >> https://git.openjdk.java.net/skara/pull/70.diff >> >> Fetch command: >> git fetch https://git.openjdk.java.net/skara pull/70/head:pull/70 > > cli/src/main/java/org/openjdk/skara/cli/HgOpenJDKImport.java line 44: > >> 43: public static void main(String[] args) throws IOException, NoSuchElementException { >> 44: var flags = List.of( >> 45: Switch.shortcut("") > > Pre-existing, but it's a bit unclear why NoSuchElementException is used - plain RuntimeException (or Exception) would probably make more sense? Or perhaps something like NoSuchFileException? > > PR: https://git.openjdk.java.net/skara/pull/70 Yes, that is a bit unclear to me as well, and I even wrote the code in the first place :laughing: I _think_ I wanted my `catch` clause to catch `NoSuchElementException` so I could just do `.orElseThrow()` or `.get()` and still display a somewhat nice error message automatically. Pretty bad idea in retrospect, I will rework this. PR: https://git.openjdk.java.net/skara/pull/70 Yes, you are totally right, thanks! PR: https://git.openjdk.java.net/skara/pull/70 From duke at openjdk.java.net Thu Aug 22 15:04:44 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 22 Aug 2019 15:04:44 GMT Subject: RFR: Do not catch NoSuchElementException in HgOpenJDKImport In-Reply-To: References: Message-ID: <7EaGXOB-6wJ94SYVglHfVjUV9VR-nBH-1PdeFcCGjs0=.87cf9a48-d53a-4c3b-8464-4730e250d72c@github.com> The pull request has been updated with additional changes. ---------------- Added commits: - a8995930: Use ErrorException instead of NoSuchElementException Pull request: https://git.openjdk.java.net/skara/pull/70 Webrevs: - full: https://webrevs.openjdk.java.net/skara/70/webrev.01 - inc: https://webrevs.openjdk.java.net/skara/70/webrev.00-01 Updated full patch: https://git.openjdk.java.net/skara/pull/70.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/70/head:pull/70 From duke at openjdk.java.net Thu Aug 22 15:07:04 2019 From: duke at openjdk.java.net (Jorn Vernee via github.com) Date: Thu, 22 Aug 2019 15:07:04 GMT Subject: RFR: Force unix line endings when writing patch files Message-ID: Mercurial needs its patch files to end with unix line endings, so we need to use those explicitly when writing patch files (I've also been told on the hg irc that this is according to patch file spec). ---------------- Commits: - c1f1dda5: Force unix line endings when writing patch files Pull request: https://git.openjdk.java.net/skara/pull/71 Webrev: https://webrevs.openjdk.java.net/skara/71/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/71.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/71/head:pull/71 From duke at openjdk.java.net Thu Aug 22 15:13:34 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 22 Aug 2019 15:13:34 GMT Subject: RFR: Force unix line endings when writing patch files In-Reply-To: References: Message-ID: On Thu, 22 Aug 2019 15:07:04 GMT, Jorn Vernee via github.com wrote: > Mercurial needs its patch files to end with unix line endings, so we need to use those explicitly when writing patch files (I've also been told on the hg irc that this is according to patch file spec). > > ---------------- > > Commits: > - c1f1dda5: Force unix line endings when writing patch files > > Pull request: > https://git.openjdk.java.net/skara/pull/71 > > Webrev: > https://webrevs.openjdk.java.net/skara/71/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/71.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/71/head:pull/71 Hi Jorn, thanks for fixing this! If this patch fixes some tests to pass on Windows, which tests are now passing that didn't before this patch? PR: https://git.openjdk.java.net/skara/pull/71 From duke at openjdk.java.net Thu Aug 22 15:15:29 2019 From: duke at openjdk.java.net (Jorn Vernee via github.com) Date: Thu, 22 Aug 2019 15:15:29 GMT Subject: RFR: Force unix line endings when writing patch files In-Reply-To: References: Message-ID: On Thu, 22 Aug 2019 15:13:34 GMT, Erik Duveblad via github.com wrote: > On Thu, 22 Aug 2019 15:07:04 GMT, Jorn Vernee via github.com wrote: > >> Mercurial needs its patch files to end with unix line endings, so we need to use those explicitly when writing patch files (I've also been told on the hg irc that this is according to patch file spec). >> >> ---------------- >> >> Commits: >> - c1f1dda5: Force unix line endings when writing patch files >> >> Pull request: >> https://git.openjdk.java.net/skara/pull/71 >> >> Webrev: >> https://webrevs.openjdk.java.net/skara/71/webrev.00 >> >> Patch: >> https://git.openjdk.java.net/skara/pull/71.diff >> >> Fetch command: >> git fetch https://git.openjdk.java.net/skara pull/71/head:pull/71 > > Hi Jorn, > > thanks for fixing this! If this patch fixes some tests to pass on Windows, which tests are now passing that didn't before this patch? > > PR: https://git.openjdk.java.net/skara/pull/71 @edvbld Particularly; `GitToHgConverterTests::convertMergeCommitWithP0Diff` and `GitToHgConverterTests::convertMergeCommit`, which both failed while applying the patch. PR: https://git.openjdk.java.net/skara/pull/71 From duke at openjdk.java.net Fri Aug 23 05:36:08 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Fri, 23 Aug 2019 05:36:08 GMT Subject: RFR: Do not catch NoSuchElementException in HgOpenJDKImport In-Reply-To: References: Message-ID: On Thu, 22 Aug 2019 14:16:17 GMT, Erik Duveblad via github.com wrote: > Hi all, > > this patch removes catching `NoSuchElementException` in the `main` method for `HgOpenJDKImport` to ease debugging. > > ## Testing > - [x] `sh gradlew test` passes on Linux x86_64 > > Thanks, > Erik > > ---------------- > > Commits: > - 5536e051: Do not catch NoSuchElementException in HgOpenJDKImport > > Pull request: > https://git.openjdk.java.net/skara/pull/70 > > Webrev: > https://webrevs.openjdk.java.net/skara/70/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/70.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/70/head:pull/70 This PR has been reviewed by Robin Westberg via github.com - changes are approved. Review comment: Looks good! PR: https://git.openjdk.java.net/skara/pull/70 From duke at openjdk.java.net Fri Aug 23 05:48:26 2019 From: duke at openjdk.java.net (duke) Date: Fri, 23 Aug 2019 05:48:26 GMT Subject: git: openjdk/skara: Do not catch NoSuchElementException in HgOpenJDKImport Message-ID: <09be1093-4185-4df6-a916-7615b0321d8b@openjdk.java.net> Changeset: c582fb5b Author: Erik Helin Date: 2019-08-23 05:47:37 +0000 URL: https://git.openjdk.java.net/skara/commit/c582fb5b Do not catch NoSuchElementException in HgOpenJDKImport Reviewed-by: rwestberg ! cli/src/main/java/org/openjdk/skara/cli/HgOpenJDKImport.java From duke at openjdk.java.net Fri Aug 23 05:48:36 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Fri, 23 Aug 2019 05:48:36 GMT Subject: RFR: Force unix line endings when writing patch files In-Reply-To: References: Message-ID: On Thu, 22 Aug 2019 15:07:04 GMT, Jorn Vernee via github.com wrote: > Mercurial needs its patch files to end with unix line endings, so we need to use those explicitly when writing patch files (I've also been told on the hg irc that this is according to patch file spec). > > ---------------- > > Commits: > - c1f1dda5: Force unix line endings when writing patch files > > Pull request: > https://git.openjdk.java.net/skara/pull/71 > > Webrev: > https://webrevs.openjdk.java.net/skara/71/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/71.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/71/head:pull/71 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Looks good, thanks for fixing this @JornVernee! PR: https://git.openjdk.java.net/skara/pull/71 From duke at openjdk.java.net Fri Aug 23 06:32:52 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Fri, 23 Aug 2019 06:32:52 GMT Subject: RFR: Improve health check for git repositories Message-ID: <2KtgjorSQ8RtHybrY64M10FzqTwBmgzn9DXMuHGV-M0=.974cae08-4c41-440e-ac9b-240ecd2d0d78@github.com> Hi all, Please review this update to the isHealthy function. If a repository contains refs, pick one of those for testing branch creation, since it is possible that HEAD is not available. Best regards, Robin ---------------- Commits: - 53c3143c: Even if there are refs, HEAD might not be present Pull request: https://git.openjdk.java.net/skara/pull/72 Webrev: https://webrevs.openjdk.java.net/skara/72/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/72.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/72/head:pull/72 From duke at openjdk.java.net Fri Aug 23 06:35:19 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Fri, 23 Aug 2019 06:35:19 GMT Subject: RFR: Improve health check for git repositories In-Reply-To: <2KtgjorSQ8RtHybrY64M10FzqTwBmgzn9DXMuHGV-M0=.974cae08-4c41-440e-ac9b-240ecd2d0d78@github.com> References: <2KtgjorSQ8RtHybrY64M10FzqTwBmgzn9DXMuHGV-M0=.974cae08-4c41-440e-ac9b-240ecd2d0d78@github.com> Message-ID: On Fri, 23 Aug 2019 06:32:52 GMT, Robin Westberg via github.com wrote: > Hi all, > > Please review this update to the isHealthy function. If a repository contains refs, pick one of those for testing branch creation, since it is possible that HEAD is not available. > > Best regards, > Robin > > ---------------- > > Commits: > - 53c3143c: Even if there are refs, HEAD might not be present > > Pull request: > https://git.openjdk.java.net/skara/pull/72 > > Webrev: > https://webrevs.openjdk.java.net/skara/72/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/72.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/72/head:pull/72 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: LGTM PR: https://git.openjdk.java.net/skara/pull/72 From duke at openjdk.java.net Fri Aug 23 06:56:44 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Fri, 23 Aug 2019 06:56:44 GMT Subject: RFR: Add ReadOnlyRepository::files Message-ID: Hi all, this patch adds the `ReadOnlyRepository::files` method and also a unit test for the new method. ## Testing - [x] `sh gradlew test` passes on Linux x86_64 Thanks, Erik ---------------- Commits: - 50ef54f4: Add ReadOnlyRepository::files Pull request: https://git.openjdk.java.net/skara/pull/73 Webrev: https://webrevs.openjdk.java.net/skara/73/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/73.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/73/head:pull/73 From duke at openjdk.java.net Fri Aug 23 07:09:46 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Fri, 23 Aug 2019 07:09:46 GMT Subject: RFR: Add ReadOnlyRepository::files In-Reply-To: References: Message-ID: On Fri, 23 Aug 2019 06:56:44 GMT, Erik Duveblad via github.com wrote: > Hi all, > > this patch adds the `ReadOnlyRepository::files` method and also a unit test for the new method. > > ## Testing > - [x] `sh gradlew test` passes on Linux x86_64 > > Thanks, > Erik > > ---------------- > > Commits: > - 50ef54f4: Add ReadOnlyRepository::files > > Pull request: > https://git.openjdk.java.net/skara/pull/73 > > Webrev: > https://webrevs.openjdk.java.net/skara/73/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/73.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/73/head:pull/73 This PR has been reviewed by Robin Westberg via github.com - changes are approved. Review comment: Looks good! PR: https://git.openjdk.java.net/skara/pull/73 From duke at openjdk.java.net Fri Aug 23 08:47:20 2019 From: duke at openjdk.java.net (Jorn Vernee via github.com) Date: Fri, 23 Aug 2019 08:47:20 GMT Subject: RFR: Expect carriage return to be part of lines when testing on Windows. Message-ID: <9BwdUygE2hmc_PXBolygYRimkFUbvc3vyAZ0g98fR8g=.d78d6e72-97e4-4f3f-bb1d-7bf99c030b14@github.com> One more patch to address failing `vcs` tests on Windows. The tests in `RepositoryTest` use `Files::write` to create some test files, but this also means the files will have Windows line endings (i.e. CRLF). When these are parsed by the skara tooling the LF part is dropped as a delimiter, but the CR part ends up being part of the line. This is all correct and as expected, since patch files are supposed to have unix line endings, so the carriage return ends up as part of the content. The problem comes when testing what is written to the file. The tests are not expecting the Windows line endings to be there, so a lot of them fail. This PR changes the tests to expect the Windows line endings as well. Or rather, it tries to stick what's in the system line separator (minus a trailing '\n', since that is dropped as a delimiter) at the end of the checked line. With this patch, I have all the `vcs` tests passing locally. ---------------- Commits: - eec50c80: Expect carriage return to be part of lines when testing on Windows. Pull request: https://git.openjdk.java.net/skara/pull/74 Webrev: https://webrevs.openjdk.java.net/skara/74/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/74.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/74/head:pull/74 From duke at openjdk.java.net Fri Aug 23 08:57:48 2019 From: duke at openjdk.java.net (Leo Korinth via github.com) Date: Fri, 23 Aug 2019 08:57:48 GMT Subject: RFR: Use positional argument if present Message-ID: I hope this implements what is documented in the help message: ```usage: git webrev [options] []``` ---------------- Commits: - fb4660f0: Use positional argument if present Pull request: https://git.openjdk.java.net/skara/pull/75 Webrev: https://webrevs.openjdk.java.net/skara/75/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/75.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/75/head:pull/75 From duke at openjdk.java.net Fri Aug 23 08:57:56 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Fri, 23 Aug 2019 08:57:56 GMT Subject: RFR: Expect carriage return to be part of lines when testing on Windows. In-Reply-To: <9BwdUygE2hmc_PXBolygYRimkFUbvc3vyAZ0g98fR8g=.d78d6e72-97e4-4f3f-bb1d-7bf99c030b14@github.com> References: <9BwdUygE2hmc_PXBolygYRimkFUbvc3vyAZ0g98fR8g=.d78d6e72-97e4-4f3f-bb1d-7bf99c030b14@github.com> Message-ID: On Fri, 23 Aug 2019 08:47:20 GMT, Jorn Vernee via github.com wrote: > One more patch to address failing `vcs` tests on Windows. > > The tests in `RepositoryTest` use `Files::write` to create some test files, but this also means the files will have Windows line endings (i.e. CRLF). When these are parsed by the skara tooling the LF part is dropped as a delimiter, but the CR part ends up being part of the line. This is all correct and as expected, since patch files are supposed to have unix line endings, so the carriage return ends up as part of the content. > > The problem comes when testing what is written to the file. The tests are not expecting the Windows line endings to be there, so a lot of them fail. > > This PR changes the tests to expect the Windows line endings as well. Or rather, it tries to stick what's in the system line separator (minus a trailing '\n', since that is dropped as a delimiter) at the end of the checked line. > > With this patch, I have all the `vcs` tests passing locally. > > ---------------- > > Commits: > - eec50c80: Expect carriage return to be part of lines when testing on Windows. > > Pull request: > https://git.openjdk.java.net/skara/pull/74 > > Webrev: > https://webrevs.openjdk.java.net/skara/74/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/74.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/74/head:pull/74 First of all, thank so much @JornVernee for getting the `vcs` tests to pass on Windows! Regarding your patch, what do you think about the static method `assertLinesEquals` instead of having to use `suffixPlatformLineEndings` everywhere? This way the tests reads a bit nicer, like `assertLinesEquals(List.of("Hello, readme!"), hunk.target().lines())` PR: https://git.openjdk.java.net/skara/pull/74 From duke at openjdk.java.net Fri Aug 23 08:58:51 2019 From: duke at openjdk.java.net (Leo Korinth via github.com) Date: Fri, 23 Aug 2019 08:58:51 GMT Subject: RFR: Allow output path to be created with arbitrary directory nesting Message-ID: createDirectories works like ```mkdir -p``` and the _exists_ check is no longer needed ---------------- Commits: - 3c40edbf: Allow output path to be created with arbitrary directory nesting Pull request: https://git.openjdk.java.net/skara/pull/76 Webrev: https://webrevs.openjdk.java.net/skara/76/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/76.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/76/head:pull/76 From duke at openjdk.java.net Fri Aug 23 09:11:15 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Fri, 23 Aug 2019 09:11:15 GMT Subject: RFR: Use positional argument if present In-Reply-To: References: Message-ID: On Fri, 23 Aug 2019 08:57:48 GMT, Leo Korinth via github.com wrote: > I hope this implements what is documented in the help message: > ```usage: git webrev [options] []``` > > ---------------- > > Commits: > - fb4660f0: Use positional argument if present > > Pull request: > https://git.openjdk.java.net/skara/pull/75 > > Webrev: > https://webrevs.openjdk.java.net/skara/75/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/75.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/75/head:pull/75 Hi Leo, thanks for contributing! The problem here is actually that the help text is wrong, not the code...We want to keep backwards compatability with `webrev.ksh` and `webrev.ksh` only accepts an optional revision to compare against by using the `-r, --rev` argument. With regards to the patch itself, it actually doesn't do what you think it does. The `Webrev` API is a bit cumbersome (thanks to me, I wrote it), but the arguments to `generate` are actually `from` and `to`. If the user does not use the `-r,--rev` option then the `rev` variable becomes `HEAD` and the call to `generate` would then become `generate(HEAD, )`, where `` is what the user supplied as the positional argument 0. That wouldn't work, think of a `git diff` expression like `git diff HEAD..`, you can't compare from `HEAD`, because `HEAD` does not have descendants (that is the definition of `HEAD` after all). All in all, I would suggest closing this PR. I _know_ that some people want to explicitly create a webrev between two commits, and the `Webrev` API supports it, I'm just hesitant to lose backwards compatability with `webrev.ksh` (webrev.ksh has never supported this). A `git` style solution would be to only support a positional argument (`git webrev` used to do this), a `hg` style solution would be to support multiple `-r` arguments. The `git` style solution would mean breaking backward compatability, the `hg` style solution could work. The workaround today is the same as for `git webrev` as for `webrev.ksh`: if you want to generate a webrev from commit A to commit B, you checkout/update B and then do `git webrev -r A` (or `webrev.ksh -r A`). PR: https://git.openjdk.java.net/skara/pull/75 From duke at openjdk.java.net Fri Aug 23 09:12:43 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Fri, 23 Aug 2019 09:12:43 GMT Subject: RFR: Allow output path to be created with arbitrary directory nesting In-Reply-To: References: Message-ID: <5oPq7qkoiG7DpVpKa2U4HPUKeHd_InKcoyIyfVEyOKM=.47881ea9-9c4c-410b-b3a8-a4eeeedac1f7@github.com> On Fri, 23 Aug 2019 08:58:51 GMT, Leo Korinth via github.com wrote: > createDirectories works like ```mkdir -p``` and the _exists_ check is no longer needed > > ---------------- > > Commits: > - 3c40edbf: Allow output path to be created with arbitrary directory nesting > > Pull request: > https://git.openjdk.java.net/skara/pull/76 > > Webrev: > https://webrevs.openjdk.java.net/skara/76/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/76.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/76/head:pull/76 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Thanks, looks good! PR: https://git.openjdk.java.net/skara/pull/76 From duke at openjdk.java.net Fri Aug 23 09:37:40 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Fri, 23 Aug 2019 09:37:40 GMT Subject: RFR: Avoid using getUrl when creating folder names Message-ID: Hi all, Please review this change that replaces calls to getUrl with getWebUrl when creating names of folders to clone repositories into. The problem is that getUrl can contain credentials, which getWebUrl does not. Best regards, Robin ---------------- Commits: - 53ede458: Avoid using getUrl when creating folder names, as it may contain credentials Pull request: https://git.openjdk.java.net/skara/pull/77 Webrev: https://webrevs.openjdk.java.net/skara/77/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/77.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/77/head:pull/77 From duke at openjdk.java.net Fri Aug 23 09:37:42 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Fri, 23 Aug 2019 09:37:42 GMT Subject: RFR: Avoid using getUrl when creating folder names In-Reply-To: References: Message-ID: On Fri, 23 Aug 2019 09:37:40 GMT, Robin Westberg via github.com wrote: > Hi all, > > Please review this change that replaces calls to getUrl with getWebUrl when creating names of folders to clone repositories into. The problem is that getUrl can contain credentials, which getWebUrl does not. > > Best regards, > Robin > > ---------------- > > Commits: > - 53ede458: Avoid using getUrl when creating folder names, as it may contain credentials > > Pull request: > https://git.openjdk.java.net/skara/pull/77 > > Webrev: > https://webrevs.openjdk.java.net/skara/77/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/77.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/77/head:pull/77 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Looks good, great fix! PR: https://git.openjdk.java.net/skara/pull/77 From duke at openjdk.java.net Fri Aug 23 09:38:24 2019 From: duke at openjdk.java.net (duke) Date: Fri, 23 Aug 2019 09:38:24 GMT Subject: git: openjdk/skara: Avoid using getUrl when creating folder names Message-ID: <203c2b07-1526-49a9-8d28-7935a065dfec@openjdk.java.net> Changeset: 43d34ccc Author: Robin Westberg Date: 2019-08-23 09:38:10 +0000 URL: https://github.com/openjdk/skara/commit/43d34ccc Avoid using getUrl when creating folder names Reviewed-by: ehelin ! bots/forward/src/main/java/org/openjdk/skara/bots/forward/ForwardBot.java ! bots/mirror/src/main/java/org/openjdk/skara/bots/mirror/MirrorBot.java ! bots/notify/src/main/java/org/openjdk/skara/bots/notify/JNotifyBot.java ! bots/pr/src/main/java/org/openjdk/skara/bots/pr/IntegrateCommand.java ! bots/pr/src/main/java/org/openjdk/skara/bots/pr/SponsorCommand.java From duke at openjdk.java.net Fri Aug 23 09:52:34 2019 From: duke at openjdk.java.net (duke) Date: Fri, 23 Aug 2019 09:52:34 GMT Subject: git: openjdk/skara: Allow output path to be created with arbitrary directory nesting Message-ID: <12559cd2-ae92-4861-9844-89d440b66860@openjdk.java.net> Changeset: 1c632faf Author: Leo Korinth Committer: Erik Helin Date: 2019-08-23 09:48:35 +0000 URL: https://github.com/openjdk/skara/commit/1c632faf Allow output path to be created with arbitrary directory nesting Reviewed-by: ehelin ! webrev/src/main/java/org/openjdk/skara/webrev/Webrev.java From duke at openjdk.java.net Fri Aug 23 09:55:38 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Fri, 23 Aug 2019 09:55:38 GMT Subject: RFR: Add ReadOnlyRepository::dump Message-ID: Hi all, this patch adds the `ReadOnlyRepository::dump` method and a corresponding unit test. ## Testing - [x] `sh gradlew test` passes on Linux x86_64 Thanks! Erik ---------------- Commits: - 6057ad07: Add ReadOnlyRepository::dump Pull request: https://git.openjdk.java.net/skara/pull/78 Webrev: https://webrevs.openjdk.java.net/skara/78/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/78.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/78/head:pull/78 From duke at openjdk.java.net Fri Aug 23 11:02:08 2019 From: duke at openjdk.java.net (Jorn Vernee via github.com) Date: Fri, 23 Aug 2019 11:02:08 GMT Subject: RFR: Expect carriage return to be part of lines when testing on Windows. In-Reply-To: <9BwdUygE2hmc_PXBolygYRimkFUbvc3vyAZ0g98fR8g=.d78d6e72-97e4-4f3f-bb1d-7bf99c030b14@github.com> References: <9BwdUygE2hmc_PXBolygYRimkFUbvc3vyAZ0g98fR8g=.d78d6e72-97e4-4f3f-bb1d-7bf99c030b14@github.com> Message-ID: The pull request has been updated with additional changes. ---------------- Added commits: - 5c6e55fd: Use specialized assertLinesEquals per review comment Pull request: https://git.openjdk.java.net/skara/pull/74 Webrevs: - full: https://webrevs.openjdk.java.net/skara/74/webrev.01 - inc: https://webrevs.openjdk.java.net/skara/74/webrev.00-01 Updated full patch: https://git.openjdk.java.net/skara/pull/74.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/74/head:pull/74 From duke at openjdk.java.net Fri Aug 23 11:15:10 2019 From: duke at openjdk.java.net (Jorn Vernee via github.com) Date: Fri, 23 Aug 2019 11:15:10 GMT Subject: RFR: Expect carriage return to be part of lines when testing on Windows. In-Reply-To: <9BwdUygE2hmc_PXBolygYRimkFUbvc3vyAZ0g98fR8g=.d78d6e72-97e4-4f3f-bb1d-7bf99c030b14@github.com> References: <9BwdUygE2hmc_PXBolygYRimkFUbvc3vyAZ0g98fR8g=.d78d6e72-97e4-4f3f-bb1d-7bf99c030b14@github.com> Message-ID: The pull request has been updated with additional changes. ---------------- Added commits: - 13fa2c29: Also using assertLinesEquals for empty List.of(), to make it clear what it is being checked. Pull request: https://git.openjdk.java.net/skara/pull/74 Webrevs: - full: https://webrevs.openjdk.java.net/skara/74/webrev.02 - inc: https://webrevs.openjdk.java.net/skara/74/webrev.01-02 Updated full patch: https://git.openjdk.java.net/skara/pull/74.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/74/head:pull/74 From duke at openjdk.java.net Fri Aug 23 11:15:11 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Fri, 23 Aug 2019 11:15:11 GMT Subject: RFR: Expect carriage return to be part of lines when testing on Windows. In-Reply-To: <9BwdUygE2hmc_PXBolygYRimkFUbvc3vyAZ0g98fR8g=.d78d6e72-97e4-4f3f-bb1d-7bf99c030b14@github.com> References: <9BwdUygE2hmc_PXBolygYRimkFUbvc3vyAZ0g98fR8g=.d78d6e72-97e4-4f3f-bb1d-7bf99c030b14@github.com> Message-ID: <0GP_8VdvtBK6f8bkkKPL3FM3oTEyMB60mwwNHZ9QLTg=.dfcf6192-f08b-400b-b947-209eb1eab7fc@github.com> On Fri, 23 Aug 2019 08:47:20 GMT, Jorn Vernee via github.com wrote: > One more patch to address failing `vcs` tests on Windows. > > The tests in `RepositoryTest` use `Files::write` to create some test files, but this also means the files will have Windows line endings (i.e. CRLF). When these are parsed by the skara tooling the LF part is dropped as a delimiter, but the CR part ends up being part of the line. This is all correct and as expected, since patch files are supposed to have unix line endings, so the carriage return ends up as part of the content. > > The problem comes when testing what is written to the file. The tests are not expecting the Windows line endings to be there, so a lot of them fail. > > This PR changes the tests to expect the Windows line endings as well. Or rather, it tries to stick what's in the system line separator (minus a trailing '\n', since that is dropped as a delimiter) at the end of the checked line. > > With this patch, I have all the `vcs` tests passing locally. > > ---------------- > > Commits: > - eec50c80: Expect carriage return to be part of lines when testing on Windows. > > Pull request: > https://git.openjdk.java.net/skara/pull/74 > > Webrev: > https://webrevs.openjdk.java.net/skara/74/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/74.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/74/head:pull/74 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Looks good, thanks! PR: https://git.openjdk.java.net/skara/pull/74 From duke at openjdk.java.net Fri Aug 23 11:19:15 2019 From: duke at openjdk.java.net (duke) Date: Fri, 23 Aug 2019 11:19:15 GMT Subject: git: openjdk/skara: Expect carriage return to be part of lines when testing on Windows. Message-ID: Changeset: 9c156f5c Author: Jorn Vernee Date: 2019-08-23 11:18:36 +0000 URL: https://github.com/openjdk/skara/commit/9c156f5c Expect carriage return to be part of lines when testing on Windows. Reviewed-by: ehelin ! vcs/src/test/java/org/openjdk/skara/vcs/RepositoryTests.java From duke at openjdk.java.net Fri Aug 23 11:59:46 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Fri, 23 Aug 2019 11:59:46 GMT Subject: RFR: Add ReadOnlyRepository::dump In-Reply-To: References: Message-ID: On Fri, 23 Aug 2019 09:55:38 GMT, Erik Duveblad via github.com wrote: > Hi all, > > this patch adds the `ReadOnlyRepository::dump` method and a corresponding unit test. > > ## Testing > - [x] `sh gradlew test` passes on Linux x86_64 > > Thanks! > Erik > > ---------------- > > Commits: > - 6057ad07: Add ReadOnlyRepository::dump > > Pull request: > https://git.openjdk.java.net/skara/pull/78 > > Webrev: > https://webrevs.openjdk.java.net/skara/78/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/78.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/78/head:pull/78 vcs/src/main/java/org/openjdk/skara/vcs/ReadOnlyRepository.java line 69: > 68: > 69: boolean dump(FileEntry entry, Path to) throws IOException; > 70: Diff diff(Hash base, Hash head) throws IOException; Is it useful to have a return value? Perhaps you are planning to use it in the future, but if so, it should probably have a test.. PR: https://git.openjdk.java.net/skara/pull/78 From duke at openjdk.java.net Fri Aug 23 12:13:53 2019 From: duke at openjdk.java.net (Leo Korinth via github.com) Date: Fri, 23 Aug 2019 12:13:53 GMT Subject: RFR: Use positional argument if present In-Reply-To: References: Message-ID: On Fri, 23 Aug 2019 09:11:15 GMT, Erik Duveblad via github.com wrote: > On Fri, 23 Aug 2019 08:57:48 GMT, Leo Korinth via github.com wrote: > >> I hope this implements what is documented in the help message: >> ```usage: git webrev [options] []``` >> >> ---------------- >> >> Commits: >> - fb4660f0: Use positional argument if present >> >> Pull request: >> https://git.openjdk.java.net/skara/pull/75 >> >> Webrev: >> https://webrevs.openjdk.java.net/skara/75/webrev.00 >> >> Patch: >> https://git.openjdk.java.net/skara/pull/75.diff >> >> Fetch command: >> git fetch https://git.openjdk.java.net/skara pull/75/head:pull/75 > > Hi Leo, thanks for contributing! The problem here is actually that the help text is wrong, not the code...We want to keep backwards compatability with `webrev.ksh` and `webrev.ksh` only accepts an optional revision to compare against by using the `-r, --rev` argument. > > With regards to the patch itself, it actually doesn't do what you think it does. The `Webrev` API is a bit cumbersome (thanks to me, I wrote it), but the arguments to `generate` are actually `from` and `to`. If the user does not use the `-r,--rev` option then the `rev` variable becomes `HEAD` and the call to `generate` would then become `generate(HEAD, )`, where `` is what the user supplied as the positional argument 0. That wouldn't work, think of a `git diff` expression like `git diff HEAD..`, you can't compare from `HEAD`, because `HEAD` does not have descendants (that is the definition of `HEAD` after all). > > All in all, I would suggest closing this PR. I _know_ that some people want to explicitly create a webrev between two commits, and the `Webrev` API supports it, I'm just hesitant to lose backwards compatability with `webrev.ksh` (webrev.ksh has never supported this). A `git` style solution would be to only support a positional argument (`git webrev` used to do this), a `hg` style solution would be to support multiple `-r` arguments. The `git` style solution would mean breaking backward compatability, the `hg` style solution could work. > > The workaround today is the same as for `git webrev` as for `webrev.ksh`: if you want to generate a webrev from commit A to commit B, you checkout/update B and then do `git webrev -r A` (or `webrev.ksh -r A`). > > PR: https://git.openjdk.java.net/skara/pull/75 I am willing to try to create the hg solution (x)or the git one. I should fix the help message _and_ err on positional argument regardless, right? I do not see how the git one breaks backward compatibility with the current solution, but I will try out the hg -r -r approach as it works for _both_ git and hg easily and we can see if I succeed to create something acceptable. Today's workaround of mutating the working copy is IMO quite limiting --- especially in scripting. PR: https://git.openjdk.java.net/skara/pull/75 From duke at openjdk.java.net Fri Aug 23 12:44:04 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Fri, 23 Aug 2019 12:44:04 GMT Subject: RFR: Upgrade JUnit 5 In-Reply-To: References: Message-ID: On Thu, 22 Aug 2019 14:10:58 GMT, Erik Duveblad via github.com wrote: > On Thu, 22 Aug 2019 11:58:43 GMT, Christian Stein via github.com wrote: > >> Upgrade JUnit 5 to Jupiter 5.5.1 and Platform 1.5.1 >> >> - Set Jupiter version number 5.5.1 >> - Introduce Platform Launcher 1.5.1 test runtime dependency >> in order to force Gradle to load the module from the module-path >> - Add missing "requires 'org.junit.jupiter.params'" directives >> in modules: jcheck, storage, vcs, and webrev >> >> Solves https://bugs.openjdk.java.net/projects/SKARA/issues/SKARA-69 >> >> ---------------- >> >> Commits: >> - 5e253f99: Upgrade JUnit 5 to Jupiter 5.5.1 and Platform 1.5.1 >> - Set Jupiter version number 5.5.1 >> - Introduce Platform Launcher 1.5.1 test runtime dependency >> in order to force Gradle to load the module from the module-path >> - Add missing "requires 'org.junit.jupiter.params'" directives >> in modules: jcheck, storage, vcs, and webrev >> Solves https://bugs.openjdk.java.net/projects/SKARA/issues/SKARA-69 >> >> Pull request: >> https://git.openjdk.java.net/skara/pull/66 >> >> Webrev: >> https://webrevs.openjdk.java.net/skara/66/webrev.00 >> >> Patch: >> https://git.openjdk.java.net/skara/pull/66.diff >> >> Fetch command: >> git fetch https://git.openjdk.java.net/skara pull/66/head:pull/66 > > build.gradle line 54: > >> 53: >> 54: test { >> 55: useJUnitPlatform() > > Hmm, I don't really follow here - how does adding a test runtime dependency on org.junit.platform:junit-platform-launcher:1.5.1 force Gradle to load the JUnit Platform launcher from the module path? Did you forgot to `git add` a change made to `buildSrc/.../ModulePlugin.java`? > > PR: https://git.openjdk.java.net/skara/pull/66 Ah ok, I get, thanks for the explanation @sormuras! I'm pretty busy today, but I will take the patch for a spin early next week :+1: PR: https://git.openjdk.java.net/skara/pull/66 From duke at openjdk.java.net Fri Aug 23 15:24:24 2019 From: duke at openjdk.java.net (Leo Korinth via github.com) Date: Fri, 23 Aug 2019 15:24:24 GMT Subject: RFR: Make webrev reject positional arguments Message-ID: <7LXOdEeeHovEeHLHhFWtSidVD_YzR1t9iz8PLbuLH2w=.afbc407d-bcb7-47df-b41b-f07b2f10e846@github.com> Update the man page to reflect accumulated changes to webrev arguments. ---------------- Commits: - c6c56c35: Make webrev reject positional arguments Update the man page to reflect accumulated changes to webrev arguments. Pull request: https://git.openjdk.java.net/skara/pull/79 Webrev: https://webrevs.openjdk.java.net/skara/79/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/79.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/79/head:pull/79 From duke at openjdk.java.net Fri Aug 23 19:02:26 2019 From: duke at openjdk.java.net (Marcus Hirt via github.com) Date: Fri, 23 Aug 2019 19:02:26 GMT Subject: RFR: Adding project explanation In-Reply-To: <6xhiZG2Itz71XTA8VcpOESLd1rMiwRCqx4XtEp-vnmI=.8377e543-968d-4c59-926f-e78a2b88131c@github.com> References: <-MuST5mONgBhLsT7eHFFxfcAKD4UfHXIaFVGSPw-qC4=.ff125f4f-5209-47dd-b30b-d93332f5e3eb@github.com> <4azhar5HlRDUGPSWwYkUWJj1z5l83tngEsmdyN0AaZs=.ea895474-4c49-45b8-9f2a-52f0b62285c5@github.com> <6xhiZG2Itz71XTA8VcpOESLd1rMiwRCqx4XtEp-vnmI=.8377e543-968d-4c59-926f-e78a2b88131c@github.com> Message-ID: On Thu, 22 Aug 2019 13:12:09 GMT, Erik Duveblad via github.com wrote: > On Fri, 16 Aug 2019 09:02:20 GMT, Marcus Hirt via github.com wrote: > >> On Fri, 16 Aug 2019 07:51:48 GMT, Erik Duveblad via github.com wrote: >> >>> On Fri, 16 Aug 2019 07:39:16 GMT, Erik Duveblad via github.com wrote: >>> >>>> On Mon, 1 Jul 2019 22:11:21 GMT, Marcus Hirt via github.com wrote: >>>> >>>>> On Mon, 1 Jul 2019 14:14:24 GMT, Marcus Hirt via github.com wrote: >>>>> >>>>>> On Mon, 1 Jul 2019 13:38:23 GMT, Erik Duveblad via github.com wrote: >>>>>> >>>>>>> On Mon, 1 Jul 2019 10:58:54 GMT, Marcus Hirt via github.com wrote: >>>>>>> >>>>>>>> ...as suggested in the Twitter discussion. :) >>>>>>>> >>>>>>>> ---------------- >>>>>>>> >>>>>>>> Commits: >>>>>>>> - 4578553b: Adding project explanation >>>>>>>> >>>>>>>> Pull request: >>>>>>>> http://git.openjdk.java.net/skara/pull/16 >>>>>>>> >>>>>>>> Webrev: >>>>>>>> https://openjdk.github.io/cr/skara/16/webrev.00 >>>>>>>> >>>>>>>> Patch: >>>>>>>> http://git.openjdk.java.net/skara/pull/16.diff >>>>>>>> >>>>>>>> Fetch command: >>>>>>>> git fetch https://github.com/openjdk/skara.git 4578553b:pr/16 >>>>>>> >>>>>>> :tada: :rofl: >>>>>> >>>>>> That's a great band name right there - Indecisive Bots! >>>>> >>>>> Here is the twitter discussion: >>>>> https://twitter.com/emilianbold/status/1143175227616239618?s=21 >>>> >>>> Thanks Marcus, the change looks good, but if you want to add me as contributor you need to use the `/contributor` command in a comment to list me as co-author: >>>> >>>> ``` >>>> /contributor add Erik Duveblad >>>> ``` >>>> >>>> PR: https://git.openjdk.java.net/skara/pull/16 >>> >>> Heh, I now realized (thanks to Robin) that you just incorporated my suggestion and that GitHub then automatically added me as co-author :smiley: _If_ you want to add me as co-author then you have to do as I described above, but I'm fine if you want to be sole author :smile_cat: >>> >>> PR: https://git.openjdk.java.net/skara/pull/16 >> >> Done! :) >> >> PR: https://git.openjdk.java.net/skara/pull/16 > > @thegreystone as the `openjdk[bot]` described above, you need to type the `/integrate` command in a comment to highlight that this PR is ready to be sponsored :wink: > > PR: https://git.openjdk.java.net/skara/pull/16 Oh dear. PR: https://git.openjdk.java.net/skara/pull/16 From duke at openjdk.java.net Mon Aug 26 06:14:14 2019 From: duke at openjdk.java.net (duke) Date: Mon, 26 Aug 2019 06:14:14 GMT Subject: git: openjdk/skara: Adding project explanation Message-ID: <1f055f29-b6af-409e-81a9-79248f5df042@openjdk.java.net> Changeset: 20c3f55c Author: Marcus Hirt Committer: Erik Helin Date: 2019-08-26 06:13:23 +0000 URL: https://github.com/openjdk/skara/commit/20c3f55c Adding project explanation Co-authored-by: Erik Duveblad Reviewed-by: ehelin ! README.md From duke at openjdk.java.net Mon Aug 26 06:31:39 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Mon, 26 Aug 2019 06:31:39 GMT Subject: RFR: Make webrev reject positional arguments In-Reply-To: <7LXOdEeeHovEeHLHhFWtSidVD_YzR1t9iz8PLbuLH2w=.afbc407d-bcb7-47df-b41b-f07b2f10e846@github.com> References: <7LXOdEeeHovEeHLHhFWtSidVD_YzR1t9iz8PLbuLH2w=.afbc407d-bcb7-47df-b41b-f07b2f10e846@github.com> Message-ID: On Fri, 23 Aug 2019 15:24:24 GMT, Leo Korinth via github.com wrote: > Update the man page to reflect accumulated changes to webrev arguments. > > ---------------- > > Commits: > - c6c56c35: Make webrev reject positional arguments > Update the man page to reflect accumulated changes to webrev arguments. > > Pull request: > https://git.openjdk.java.net/skara/pull/79 > > Webrev: > https://webrevs.openjdk.java.net/skara/79/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/79.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/79/head:pull/79 This PR has been reviewed by Erik Duveblad via github.com - more changes are needed. Review comment: Thanks Leo, looks good in general, but I would like to be a bit more neutral with regards to Mercurial in the man page (see my suggestions). PR: https://git.openjdk.java.net/skara/pull/79 cli/resources/man/man1/git-webrev.1 line 88: ```suggestion Do not compare against remote, use only 'status' ``` PR: https://git.openjdk.java.net/skara/pull/79 cli/resources/man/man1/git-webrev.1 line 63: > 62: .PP > 63: .TP > 64: -m, --mercurial ```suggestion The upstream repository for this local repository. Defaults to the 'origin' (or 'default') URL. ``` PR: https://git.openjdk.java.net/skara/pull/79 From duke at openjdk.java.net Mon Aug 26 06:52:24 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Mon, 26 Aug 2019 06:52:24 GMT Subject: RFR: Add ReadOnlyRepository::dump In-Reply-To: References: Message-ID: The pull request has been updated with additional changes. ---------------- Added commits: - 4d4bd41e: Make ReadOnlyRepository::dump return void Pull request: https://git.openjdk.java.net/skara/pull/78 Webrevs: - full: https://webrevs.openjdk.java.net/skara/78/webrev.01 - inc: https://webrevs.openjdk.java.net/skara/78/webrev.00-01 Updated full patch: https://git.openjdk.java.net/skara/pull/78.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/78/head:pull/78 From duke at openjdk.java.net Mon Aug 26 06:53:41 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Mon, 26 Aug 2019 06:53:41 GMT Subject: RFR: Add ReadOnlyRepository::dump In-Reply-To: References: Message-ID: On Fri, 23 Aug 2019 09:55:38 GMT, Erik Duveblad via github.com wrote: > Hi all, > > this patch adds the `ReadOnlyRepository::dump` method and a corresponding unit test. > > ## Testing > - [x] `sh gradlew test` passes on Linux x86_64 > > Thanks! > Erik > > ---------------- > > Commits: > - 6057ad07: Add ReadOnlyRepository::dump > > Pull request: > https://git.openjdk.java.net/skara/pull/78 > > Webrev: > https://webrevs.openjdk.java.net/skara/78/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/78.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/78/head:pull/78 This PR has been reviewed by Robin Westberg via github.com - changes are approved. Review comment: Thanks for fixing, looks good! PR: https://git.openjdk.java.net/skara/pull/78 From duke at openjdk.java.net Mon Aug 26 06:55:14 2019 From: duke at openjdk.java.net (duke) Date: Mon, 26 Aug 2019 06:55:14 GMT Subject: git: openjdk/skara: Add ReadOnlyRepository::dump Message-ID: Changeset: 57990427 Author: Erik Helin Date: 2019-08-26 06:54:34 +0000 URL: https://github.com/openjdk/skara/commit/57990427 Add ReadOnlyRepository::dump Reviewed-by: rwestberg ! jcheck/src/test/java/org/openjdk/skara/jcheck/TestRepository.java ! vcs/src/main/java/org/openjdk/skara/vcs/FileEntry.java ! vcs/src/main/java/org/openjdk/skara/vcs/ReadOnlyRepository.java ! vcs/src/main/java/org/openjdk/skara/vcs/git/GitRepository.java ! vcs/src/main/java/org/openjdk/skara/vcs/hg/HgRepository.java ! vcs/src/test/java/org/openjdk/skara/vcs/RepositoryTests.java From duke at openjdk.java.net Mon Aug 26 07:17:59 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Mon, 26 Aug 2019 07:17:59 GMT Subject: RFR: Add ReadOnlyRepository::status Message-ID: <3ptYad1DeH70X2tcvRcoW1XW5V4OnW9JMy9aDvWWiy8=.04bb95ea-35a4-4186-9441-089cfdd36b9d@github.com> Hi all, this patch adds the method `ReadOnlyRepository::status` and a corresponding unit test. ## Testing - [x] `sh gradlew test` passes on Linux x86_64 Thanks, Erik ---------------- Commits: - 79edf6dd: Add ReadOnlyRepository::status Pull request: https://git.openjdk.java.net/skara/pull/80 Webrev: https://webrevs.openjdk.java.net/skara/80/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/80.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/80/head:pull/80 From duke at openjdk.java.net Mon Aug 26 07:21:58 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Mon, 26 Aug 2019 07:21:58 GMT Subject: RFR: Add ReadOnlyRepository::status In-Reply-To: <3ptYad1DeH70X2tcvRcoW1XW5V4OnW9JMy9aDvWWiy8=.04bb95ea-35a4-4186-9441-089cfdd36b9d@github.com> References: <3ptYad1DeH70X2tcvRcoW1XW5V4OnW9JMy9aDvWWiy8=.04bb95ea-35a4-4186-9441-089cfdd36b9d@github.com> Message-ID: On Mon, 26 Aug 2019 07:17:59 GMT, Erik Duveblad via github.com wrote: > Hi all, > > this patch adds the method `ReadOnlyRepository::status` and a corresponding unit test. > > ## Testing > - [x] `sh gradlew test` passes on Linux x86_64 > > Thanks, > Erik > > ---------------- > > Commits: > - 79edf6dd: Add ReadOnlyRepository::status > > Pull request: > https://git.openjdk.java.net/skara/pull/80 > > Webrev: > https://webrevs.openjdk.java.net/skara/80/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/80.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/80/head:pull/80 This PR has been reviewed by Robin Westberg via github.com - changes are approved. Review comment: Looks good! PR: https://git.openjdk.java.net/skara/pull/80 From duke at openjdk.java.net Mon Aug 26 07:27:15 2019 From: duke at openjdk.java.net (duke) Date: Mon, 26 Aug 2019 07:27:15 GMT Subject: git: openjdk/skara: Add ReadOnlyRepository::status Message-ID: <509cf63a-6615-45b2-9ff3-ac6335ac5b5a@openjdk.java.net> Changeset: 34361865 Author: Erik Helin Date: 2019-08-26 07:26:33 +0000 URL: https://github.com/openjdk/skara/commit/34361865 Add ReadOnlyRepository::status Reviewed-by: rwestberg ! jcheck/src/test/java/org/openjdk/skara/jcheck/TestRepository.java ! vcs/src/main/java/org/openjdk/skara/vcs/ReadOnlyRepository.java + vcs/src/main/java/org/openjdk/skara/vcs/StatusEntry.java ! vcs/src/main/java/org/openjdk/skara/vcs/git/GitRepository.java ! vcs/src/main/java/org/openjdk/skara/vcs/hg/HgRepository.java ! vcs/src/main/resources/ext.py ! vcs/src/test/java/org/openjdk/skara/vcs/RepositoryTests.java From duke at openjdk.java.net Mon Aug 26 07:45:17 2019 From: duke at openjdk.java.net (Leo Korinth via github.com) Date: Mon, 26 Aug 2019 07:45:17 GMT Subject: RFR: Make webrev reject positional arguments In-Reply-To: <7LXOdEeeHovEeHLHhFWtSidVD_YzR1t9iz8PLbuLH2w=.afbc407d-bcb7-47df-b41b-f07b2f10e846@github.com> References: <7LXOdEeeHovEeHLHhFWtSidVD_YzR1t9iz8PLbuLH2w=.afbc407d-bcb7-47df-b41b-f07b2f10e846@github.com> Message-ID: The pull request has been updated with additional changes. ---------------- Added commits: - f94fe989: Update cli/resources/man/man1/git-webrev.1 Co-Authored-By: Erik Duveblad - b505f951: Update cli/resources/man/man1/git-webrev.1 Co-Authored-By: Erik Duveblad Pull request: https://git.openjdk.java.net/skara/pull/79 Webrevs: - full: https://webrevs.openjdk.java.net/skara/79/webrev.01 - inc: https://webrevs.openjdk.java.net/skara/79/webrev.00-01 Updated full patch: https://git.openjdk.java.net/skara/pull/79.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/79/head:pull/79 From duke at openjdk.java.net Mon Aug 26 08:07:08 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Mon, 26 Aug 2019 08:07:08 GMT Subject: RFR: 79: jcheck allows self-reviews when processing pull requests Message-ID: Hi all, Please review the following change that makes the PullRequestBot flag a PR as failing jcheck when a self-review is detected. Creating such a review is only possible on recent versions of GitLab, but doesn't hurt to check it anyway. Best regards, Robin ---------------- Commits: - b349ab2e: The pr bot should disallow self-reviews Pull request: https://git.openjdk.java.net/skara/pull/81 Webrev: https://webrevs.openjdk.java.net/skara/81/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/81.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/81/head:pull/81 From duke at openjdk.java.net Mon Aug 26 08:39:56 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Mon, 26 Aug 2019 08:39:56 GMT Subject: RFR: Fix webrev generation when target hunk is empty Message-ID: Hi all, this patch similar to one Robin did a few days ago. Robin fixed generation of webrevs when a source hunk in a patch was empty, this change fixes generation of webrevs when a target hunk in the patch is empty and starts at 0 (i.e. the user has removed lines from the start of a file). ## Testing - [x] `sh gradlew test` passes on Linux x86_64 - Added new unit test Thanks, Erik ---------------- Commits: - db9b79c6: Fix webrev generation when target hunk is empty Pull request: https://git.openjdk.java.net/skara/pull/82 Webrev: https://webrevs.openjdk.java.net/skara/82/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/82.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/82/head:pull/82 From duke at openjdk.java.net Mon Aug 26 08:58:40 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Mon, 26 Aug 2019 08:58:40 GMT Subject: RFR: Fix webrev generation when target hunk is empty In-Reply-To: References: Message-ID: On Mon, 26 Aug 2019 08:39:56 GMT, Erik Duveblad via github.com wrote: > Hi all, > > this patch similar to one Robin did a few days ago. Robin fixed generation of webrevs when a source hunk in a patch was empty, this change fixes generation of webrevs when a target hunk in the patch is empty and starts at 0 (i.e. the user has removed lines from the start of a file). > > ## Testing > - [x] `sh gradlew test` passes on Linux x86_64 > - Added new unit test > > Thanks, > Erik > > ---------------- > > Commits: > - db9b79c6: Fix webrev generation when target hunk is empty > > Pull request: > https://git.openjdk.java.net/skara/pull/82 > > Webrev: > https://webrevs.openjdk.java.net/skara/82/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/82.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/82/head:pull/82 This PR has been reviewed by Robin Westberg via github.com - changes are approved. Review comment: Looks good! PR: https://git.openjdk.java.net/skara/pull/82 From duke at openjdk.java.net Mon Aug 26 09:30:15 2019 From: duke at openjdk.java.net (duke) Date: Mon, 26 Aug 2019 09:30:15 GMT Subject: git: openjdk/skara: Fix webrev generation when target hunk is empty Message-ID: <5e1d6625-2fee-4186-ac94-0ac18198667d@openjdk.java.net> Changeset: c730de2b Author: Erik Helin Date: 2019-08-26 09:29:27 +0000 URL: https://github.com/openjdk/skara/commit/c730de2b Fix webrev generation when target hunk is empty Reviewed-by: rwestberg ! webrev/src/main/java/org/openjdk/skara/webrev/FramesView.java ! webrev/src/main/java/org/openjdk/skara/webrev/HunkCoalescer.java ! webrev/src/test/java/org/openjdk/skara/webrev/WebrevTests.java From duke at openjdk.java.net Mon Aug 26 09:30:45 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Mon, 26 Aug 2019 09:30:45 GMT Subject: RFR: Make webrev reject positional arguments In-Reply-To: <7LXOdEeeHovEeHLHhFWtSidVD_YzR1t9iz8PLbuLH2w=.afbc407d-bcb7-47df-b41b-f07b2f10e846@github.com> References: <7LXOdEeeHovEeHLHhFWtSidVD_YzR1t9iz8PLbuLH2w=.afbc407d-bcb7-47df-b41b-f07b2f10e846@github.com> Message-ID: On Fri, 23 Aug 2019 15:24:24 GMT, Leo Korinth via github.com wrote: > Update the man page to reflect accumulated changes to webrev arguments. > > ---------------- > > Commits: > - c6c56c35: Make webrev reject positional arguments > Update the man page to reflect accumulated changes to webrev arguments. > > Pull request: > https://git.openjdk.java.net/skara/pull/79 > > Webrev: > https://webrevs.openjdk.java.net/skara/79/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/79.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/79/head:pull/79 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Looks good, thanks Leo! PR: https://git.openjdk.java.net/skara/pull/79 From duke at openjdk.java.net Mon Aug 26 09:39:08 2019 From: duke at openjdk.java.net (Leo Korinth via github.com) Date: Mon, 26 Aug 2019 09:39:08 GMT Subject: RFR: Make webrev reject positional arguments In-Reply-To: <7LXOdEeeHovEeHLHhFWtSidVD_YzR1t9iz8PLbuLH2w=.afbc407d-bcb7-47df-b41b-f07b2f10e846@github.com> References: <7LXOdEeeHovEeHLHhFWtSidVD_YzR1t9iz8PLbuLH2w=.afbc407d-bcb7-47df-b41b-f07b2f10e846@github.com> Message-ID: <0Rg6QcFqIAihpEL_XiJyAErYxuNAAtVT9SIw6FWGgxU=.44d1cc67-c06d-49da-86f0-a04bce0f94b7@github.com> The pull request has been updated with additional changes. ---------------- Added commits: - 372c4e95: Update '--help' text to be consistant with man pages after review Pull request: https://git.openjdk.java.net/skara/pull/79 Webrevs: - full: https://webrevs.openjdk.java.net/skara/79/webrev.02 - inc: https://webrevs.openjdk.java.net/skara/79/webrev.01-02 Updated full patch: https://git.openjdk.java.net/skara/pull/79.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/79/head:pull/79 From duke at openjdk.java.net Mon Aug 26 09:43:25 2019 From: duke at openjdk.java.net (Jorn Vernee via github.com) Date: Mon, 26 Aug 2019 09:43:25 GMT Subject: RFR: Ignore line ending differences in most tests, to compensate for autocrlf Message-ID: A PR that was recently integrated (https://github.com/openjdk/skara/commit/9c156f5c5b4db8d8bd239b34e4c3f263df2af23a) changed some of the `RepositoryTest`s to expect Windows line endings when testing on Windows. But, Git has a configuration, called `core.autocrlf` that automatically converts line endings from Windows to Unix ones. If this is enabled the tests will fail, since they expect Windows line endings when there are none (see also https://github.com/openjdk/skara/commit/9c156f5c5b4db8d8bd239b34e4c3f263df2af23a#commitcomment-34819850) This PR changes `RepositoryTest` once more, to ignore line endings when comparing lines in `assertLinesEquals`, and instead adds a separate test that checks that lines endings are being tracked when `core.autocrlf` is disabled (and in all cases for HG). `vcs` tests now pass with both `core.autocrlf` enabled and disabled. ---------------- Commits: - 127d0a5e: Ignore line ending differences in assertLinesEquals, and test that we can track line ending differences separately. Pull request: https://git.openjdk.java.net/skara/pull/83 Webrev: https://webrevs.openjdk.java.net/skara/83/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/83.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/83/head:pull/83 From duke at openjdk.java.net Mon Aug 26 09:55:29 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Mon, 26 Aug 2019 09:55:29 GMT Subject: RFR: Ignore line ending differences in most tests, to compensate for autocrlf In-Reply-To: References: Message-ID: On Mon, 26 Aug 2019 09:43:25 GMT, Jorn Vernee via github.com wrote: > A PR that was recently integrated (https://github.com/openjdk/skara/commit/9c156f5c5b4db8d8bd239b34e4c3f263df2af23a) changed some of the `RepositoryTest`s to expect Windows line endings when testing on Windows. > > But, Git has a configuration, called `core.autocrlf` that automatically converts line endings from Windows to Unix ones. If this is enabled the tests will fail, since they expect Windows line endings when there are none (see also https://github.com/openjdk/skara/commit/9c156f5c5b4db8d8bd239b34e4c3f263df2af23a#commitcomment-34819850) > > This PR changes `RepositoryTest` once more, to ignore line endings when comparing lines in `assertLinesEquals`, and instead adds a separate test that checks that lines endings are being tracked when `core.autocrlf` is disabled (and in all cases for HG). > > `vcs` tests now pass with both `core.autocrlf` enabled and disabled. > > ---------------- > > Commits: > - 127d0a5e: Ignore line ending differences in assertLinesEquals, and test that we can track line ending differences separately. > > Pull request: > https://git.openjdk.java.net/skara/pull/83 > > Webrev: > https://webrevs.openjdk.java.net/skara/83/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/83.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/83/head:pull/83 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Looks good, thanks Jorn for fixing this! PR: https://git.openjdk.java.net/skara/pull/83 From duke at openjdk.java.net Mon Aug 26 09:56:15 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Mon, 26 Aug 2019 09:56:15 GMT Subject: RFR: 79: jcheck allows self-reviews when processing pull requests In-Reply-To: References: Message-ID: On Mon, 26 Aug 2019 08:07:08 GMT, Robin Westberg via github.com wrote: > Hi all, > > Please review the following change that makes the PullRequestBot flag a PR as failing jcheck when a self-review is detected. Creating such a review is only possible on recent versions of GitLab, but doesn't hurt to check it anyway. > > Best regards, > Robin > > ---------------- > > Commits: > - b349ab2e: The pr bot should disallow self-reviews > > Pull request: > https://git.openjdk.java.net/skara/pull/81 > > Webrev: > https://webrevs.openjdk.java.net/skara/81/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/81.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/81/head:pull/81 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Looks good! PR: https://git.openjdk.java.net/skara/pull/81 From duke at openjdk.java.net Mon Aug 26 09:57:15 2019 From: duke at openjdk.java.net (duke) Date: Mon, 26 Aug 2019 09:57:15 GMT Subject: git: openjdk/skara: Make webrev reject positional arguments Message-ID: <5af1d912-5112-441e-ae02-51843adb8034@openjdk.java.net> Changeset: e8e2f0ea Author: Leo Korinth Committer: Erik Helin Date: 2019-08-26 09:56:45 +0000 URL: https://github.com/openjdk/skara/commit/e8e2f0ea Make webrev reject positional arguments Reviewed-by: ehelin ! cli/resources/man/man1/git-webrev.1 ! cli/src/main/java/org/openjdk/skara/cli/GitWebrev.java From duke at openjdk.java.net Mon Aug 26 10:06:17 2019 From: duke at openjdk.java.net (duke) Date: Mon, 26 Aug 2019 10:06:17 GMT Subject: git: openjdk/skara: Ignore line ending differences in most tests, to compensate for autocrlf Message-ID: <6d1530c2-c1d1-4ad3-80db-bebe4f4e5094@openjdk.java.net> Changeset: 373607ba Author: Jorn Vernee Date: 2019-08-26 10:05:41 +0000 URL: https://github.com/openjdk/skara/commit/373607ba Ignore line ending differences in most tests, to compensate for autocrlf Reviewed-by: ehelin ! vcs/src/test/java/org/openjdk/skara/vcs/RepositoryTests.java From duke at openjdk.java.net Mon Aug 26 12:10:15 2019 From: duke at openjdk.java.net (duke) Date: Mon, 26 Aug 2019 12:10:15 GMT Subject: git: openjdk/skara: 79: jcheck allows self-reviews when processing pull requests Message-ID: <0bcf8879-6625-4584-adca-3ec042b8941c@openjdk.java.net> Changeset: a4f0ec5e Author: Robin Westberg Date: 2019-08-26 12:09:30 +0000 URL: https://github.com/openjdk/skara/commit/a4f0ec5e 79: jcheck allows self-reviews when processing pull requests Reviewed-by: ehelin ! bots/pr/src/main/java/org/openjdk/skara/bots/pr/PullRequestCheckIssueVisitor.java ! bots/pr/src/test/java/org/openjdk/skara/bots/pr/CheckTests.java From duke at openjdk.java.net Mon Aug 26 13:13:23 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Mon, 26 Aug 2019 13:13:23 GMT Subject: RFR: Limit path arguments to git to 64 at a time Message-ID: Hi all, this commit limits the number of `Path` arguments we pass on to `git` to at most 64 at a time. This is too avoid too long command lines (since paths can be fairly long). ## Testing - [x] `sh gradlew test` passes Thanks, Erik ---------------- Commits: - 8ef4a0fb: Limit path arguments to git to 64 at a time Pull request: https://git.openjdk.java.net/skara/pull/84 Webrev: https://webrevs.openjdk.java.net/skara/84/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/84.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/84/head:pull/84 From duke at openjdk.java.net Mon Aug 26 13:16:05 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Mon, 26 Aug 2019 13:16:05 GMT Subject: RFR: Limit path arguments to git to 64 at a time In-Reply-To: References: Message-ID: On Mon, 26 Aug 2019 13:13:23 GMT, Erik Duveblad via github.com wrote: > Hi all, > > this commit limits the number of `Path` arguments we pass on to `git` to at most 64 at a time. This is too avoid too long command lines (since paths can be fairly long). > > ## Testing > - [x] `sh gradlew test` passes > > Thanks, > Erik > > ---------------- > > Commits: > - 8ef4a0fb: Limit path arguments to git to 64 at a time > > Pull request: > https://git.openjdk.java.net/skara/pull/84 > > Webrev: > https://webrevs.openjdk.java.net/skara/84/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/84.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/84/head:pull/84 This PR has been reviewed by Robin Westberg via github.com - changes are approved. Review comment: Looks good! PR: https://git.openjdk.java.net/skara/pull/84 From duke at openjdk.java.net Mon Aug 26 13:17:14 2019 From: duke at openjdk.java.net (duke) Date: Mon, 26 Aug 2019 13:17:14 GMT Subject: git: openjdk/skara: Limit path arguments to git to 64 at a time Message-ID: <3106ec8e-18a0-4626-bd31-b7ecdfa4c742@openjdk.java.net> Changeset: 4e470d8d Author: Erik Helin Date: 2019-08-26 13:17:00 +0000 URL: https://github.com/openjdk/skara/commit/4e470d8d Limit path arguments to git to 64 at a time Reviewed-by: rwestberg ! vcs/src/main/java/org/openjdk/skara/vcs/git/GitRepository.java From duke at openjdk.java.net Mon Aug 26 13:36:11 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Mon, 26 Aug 2019 13:36:11 GMT Subject: RFR: Special domain OpenJDK Contributors is is openjdk.org Message-ID: Hi all, as part of the last re-coversion the special domain used to recognize OpenJDK Contributors changed from openjdk.java.net to openjdk.org. This patch updates the backwards compatible interpretation of .jcheck/conf to use openjdk.org correctly. ## Testing - [x] `sh gradlew test` passes on Linux x86_64 Thanks, Erik ---------------- Commits: - 33728f2b: Default domain for the jdk repo is openjdk.org Pull request: https://git.openjdk.java.net/skara/pull/85 Webrev: https://webrevs.openjdk.java.net/skara/85/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/85.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/85/head:pull/85 From duke at openjdk.java.net Mon Aug 26 13:36:12 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Mon, 26 Aug 2019 13:36:12 GMT Subject: RFR: Special domain OpenJDK Contributors is is openjdk.org In-Reply-To: References: Message-ID: On Mon, 26 Aug 2019 13:36:11 GMT, Erik Duveblad via github.com wrote: > Hi all, > > as part of the last re-coversion the special domain used to recognize OpenJDK Contributors changed from openjdk.java.net to openjdk.org. This patch updates the backwards compatible interpretation of .jcheck/conf to use openjdk.org correctly. > > ## Testing > - [x] `sh gradlew test` passes on Linux x86_64 > > Thanks, > Erik > > ---------------- > > Commits: > - 33728f2b: Default domain for the jdk repo is openjdk.org > > Pull request: > https://git.openjdk.java.net/skara/pull/85 > > Webrev: > https://webrevs.openjdk.java.net/skara/85/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/85.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/85/head:pull/85 This PR has been reviewed by Robin Westberg via github.com - changes are approved. Review comment: Looks fine! PR: https://git.openjdk.java.net/skara/pull/85 From duke at openjdk.java.net Mon Aug 26 13:37:19 2019 From: duke at openjdk.java.net (Kevin Rushforth via github.com) Date: Mon, 26 Aug 2019 13:37:19 GMT Subject: RFR: Special domain for OpenJDK Contributors is openjdk.org In-Reply-To: References: Message-ID: On Mon, 26 Aug 2019 13:36:11 GMT, Erik Duveblad via github.com wrote: > Hi all, > > as part of the last re-coversion the special domain used to recognize OpenJDK Contributors changed from openjdk.java.net to openjdk.org. This patch updates the backwards compatible interpretation of .jcheck/conf to use openjdk.org correctly. > > ## Testing > - [x] `sh gradlew test` passes on Linux x86_64 > > Thanks, > Erik > > ---------------- > > Commits: > - 33728f2b: Default domain for the jdk repo is openjdk.org > > Pull request: > https://git.openjdk.java.net/skara/pull/85 > > Webrev: > https://webrevs.openjdk.java.net/skara/85/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/85.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/85/head:pull/85 Looks good to me, too. I'll test it once you've pushed. PR: https://git.openjdk.java.net/skara/pull/85 From duke at openjdk.java.net Mon Aug 26 13:38:15 2019 From: duke at openjdk.java.net (duke) Date: Mon, 26 Aug 2019 13:38:15 GMT Subject: git: openjdk/skara: Special domain for OpenJDK Contributors is openjdk.org Message-ID: <1a3c915e-ec2f-4f31-a673-9a4d86a9e915@openjdk.java.net> Changeset: 7dbc76dc Author: Erik Helin Date: 2019-08-26 13:37:29 +0000 URL: https://github.com/openjdk/skara/commit/7dbc76dc Special domain for OpenJDK Contributors is openjdk.org Reviewed-by: rwestberg ! jcheck/src/main/java/org/openjdk/skara/jcheck/JCheckConfiguration.java From duke at openjdk.java.net Mon Aug 26 18:52:18 2019 From: duke at openjdk.java.net (Christian Stein via github.com) Date: Mon, 26 Aug 2019 18:52:18 GMT Subject: RFR: Windows again... Message-ID: ### Two more Windows issues down - **Skip BrideBot tests on Windows** The `Exporter` class, used `JBridgeBot`, calls application `"rsync"`, which isn't available on Windows per default. Therefore, the annotation `@DisabledOnOS(OS.WINDOWS)` is attached to the entire test class. Due to `@BeforeAll void setup()` (and `teardown()`) being called anyway, a second gatekeeper in form an assumption is added to this method as well. This improves the execution duration time of all disabled tests. - **Convert relative folder path to be URI-friendly** On Windows Path::toString generates back slashes as path element separators. This yields invalid URI paths: like `"%s\webrev.%s"`. ### Open ends Current show stopper on Windows is: ```java.io.UncheckedIOException: java.io.IOException: Unexpected exit code 'git commit --message=Added webrev' exited with status: 1 [stdout] > HEAD detached at b6bb82c > nothing to commit, working tree clean [stderr] at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.WebrevStorage.createAndArchive(WebrevStorage.java:90) at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.ArchiveWorkItem.run(ArchiveWorkItem.java:595) at org.openjdk.skara.test/org.openjdk.skara.test.TestBotRunner.runPeriodicItems(TestBotRunner.java:34) at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.MailingListBridgeBotTests.skipAddingExistingWebrev(MailingListBridgeBotTests.java:800) .. Caused by: java.io.IOException: Unexpected exit code 'git commit --message=Added webrev' exited with status: 1 [stdout] > HEAD detached at b6bb82c > nothing to commit, working tree clean [stderr] at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.await(GitRepository.java:94) at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.commit(GitRepository.java:556) at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.commit(GitRepository.java:521) at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.commit(GitRepository.java:516) at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.WebrevStorage.push(WebrevStorage.java:60) at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.WebrevStorage.createAndArchive(WebrevStorage.java:86) ``` ---------------- Commits: - 91ea9193: Convert relative folder path to be URI-friendly On Windows Path::toString generates back slashes as path element separators. This yields invalid URI paths: like "%s\webrev.%s". - 7bc47b57: Skip BridgeBot tests on Windows The Exporter class, used JBridgeBot, calls application "rsync", which isn't available on Windows per default. Therefore, the annotation `@DisabledOnOS(OS.WINDOWS)` is attached to the entire test class. Due to `@BeforeAll void setup()` (and teardown()) being called anyway, a second gatekeeper in form an assumption is added to this method as well. This improves the execution duration time of all disabled tests. Pull request: https://git.openjdk.java.net/skara/pull/86 Webrev: https://webrevs.openjdk.java.net/skara/86/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/86.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/86/head:pull/86 From duke at openjdk.java.net Tue Aug 27 07:15:01 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Tue, 27 Aug 2019 07:15:01 GMT Subject: RFR: Split large webrev pushes Message-ID: Hi all, Please review the following change that splits the pushing of large webrevs into batches of 1000 files at a time. As a webrev for a change is typically much larger than the actual change, this avoids potential issues with connections timing out when for example connecting through a proxy. Best regards, Robin ---------------- Commits: - 81b9c9a5: Split large webrev pushes Pull request: https://git.openjdk.java.net/skara/pull/87 Webrev: https://webrevs.openjdk.java.net/skara/87/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/87.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/87/head:pull/87 From duke at openjdk.java.net Tue Aug 27 08:45:46 2019 From: duke at openjdk.java.net (Jorn Vernee via github.com) Date: Tue, 27 Aug 2019 08:45:46 GMT Subject: RFR: Windows again... In-Reply-To: References: Message-ID: On Mon, 26 Aug 2019 18:52:18 GMT, Christian Stein via github.com wrote: > ### Two more Windows issues down > > - **Skip BrideBot tests on Windows** > The `Exporter` class, used `JBridgeBot`, calls application `"rsync"`, which isn't available on Windows per default. Therefore, the annotation `@DisabledOnOS(OS.WINDOWS)` is attached to the entire test class. > Due to `@BeforeAll void setup()` (and `teardown()`) being called anyway, a second gatekeeper in form an assumption is added to this method as well. This improves the execution duration time of all disabled tests. > > - **Convert relative folder path to be URI-friendly** > On Windows Path::toString generates back slashes as path element separators. This yields invalid URI paths: like `"%s\webrev.%s"`. > > ### Open ends > > Current show stopper on Windows is: > > ```java.io.UncheckedIOException: java.io.IOException: Unexpected exit code > 'git commit --message=Added webrev' exited with status: 1 > [stdout] >> HEAD detached at b6bb82c >> nothing to commit, working tree clean > [stderr] > at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.WebrevStorage.createAndArchive(WebrevStorage.java:90) > at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.ArchiveWorkItem.run(ArchiveWorkItem.java:595) > at org.openjdk.skara.test/org.openjdk.skara.test.TestBotRunner.runPeriodicItems(TestBotRunner.java:34) > at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.MailingListBridgeBotTests.skipAddingExistingWebrev(MailingListBridgeBotTests.java:800) > > ... > > Caused by: java.io.IOException: Unexpected exit code > 'git commit --message=Added webrev' exited with status: 1 > [stdout] >> HEAD detached at b6bb82c >> nothing to commit, working tree clean > [stderr] > at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.await(GitRepository.java:94) > at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.commit(GitRepository.java:556) > at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.commit(GitRepository.java:521) > at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.commit(GitRepository.java:516) > at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.WebrevStorage.push(WebrevStorage.java:60) > at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.WebrevStorage.createAndArchive(WebrevStorage.java:86) > ``` > > ---------------- > > Commits: > - 91ea9193: Convert relative folder path to be URI-friendly > On Windows Path::toString generates back slashes as path element > separators. This yields invalid URI paths: like "%s\webrev.%s". > - 7bc47b57: Skip BridgeBot tests on Windows > The Exporter class, used JBridgeBot, calls application "rsync", which > isn't available on Windows per default. Therefore, the annotation > `@DisabledOnOS(OS.WINDOWS)` is attached to the entire test class. > Due to `@BeforeAll void setup()` (and teardown()) being called anyway, > a second gatekeeper in form an assumption is added to this method as > well. This improves the execution duration time of all disabled tests. > > Pull request: > https://git.openjdk.java.net/skara/pull/86 > > Webrev: > https://webrevs.openjdk.java.net/skara/86/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/86.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/86/head:pull/86 Thanks for looking into this! With your patch all the `mlbridge` tests are passing for me. I'm not seeing the same failures as you with the `mlbridge` tests... I'm not a Skara reviewer, so I can't approve this, but the patch looks good to me ???? --- FWIW, I also got some other failures from some of the bot tests, particularly `IntegrateTests::autorebase`, `MergeTests::branchMergeRebase` and `SponsorTests::autoRebase` in the `bots.pr` module. When looking into it this seemed to be caused by file paths exceeding the maximum path length on Windows. Git rejects them with a specific error message, and HG just throws a file not found error. Besides that some tests in the `bots.submit` module are failing as well, but I haven't determined the exact reason yet. I had a chat with Erik about this, and since the bots are not really required to run on Windows any ways, it would also be fine to disable all the `bots` tests from running on Windows, to avoid any further compatibility problems. Or, just aggressively disable any that are failing. PR: https://git.openjdk.java.net/skara/pull/86 From duke at openjdk.java.net Tue Aug 27 08:52:05 2019 From: duke at openjdk.java.net (Christian Stein via github.com) Date: Tue, 27 Aug 2019 08:52:05 GMT Subject: RFR: Windows again... In-Reply-To: References: Message-ID: <61uUjqu9uF_jvzaTXAigHA2wyM3gNa_nb8WOsMkPtrs=.02bc1c33-8da5-4b65-a2cb-ab455e39781a@github.com> On Tue, 27 Aug 2019 08:45:46 GMT, Jorn Vernee via github.com wrote: > On Mon, 26 Aug 2019 18:52:18 GMT, Christian Stein via github.com wrote: > >> ### Two more Windows issues down >> >> - **Skip BrideBot tests on Windows** >> The `Exporter` class, used `JBridgeBot`, calls application `"rsync"`, which isn't available on Windows per default. Therefore, the annotation `@DisabledOnOS(OS.WINDOWS)` is attached to the entire test class. >> Due to `@BeforeAll void setup()` (and `teardown()`) being called anyway, a second gatekeeper in form an assumption is added to this method as well. This improves the execution duration time of all disabled tests. >> >> - **Convert relative folder path to be URI-friendly** >> On Windows Path::toString generates back slashes as path element separators. This yields invalid URI paths: like `"%s\webrev.%s"`. >> >> ### Open ends >> >> Current show stopper on Windows is: >> >> ```java.io.UncheckedIOException: java.io.IOException: Unexpected exit code >> 'git commit --message=Added webrev' exited with status: 1 >> [stdout] >>> HEAD detached at b6bb82c >>> nothing to commit, working tree clean >> [stderr] >> at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.WebrevStorage.createAndArchive(WebrevStorage.java:90) >> at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.ArchiveWorkItem.run(ArchiveWorkItem.java:595) >> at org.openjdk.skara.test/org.openjdk.skara.test.TestBotRunner.runPeriodicItems(TestBotRunner.java:34) >> at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.MailingListBridgeBotTests.skipAddingExistingWebrev(MailingListBridgeBotTests.java:800) >> >> ... >> >> Caused by: java.io.IOException: Unexpected exit code >> 'git commit --message=Added webrev' exited with status: 1 >> [stdout] >>> HEAD detached at b6bb82c >>> nothing to commit, working tree clean >> [stderr] >> at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.await(GitRepository.java:94) >> at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.commit(GitRepository.java:556) >> at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.commit(GitRepository.java:521) >> at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.commit(GitRepository.java:516) >> at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.WebrevStorage.push(WebrevStorage.java:60) >> at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.WebrevStorage.createAndArchive(WebrevStorage.java:86) >> ``` >> >> ---------------- >> >> Commits: >> - 91ea9193: Convert relative folder path to be URI-friendly >> On Windows Path::toString generates back slashes as path element >> separators. This yields invalid URI paths: like "%s\webrev.%s". >> - 7bc47b57: Skip BridgeBot tests on Windows >> The Exporter class, used JBridgeBot, calls application "rsync", which >> isn't available on Windows per default. Therefore, the annotation >> `@DisabledOnOS(OS.WINDOWS)` is attached to the entire test class. >> Due to `@BeforeAll void setup()` (and teardown()) being called anyway, >> a second gatekeeper in form an assumption is added to this method as >> well. This improves the execution duration time of all disabled tests. >> >> Pull request: >> https://git.openjdk.java.net/skara/pull/86 >> >> Webrev: >> https://webrevs.openjdk.java.net/skara/86/webrev.00 >> >> Patch: >> https://git.openjdk.java.net/skara/pull/86.diff >> >> Fetch command: >> git fetch https://git.openjdk.java.net/skara pull/86/head:pull/86 > > Thanks for looking into this! With your patch all the `mlbridge` tests are passing for me. I'm not seeing the same failures as you with the `mlbridge` tests... > > I'm not a Skara reviewer, so I can't approve this, but the patch looks good to me ???? > > --- > FWIW, I also got some other failures from some of the bot tests, particularly `IntegrateTests::autorebase`, `MergeTests::branchMergeRebase` and `SponsorTests::autoRebase` in the `bots.pr` module. When looking into it this seemed to be caused by file paths exceeding the maximum path length on Windows. Git rejects them with a specific error message, and HG just throws a file not found error. > > Besides that some tests in the `bots.submit` module are failing as well, but I haven't determined the exact reason yet. > > I had a chat with Erik about this, and since the bots are not really required to run on Windows any ways, it would also be fine to disable all the `bots` tests from running on Windows, to avoid any further compatibility problems. Or, just aggressively disable any that are failing. > > PR: https://git.openjdk.java.net/skara/pull/86 > [...] it would also be fine to disable all the bots tests from running on Windows [...] As long as some CI service is running those tests on Linux/Mac, fine with me. I'll extend this PR with to disable all bots tests on Windows. PR: https://git.openjdk.java.net/skara/pull/86 From duke at openjdk.java.net Tue Aug 27 12:06:55 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Tue, 27 Aug 2019 12:06:55 GMT Subject: RFR: Windows again... In-Reply-To: <61uUjqu9uF_jvzaTXAigHA2wyM3gNa_nb8WOsMkPtrs=.02bc1c33-8da5-4b65-a2cb-ab455e39781a@github.com> References: <61uUjqu9uF_jvzaTXAigHA2wyM3gNa_nb8WOsMkPtrs=.02bc1c33-8da5-4b65-a2cb-ab455e39781a@github.com> Message-ID: On Tue, 27 Aug 2019 08:52:05 GMT, Christian Stein via github.com wrote: > On Tue, 27 Aug 2019 08:45:46 GMT, Jorn Vernee via github.com wrote: > >> On Mon, 26 Aug 2019 18:52:18 GMT, Christian Stein via github.com wrote: >> >>> ### Two more Windows issues down >>> >>> - **Skip BrideBot tests on Windows** >>> The `Exporter` class, used `JBridgeBot`, calls application `"rsync"`, which isn't available on Windows per default. Therefore, the annotation `@DisabledOnOS(OS.WINDOWS)` is attached to the entire test class. >>> Due to `@BeforeAll void setup()` (and `teardown()`) being called anyway, a second gatekeeper in form an assumption is added to this method as well. This improves the execution duration time of all disabled tests. >>> >>> - **Convert relative folder path to be URI-friendly** >>> On Windows Path::toString generates back slashes as path element separators. This yields invalid URI paths: like `"%s\webrev.%s"`. >>> >>> ### Open ends >>> >>> Current show stopper on Windows is: >>> >>> ```java.io.UncheckedIOException: java.io.IOException: Unexpected exit code >>> 'git commit --message=Added webrev' exited with status: 1 >>> [stdout] >>>> HEAD detached at b6bb82c >>>> nothing to commit, working tree clean >>> [stderr] >>> at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.WebrevStorage.createAndArchive(WebrevStorage.java:90) >>> at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.ArchiveWorkItem.run(ArchiveWorkItem.java:595) >>> at org.openjdk.skara.test/org.openjdk.skara.test.TestBotRunner.runPeriodicItems(TestBotRunner.java:34) >>> at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.MailingListBridgeBotTests.skipAddingExistingWebrev(MailingListBridgeBotTests.java:800) >>> >>> ... >>> >>> Caused by: java.io.IOException: Unexpected exit code >>> 'git commit --message=Added webrev' exited with status: 1 >>> [stdout] >>>> HEAD detached at b6bb82c >>>> nothing to commit, working tree clean >>> [stderr] >>> at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.await(GitRepository.java:94) >>> at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.commit(GitRepository.java:556) >>> at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.commit(GitRepository.java:521) >>> at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.commit(GitRepository.java:516) >>> at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.WebrevStorage.push(WebrevStorage.java:60) >>> at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.WebrevStorage.createAndArchive(WebrevStorage.java:86) >>> ``` >>> >>> ---------------- >>> >>> Commits: >>> - 91ea9193: Convert relative folder path to be URI-friendly >>> On Windows Path::toString generates back slashes as path element >>> separators. This yields invalid URI paths: like "%s\webrev.%s". >>> - 7bc47b57: Skip BridgeBot tests on Windows >>> The Exporter class, used JBridgeBot, calls application "rsync", which >>> isn't available on Windows per default. Therefore, the annotation >>> `@DisabledOnOS(OS.WINDOWS)` is attached to the entire test class. >>> Due to `@BeforeAll void setup()` (and teardown()) being called anyway, >>> a second gatekeeper in form an assumption is added to this method as >>> well. This improves the execution duration time of all disabled tests. >>> >>> Pull request: >>> https://git.openjdk.java.net/skara/pull/86 >>> >>> Webrev: >>> https://webrevs.openjdk.java.net/skara/86/webrev.00 >>> >>> Patch: >>> https://git.openjdk.java.net/skara/pull/86.diff >>> >>> Fetch command: >>> git fetch https://git.openjdk.java.net/skara pull/86/head:pull/86 >> >> Thanks for looking into this! With your patch all the `mlbridge` tests are passing for me. I'm not seeing the same failures as you with the `mlbridge` tests... >> >> I'm not a Skara reviewer, so I can't approve this, but the patch looks good to me ???? >> >> --- >> FWIW, I also got some other failures from some of the bot tests, particularly `IntegrateTests::autorebase`, `MergeTests::branchMergeRebase` and `SponsorTests::autoRebase` in the `bots.pr` module. When looking into it this seemed to be caused by file paths exceeding the maximum path length on Windows. Git rejects them with a specific error message, and HG just throws a file not found error. >> >> Besides that some tests in the `bots.submit` module are failing as well, but I haven't determined the exact reason yet. >> >> I had a chat with Erik about this, and since the bots are not really required to run on Windows any ways, it would also be fine to disable all the `bots` tests from running on Windows, to avoid any further compatibility problems. Or, just aggressively disable any that are failing. >> >> PR: https://git.openjdk.java.net/skara/pull/86 > >> [...] it would also be fine to disable all the bots tests from running on Windows [...] > > As long as some CI service is running those tests on Linux/Mac, fine with me. > > I'll extend this PR with to disable all bots tests on Windows. > > PR: https://git.openjdk.java.net/skara/pull/86 This looks good, but @sormuras would you mind updating the title of the PR? The title of the PR will be used as the title for the resulting commit, and I think we would want something a bit more descriptive than `Windows again...` :smile: PR: https://git.openjdk.java.net/skara/pull/86 From duke at openjdk.java.net Tue Aug 27 12:08:04 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Tue, 27 Aug 2019 12:08:04 GMT Subject: RFR: Split large webrev pushes In-Reply-To: References: Message-ID: <6iG5VVYFJ5cKxtNM5br8QDAc85ukEMwcOIBfhyfDfHk=.bd2e843e-0afd-4af8-a74f-6607f806ffa2@github.com> On Tue, 27 Aug 2019 07:15:01 GMT, Robin Westberg via github.com wrote: > Hi all, > > Please review the following change that splits the pushing of large webrevs into batches of 1000 files at a time. As a webrev for a change is typically much larger than the actual change, this avoids potential issues with connections timing out when for example connecting through a proxy. > > Best regards, > Robin > > ---------------- > > Commits: > - 81b9c9a5: Split large webrev pushes > > Pull request: > https://git.openjdk.java.net/skara/pull/87 > > Webrev: > https://webrevs.openjdk.java.net/skara/87/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/87.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/87/head:pull/87 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Looks good, thanks for fixing! PR: https://git.openjdk.java.net/skara/pull/87 From duke at openjdk.java.net Tue Aug 27 12:51:56 2019 From: duke at openjdk.java.net (Christian Stein via github.com) Date: Tue, 27 Aug 2019 12:51:56 GMT Subject: RFR: Windows again... In-Reply-To: References: <61uUjqu9uF_jvzaTXAigHA2wyM3gNa_nb8WOsMkPtrs=.02bc1c33-8da5-4b65-a2cb-ab455e39781a@github.com> Message-ID: <7_Y3b51rXC0RWT4d1j_RByoN9gzod3lTHmXAatzYOYI=.3537e1b5-de6b-439f-9229-ae28601830e9@github.com> On Tue, 27 Aug 2019 12:06:55 GMT, Erik Duveblad via github.com wrote: > On Tue, 27 Aug 2019 08:52:05 GMT, Christian Stein via github.com wrote: > >> On Tue, 27 Aug 2019 08:45:46 GMT, Jorn Vernee via github.com wrote: >> >>> On Mon, 26 Aug 2019 18:52:18 GMT, Christian Stein via github.com wrote: >>> >>>> ### Two more Windows issues down >>>> >>>> - **Skip BrideBot tests on Windows** >>>> The `Exporter` class, used `JBridgeBot`, calls application `"rsync"`, which isn't available on Windows per default. Therefore, the annotation `@DisabledOnOS(OS.WINDOWS)` is attached to the entire test class. >>>> Due to `@BeforeAll void setup()` (and `teardown()`) being called anyway, a second gatekeeper in form an assumption is added to this method as well. This improves the execution duration time of all disabled tests. >>>> >>>> - **Convert relative folder path to be URI-friendly** >>>> On Windows Path::toString generates back slashes as path element separators. This yields invalid URI paths: like `"%s\webrev.%s"`. >>>> >>>> ### Open ends >>>> >>>> Current show stopper on Windows is: >>>> >>>> ```java.io.UncheckedIOException: java.io.IOException: Unexpected exit code >>>> 'git commit --message=Added webrev' exited with status: 1 >>>> [stdout] >>>>> HEAD detached at b6bb82c >>>>> nothing to commit, working tree clean >>>> [stderr] >>>> at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.WebrevStorage.createAndArchive(WebrevStorage.java:90) >>>> at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.ArchiveWorkItem.run(ArchiveWorkItem.java:595) >>>> at org.openjdk.skara.test/org.openjdk.skara.test.TestBotRunner.runPeriodicItems(TestBotRunner.java:34) >>>> at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.MailingListBridgeBotTests.skipAddingExistingWebrev(MailingListBridgeBotTests.java:800) >>>> >>>> ... >>>> >>>> Caused by: java.io.IOException: Unexpected exit code >>>> 'git commit --message=Added webrev' exited with status: 1 >>>> [stdout] >>>>> HEAD detached at b6bb82c >>>>> nothing to commit, working tree clean >>>> [stderr] >>>> at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.await(GitRepository.java:94) >>>> at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.commit(GitRepository.java:556) >>>> at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.commit(GitRepository.java:521) >>>> at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.commit(GitRepository.java:516) >>>> at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.WebrevStorage.push(WebrevStorage.java:60) >>>> at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.WebrevStorage.createAndArchive(WebrevStorage.java:86) >>>> ``` >>>> >>>> ---------------- >>>> >>>> Commits: >>>> - 91ea9193: Convert relative folder path to be URI-friendly >>>> On Windows Path::toString generates back slashes as path element >>>> separators. This yields invalid URI paths: like "%s\webrev.%s". >>>> - 7bc47b57: Skip BridgeBot tests on Windows >>>> The Exporter class, used JBridgeBot, calls application "rsync", which >>>> isn't available on Windows per default. Therefore, the annotation >>>> `@DisabledOnOS(OS.WINDOWS)` is attached to the entire test class. >>>> Due to `@BeforeAll void setup()` (and teardown()) being called anyway, >>>> a second gatekeeper in form an assumption is added to this method as >>>> well. This improves the execution duration time of all disabled tests. >>>> >>>> Pull request: >>>> https://git.openjdk.java.net/skara/pull/86 >>>> >>>> Webrev: >>>> https://webrevs.openjdk.java.net/skara/86/webrev.00 >>>> >>>> Patch: >>>> https://git.openjdk.java.net/skara/pull/86.diff >>>> >>>> Fetch command: >>>> git fetch https://git.openjdk.java.net/skara pull/86/head:pull/86 >>> >>> Thanks for looking into this! With your patch all the `mlbridge` tests are passing for me. I'm not seeing the same failures as you with the `mlbridge` tests... >>> >>> I'm not a Skara reviewer, so I can't approve this, but the patch looks good to me ???? >>> >>> --- >>> FWIW, I also got some other failures from some of the bot tests, particularly `IntegrateTests::autorebase`, `MergeTests::branchMergeRebase` and `SponsorTests::autoRebase` in the `bots.pr` module. When looking into it this seemed to be caused by file paths exceeding the maximum path length on Windows. Git rejects them with a specific error message, and HG just throws a file not found error. >>> >>> Besides that some tests in the `bots.submit` module are failing as well, but I haven't determined the exact reason yet. >>> >>> I had a chat with Erik about this, and since the bots are not really required to run on Windows any ways, it would also be fine to disable all the `bots` tests from running on Windows, to avoid any further compatibility problems. Or, just aggressively disable any that are failing. >>> >>> PR: https://git.openjdk.java.net/skara/pull/86 >> >>> [...] it would also be fine to disable all the bots tests from running on Windows [...] >> >> As long as some CI service is running those tests on Linux/Mac, fine with me. >> >> I'll extend this PR with to disable all bots tests on Windows. >> >> PR: https://git.openjdk.java.net/skara/pull/86 > > This looks good, but @sormuras would you mind updating the title of the PR? The title of the PR will be used as the title for the resulting commit, and I think we would want something a bit more descriptive than `Windows again...` :smile: > > PR: https://git.openjdk.java.net/skara/pull/86 Sure, Erik. But I'll update the PR once more to include comments from above: - Disable all bots test - Revert not needed optimization -- Gradle does just fine, only IDEA executes disabled tests. > Due to @BeforeAll void setup() (and teardown()) being called anyway, a second gatekeeper in form an assumption is added to this method as well. This improves the execution duration time of all disabled tests. PR: https://git.openjdk.java.net/skara/pull/86 From duke at openjdk.java.net Tue Aug 27 13:11:16 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Tue, 27 Aug 2019 13:11:16 GMT Subject: RFR: Windows again... In-Reply-To: <7_Y3b51rXC0RWT4d1j_RByoN9gzod3lTHmXAatzYOYI=.3537e1b5-de6b-439f-9229-ae28601830e9@github.com> References: <61uUjqu9uF_jvzaTXAigHA2wyM3gNa_nb8WOsMkPtrs=.02bc1c33-8da5-4b65-a2cb-ab455e39781a@github.com> <7_Y3b51rXC0RWT4d1j_RByoN9gzod3lTHmXAatzYOYI=.3537e1b5-de6b-439f-9229-ae28601830e9@github.com> Message-ID: On Tue, 27 Aug 2019 12:51:56 GMT, Christian Stein via github.com wrote: > On Tue, 27 Aug 2019 12:06:55 GMT, Erik Duveblad via github.com wrote: > >> On Tue, 27 Aug 2019 08:52:05 GMT, Christian Stein via github.com wrote: >> >>> On Tue, 27 Aug 2019 08:45:46 GMT, Jorn Vernee via github.com wrote: >>> >>>> On Mon, 26 Aug 2019 18:52:18 GMT, Christian Stein via github.com wrote: >>>> >>>>> ### Two more Windows issues down >>>>> >>>>> - **Skip BrideBot tests on Windows** >>>>> The `Exporter` class, used `JBridgeBot`, calls application `"rsync"`, which isn't available on Windows per default. Therefore, the annotation `@DisabledOnOS(OS.WINDOWS)` is attached to the entire test class. >>>>> Due to `@BeforeAll void setup()` (and `teardown()`) being called anyway, a second gatekeeper in form an assumption is added to this method as well. This improves the execution duration time of all disabled tests. >>>>> >>>>> - **Convert relative folder path to be URI-friendly** >>>>> On Windows Path::toString generates back slashes as path element separators. This yields invalid URI paths: like `"%s\webrev.%s"`. >>>>> >>>>> ### Open ends >>>>> >>>>> Current show stopper on Windows is: >>>>> >>>>> ```java.io.UncheckedIOException: java.io.IOException: Unexpected exit code >>>>> 'git commit --message=Added webrev' exited with status: 1 >>>>> [stdout] >>>>>> HEAD detached at b6bb82c >>>>>> nothing to commit, working tree clean >>>>> [stderr] >>>>> at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.WebrevStorage.createAndArchive(WebrevStorage.java:90) >>>>> at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.ArchiveWorkItem.run(ArchiveWorkItem.java:595) >>>>> at org.openjdk.skara.test/org.openjdk.skara.test.TestBotRunner.runPeriodicItems(TestBotRunner.java:34) >>>>> at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.MailingListBridgeBotTests.skipAddingExistingWebrev(MailingListBridgeBotTests.java:800) >>>>> >>>>> ... >>>>> >>>>> Caused by: java.io.IOException: Unexpected exit code >>>>> 'git commit --message=Added webrev' exited with status: 1 >>>>> [stdout] >>>>>> HEAD detached at b6bb82c >>>>>> nothing to commit, working tree clean >>>>> [stderr] >>>>> at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.await(GitRepository.java:94) >>>>> at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.commit(GitRepository.java:556) >>>>> at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.commit(GitRepository.java:521) >>>>> at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.commit(GitRepository.java:516) >>>>> at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.WebrevStorage.push(WebrevStorage.java:60) >>>>> at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.WebrevStorage.createAndArchive(WebrevStorage.java:86) >>>>> ``` >>>>> >>>>> ---------------- >>>>> >>>>> Commits: >>>>> - 91ea9193: Convert relative folder path to be URI-friendly >>>>> On Windows Path::toString generates back slashes as path element >>>>> separators. This yields invalid URI paths: like "%s\webrev.%s". >>>>> - 7bc47b57: Skip BridgeBot tests on Windows >>>>> The Exporter class, used JBridgeBot, calls application "rsync", which >>>>> isn't available on Windows per default. Therefore, the annotation >>>>> `@DisabledOnOS(OS.WINDOWS)` is attached to the entire test class. >>>>> Due to `@BeforeAll void setup()` (and teardown()) being called anyway, >>>>> a second gatekeeper in form an assumption is added to this method as >>>>> well. This improves the execution duration time of all disabled tests. >>>>> >>>>> Pull request: >>>>> https://git.openjdk.java.net/skara/pull/86 >>>>> >>>>> Webrev: >>>>> https://webrevs.openjdk.java.net/skara/86/webrev.00 >>>>> >>>>> Patch: >>>>> https://git.openjdk.java.net/skara/pull/86.diff >>>>> >>>>> Fetch command: >>>>> git fetch https://git.openjdk.java.net/skara pull/86/head:pull/86 >>>> >>>> Thanks for looking into this! With your patch all the `mlbridge` tests are passing for me. I'm not seeing the same failures as you with the `mlbridge` tests... >>>> >>>> I'm not a Skara reviewer, so I can't approve this, but the patch looks good to me ???? >>>> >>>> --- >>>> FWIW, I also got some other failures from some of the bot tests, particularly `IntegrateTests::autorebase`, `MergeTests::branchMergeRebase` and `SponsorTests::autoRebase` in the `bots.pr` module. When looking into it this seemed to be caused by file paths exceeding the maximum path length on Windows. Git rejects them with a specific error message, and HG just throws a file not found error. >>>> >>>> Besides that some tests in the `bots.submit` module are failing as well, but I haven't determined the exact reason yet. >>>> >>>> I had a chat with Erik about this, and since the bots are not really required to run on Windows any ways, it would also be fine to disable all the `bots` tests from running on Windows, to avoid any further compatibility problems. Or, just aggressively disable any that are failing. >>>> >>>> PR: https://git.openjdk.java.net/skara/pull/86 >>> >>>> [...] it would also be fine to disable all the bots tests from running on Windows [...] >>> >>> As long as some CI service is running those tests on Linux/Mac, fine with me. >>> >>> I'll extend this PR with to disable all bots tests on Windows. >>> >>> PR: https://git.openjdk.java.net/skara/pull/86 >> >> This looks good, but @sormuras would you mind updating the title of the PR? The title of the PR will be used as the title for the resulting commit, and I think we would want something a bit more descriptive than `Windows again...` :smile: >> >> PR: https://git.openjdk.java.net/skara/pull/86 > > Sure, Erik. > > But I'll update the PR once more to include comments from above: > - Disable all bots test > - Revert not needed optimization -- Gradle does just fine, only IDEA executes disabled tests. >> Due to @BeforeAll void setup() (and teardown()) being called anyway, a second gatekeeper in form an assumption is added to this method as well. This improves the execution duration time of all disabled tests. > > PR: https://git.openjdk.java.net/skara/pull/86 Ok, sounds good! PR: https://git.openjdk.java.net/skara/pull/86 From duke at openjdk.java.net Tue Aug 27 13:22:08 2019 From: duke at openjdk.java.net (duke) Date: Tue, 27 Aug 2019 13:22:08 GMT Subject: git: openjdk/skara: Split large webrev pushes Message-ID: Changeset: f3a450e7 Author: Robin Westberg Date: 2019-08-27 13:21:39 +0000 URL: https://github.com/openjdk/skara/commit/f3a450e7 Split large webrev pushes Reviewed-by: ehelin ! bots/mlbridge/src/main/java/org/openjdk/skara/bots/mlbridge/WebrevStorage.java From duke at openjdk.java.net Tue Aug 27 13:28:42 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Tue, 27 Aug 2019 13:28:42 GMT Subject: RFR: Parse .ssh/config in git-pr if needed Message-ID: Hi all, `git-pr` needs to find the `URI` for a remote and that can be a bit tricky if an SSH "alias" (set up in `~/.ssh/config`) is involved. This patch adds a little `ssh` module with a `SSHConfig` class that can parse most fields out of an `ssh_config` file (most crucially the `Hostname` field). This way `git-pr` can be a little smarter about figure out the hostname of the forge. ## Testing - [x] `sh gradlew test` passes - [x] Added an additional unit test Thanks, Erik ---------------- Commits: - af597194: Remove tabs - c03bd2f7: Remove stray debug printing - 1ef6a56a: Parse .ssh/config in git-pr if needed Pull request: https://git.openjdk.java.net/skara/pull/88 Webrev: https://webrevs.openjdk.java.net/skara/88/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/88.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/88/head:pull/88 From duke at openjdk.java.net Tue Aug 27 13:35:02 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Tue, 27 Aug 2019 13:35:02 GMT Subject: RFR: Parse .ssh/config in git-pr if needed In-Reply-To: References: Message-ID: The pull request has been updated with additional changes. ---------------- Added commits: - d73d02a8: Check if ~/.ssh/config exists Pull request: https://git.openjdk.java.net/skara/pull/88 Webrevs: - full: https://webrevs.openjdk.java.net/skara/88/webrev.01 - inc: https://webrevs.openjdk.java.net/skara/88/webrev.00-01 Updated full patch: https://git.openjdk.java.net/skara/pull/88.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/88/head:pull/88 From duke at openjdk.java.net Tue Aug 27 13:36:59 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Tue, 27 Aug 2019 13:36:59 GMT Subject: RFR: Parse .ssh/config in git-pr if needed In-Reply-To: References: Message-ID: On Tue, 27 Aug 2019 13:28:42 GMT, Erik Duveblad via github.com wrote: > Hi all, > > `git-pr` needs to find the `URI` for a remote and that can be a bit tricky if an SSH "alias" (set up in `~/.ssh/config`) is involved. This patch adds a little `ssh` module with a `SSHConfig` class that can parse most fields out of an `ssh_config` file (most crucially the `Hostname` field). This way `git-pr` can be a little smarter about figure out the hostname of the forge. > > ## Testing > - [x] `sh gradlew test` passes > - [x] Added an additional unit test > > Thanks, > Erik > > ---------------- > > Commits: > - af597194: Remove tabs > - c03bd2f7: Remove stray debug printing > - 1ef6a56a: Parse .ssh/config in git-pr if needed > > Pull request: > https://git.openjdk.java.net/skara/pull/88 > > Webrev: > https://webrevs.openjdk.java.net/skara/88/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/88.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/88/head:pull/88 This PR has been reviewed by Robin Westberg via github.com - changes are approved. Review comment: Nice! PR: https://git.openjdk.java.net/skara/pull/88 From duke at openjdk.java.net Tue Aug 27 13:43:26 2019 From: duke at openjdk.java.net (Christian Stein via github.com) Date: Tue, 27 Aug 2019 13:43:26 GMT Subject: RFR: Windows again... In-Reply-To: References: <61uUjqu9uF_jvzaTXAigHA2wyM3gNa_nb8WOsMkPtrs=.02bc1c33-8da5-4b65-a2cb-ab455e39781a@github.com> <7_Y3b51rXC0RWT4d1j_RByoN9gzod3lTHmXAatzYOYI=.3537e1b5-de6b-439f-9229-ae28601830e9@github.com> Message-ID: On Tue, 27 Aug 2019 13:11:16 GMT, Erik Duveblad via github.com wrote: > On Tue, 27 Aug 2019 12:51:56 GMT, Christian Stein via github.com wrote: > >> On Tue, 27 Aug 2019 12:06:55 GMT, Erik Duveblad via github.com wrote: >> >>> On Tue, 27 Aug 2019 08:52:05 GMT, Christian Stein via github.com wrote: >>> >>>> On Tue, 27 Aug 2019 08:45:46 GMT, Jorn Vernee via github.com wrote: >>>> >>>>> On Mon, 26 Aug 2019 18:52:18 GMT, Christian Stein via github.com wrote: >>>>> >>>>>> ### Two more Windows issues down >>>>>> >>>>>> - **Skip BrideBot tests on Windows** >>>>>> The `Exporter` class, used `JBridgeBot`, calls application `"rsync"`, which isn't available on Windows per default. Therefore, the annotation `@DisabledOnOS(OS.WINDOWS)` is attached to the entire test class. >>>>>> Due to `@BeforeAll void setup()` (and `teardown()`) being called anyway, a second gatekeeper in form an assumption is added to this method as well. This improves the execution duration time of all disabled tests. >>>>>> >>>>>> - **Convert relative folder path to be URI-friendly** >>>>>> On Windows Path::toString generates back slashes as path element separators. This yields invalid URI paths: like `"%s\webrev.%s"`. >>>>>> >>>>>> ### Open ends >>>>>> >>>>>> Current show stopper on Windows is: >>>>>> >>>>>> ```java.io.UncheckedIOException: java.io.IOException: Unexpected exit code >>>>>> 'git commit --message=Added webrev' exited with status: 1 >>>>>> [stdout] >>>>>>> HEAD detached at b6bb82c >>>>>>> nothing to commit, working tree clean >>>>>> [stderr] >>>>>> at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.WebrevStorage.createAndArchive(WebrevStorage.java:90) >>>>>> at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.ArchiveWorkItem.run(ArchiveWorkItem.java:595) >>>>>> at org.openjdk.skara.test/org.openjdk.skara.test.TestBotRunner.runPeriodicItems(TestBotRunner.java:34) >>>>>> at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.MailingListBridgeBotTests.skipAddingExistingWebrev(MailingListBridgeBotTests.java:800) >>>>>> >>>>>> ... >>>>>> >>>>>> Caused by: java.io.IOException: Unexpected exit code >>>>>> 'git commit --message=Added webrev' exited with status: 1 >>>>>> [stdout] >>>>>>> HEAD detached at b6bb82c >>>>>>> nothing to commit, working tree clean >>>>>> [stderr] >>>>>> at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.await(GitRepository.java:94) >>>>>> at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.commit(GitRepository.java:556) >>>>>> at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.commit(GitRepository.java:521) >>>>>> at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.commit(GitRepository.java:516) >>>>>> at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.WebrevStorage.push(WebrevStorage.java:60) >>>>>> at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.WebrevStorage.createAndArchive(WebrevStorage.java:86) >>>>>> ``` >>>>>> >>>>>> ---------------- >>>>>> >>>>>> Commits: >>>>>> - 91ea9193: Convert relative folder path to be URI-friendly >>>>>> On Windows Path::toString generates back slashes as path element >>>>>> separators. This yields invalid URI paths: like "%s\webrev.%s". >>>>>> - 7bc47b57: Skip BridgeBot tests on Windows >>>>>> The Exporter class, used JBridgeBot, calls application "rsync", which >>>>>> isn't available on Windows per default. Therefore, the annotation >>>>>> `@DisabledOnOS(OS.WINDOWS)` is attached to the entire test class. >>>>>> Due to `@BeforeAll void setup()` (and teardown()) being called anyway, >>>>>> a second gatekeeper in form an assumption is added to this method as >>>>>> well. This improves the execution duration time of all disabled tests. >>>>>> >>>>>> Pull request: >>>>>> https://git.openjdk.java.net/skara/pull/86 >>>>>> >>>>>> Webrev: >>>>>> https://webrevs.openjdk.java.net/skara/86/webrev.00 >>>>>> >>>>>> Patch: >>>>>> https://git.openjdk.java.net/skara/pull/86.diff >>>>>> >>>>>> Fetch command: >>>>>> git fetch https://git.openjdk.java.net/skara pull/86/head:pull/86 >>>>> >>>>> Thanks for looking into this! With your patch all the `mlbridge` tests are passing for me. I'm not seeing the same failures as you with the `mlbridge` tests... >>>>> >>>>> I'm not a Skara reviewer, so I can't approve this, but the patch looks good to me ???? >>>>> >>>>> --- >>>>> FWIW, I also got some other failures from some of the bot tests, particularly `IntegrateTests::autorebase`, `MergeTests::branchMergeRebase` and `SponsorTests::autoRebase` in the `bots.pr` module. When looking into it this seemed to be caused by file paths exceeding the maximum path length on Windows. Git rejects them with a specific error message, and HG just throws a file not found error. >>>>> >>>>> Besides that some tests in the `bots.submit` module are failing as well, but I haven't determined the exact reason yet. >>>>> >>>>> I had a chat with Erik about this, and since the bots are not really required to run on Windows any ways, it would also be fine to disable all the `bots` tests from running on Windows, to avoid any further compatibility problems. Or, just aggressively disable any that are failing. >>>>> >>>>> PR: https://git.openjdk.java.net/skara/pull/86 >>>> >>>>> [...] it would also be fine to disable all the bots tests from running on Windows [...] >>>> >>>> As long as some CI service is running those tests on Linux/Mac, fine with me. >>>> >>>> I'll extend this PR with to disable all bots tests on Windows. >>>> >>>> PR: https://git.openjdk.java.net/skara/pull/86 >>> >>> This looks good, but @sormuras would you mind updating the title of the PR? The title of the PR will be used as the title for the resulting commit, and I think we would want something a bit more descriptive than `Windows again...` :smile: >>> >>> PR: https://git.openjdk.java.net/skara/pull/86 >> >> Sure, Erik. >> >> But I'll update the PR once more to include comments from above: >> - Disable all bots test >> - Revert not needed optimization -- Gradle does just fine, only IDEA executes disabled tests. >>> Due to @BeforeAll void setup() (and teardown()) being called anyway, a second gatekeeper in form an assumption is added to this method as well. This improves the execution duration time of all disabled tests. >> >> PR: https://git.openjdk.java.net/skara/pull/86 > > Ok, sounds good! > > PR: https://git.openjdk.java.net/skara/pull/86 Sneak-peek: https://gradle.com/s/u4a6jzvrpkcvs PR: https://git.openjdk.java.net/skara/pull/86 From duke at openjdk.java.net Tue Aug 27 13:46:08 2019 From: duke at openjdk.java.net (duke) Date: Tue, 27 Aug 2019 13:46:08 GMT Subject: git: openjdk/skara: Parse .ssh/config in git-pr if needed Message-ID: <889da228-a3d8-43c7-895b-bc42a8c3f520@openjdk.java.net> Changeset: 9ca87824 Author: Erik Helin Date: 2019-08-27 13:45:39 +0000 URL: https://github.com/openjdk/skara/commit/9ca87824 Parse .ssh/config in git-pr if needed Reviewed-by: rwestberg ! cli/build.gradle ! cli/src/main/java/module-info.java ! cli/src/main/java/org/openjdk/skara/cli/GitPr.java ! settings.gradle + ssh/build.gradle + ssh/src/main/java/module-info.java + ssh/src/main/java/org/openjdk/skara/ssh/SSHConfig.java + ssh/src/test/java/org/openjdk/ssh/SSHConfigTests.java From duke at openjdk.java.net Tue Aug 27 13:51:55 2019 From: duke at openjdk.java.net (Christian Stein via github.com) Date: Tue, 27 Aug 2019 13:51:55 GMT Subject: RFR: Windows again... In-Reply-To: References: Message-ID: The pull request has been updated with additional changes. ---------------- Added commits: - 20b26839: Disable all bots tests on Windows - 3197f9a9: Convert relative folder path to be URI-friendly On Windows Path::toString generates back slashes as path element separators. This yields invalid URI paths: like "%s\webrev.%s". Pull request: https://git.openjdk.java.net/skara/pull/86 Webrevs: - full: https://webrevs.openjdk.java.net/skara/86/webrev.01 - inc: https://webrevs.openjdk.java.net/skara/86/webrev.00-01 Updated full patch: https://git.openjdk.java.net/skara/pull/86.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/86/head:pull/86 From duke at openjdk.java.net Tue Aug 27 13:58:46 2019 From: duke at openjdk.java.net (Christian Stein via github.com) Date: Tue, 27 Aug 2019 13:58:46 GMT Subject: RFR: Fine-tune testing on Windows In-Reply-To: References: <61uUjqu9uF_jvzaTXAigHA2wyM3gNa_nb8WOsMkPtrs=.02bc1c33-8da5-4b65-a2cb-ab455e39781a@github.com> <7_Y3b51rXC0RWT4d1j_RByoN9gzod3lTHmXAatzYOYI=.3537e1b5-de6b-439f-9229-ae28601830e9@github.com> Message-ID: <-POStjKavvj5plltdnmHTeQPnKuFuQDK4clmWMVG-08=.33b8c06e-8b01-45f6-8804-a97ec703a441@github.com> On Tue, 27 Aug 2019 13:43:26 GMT, Christian Stein via github.com wrote: > On Tue, 27 Aug 2019 13:11:16 GMT, Erik Duveblad via github.com wrote: > >> On Tue, 27 Aug 2019 12:51:56 GMT, Christian Stein via github.com wrote: >> >>> On Tue, 27 Aug 2019 12:06:55 GMT, Erik Duveblad via github.com wrote: >>> >>>> On Tue, 27 Aug 2019 08:52:05 GMT, Christian Stein via github.com wrote: >>>> >>>>> On Tue, 27 Aug 2019 08:45:46 GMT, Jorn Vernee via github.com wrote: >>>>> >>>>>> On Mon, 26 Aug 2019 18:52:18 GMT, Christian Stein via github.com wrote: >>>>>> >>>>>>> ### Two more Windows issues down >>>>>>> >>>>>>> - **Skip BrideBot tests on Windows** >>>>>>> The `Exporter` class, used `JBridgeBot`, calls application `"rsync"`, which isn't available on Windows per default. Therefore, the annotation `@DisabledOnOS(OS.WINDOWS)` is attached to the entire test class. >>>>>>> Due to `@BeforeAll void setup()` (and `teardown()`) being called anyway, a second gatekeeper in form an assumption is added to this method as well. This improves the execution duration time of all disabled tests. >>>>>>> >>>>>>> - **Convert relative folder path to be URI-friendly** >>>>>>> On Windows Path::toString generates back slashes as path element separators. This yields invalid URI paths: like `"%s\webrev.%s"`. >>>>>>> >>>>>>> ### Open ends >>>>>>> >>>>>>> Current show stopper on Windows is: >>>>>>> >>>>>>> ```java.io.UncheckedIOException: java.io.IOException: Unexpected exit code >>>>>>> 'git commit --message=Added webrev' exited with status: 1 >>>>>>> [stdout] >>>>>>>> HEAD detached at b6bb82c >>>>>>>> nothing to commit, working tree clean >>>>>>> [stderr] >>>>>>> at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.WebrevStorage.createAndArchive(WebrevStorage.java:90) >>>>>>> at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.ArchiveWorkItem.run(ArchiveWorkItem.java:595) >>>>>>> at org.openjdk.skara.test/org.openjdk.skara.test.TestBotRunner.runPeriodicItems(TestBotRunner.java:34) >>>>>>> at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.MailingListBridgeBotTests.skipAddingExistingWebrev(MailingListBridgeBotTests.java:800) >>>>>>> >>>>>>> ... >>>>>>> >>>>>>> Caused by: java.io.IOException: Unexpected exit code >>>>>>> 'git commit --message=Added webrev' exited with status: 1 >>>>>>> [stdout] >>>>>>>> HEAD detached at b6bb82c >>>>>>>> nothing to commit, working tree clean >>>>>>> [stderr] >>>>>>> at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.await(GitRepository.java:94) >>>>>>> at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.commit(GitRepository.java:556) >>>>>>> at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.commit(GitRepository.java:521) >>>>>>> at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.commit(GitRepository.java:516) >>>>>>> at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.WebrevStorage.push(WebrevStorage.java:60) >>>>>>> at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.WebrevStorage.createAndArchive(WebrevStorage.java:86) >>>>>>> ``` >>>>>>> >>>>>>> ---------------- >>>>>>> >>>>>>> Commits: >>>>>>> - 91ea9193: Convert relative folder path to be URI-friendly >>>>>>> On Windows Path::toString generates back slashes as path element >>>>>>> separators. This yields invalid URI paths: like "%s\webrev.%s". >>>>>>> - 7bc47b57: Skip BridgeBot tests on Windows >>>>>>> The Exporter class, used JBridgeBot, calls application "rsync", which >>>>>>> isn't available on Windows per default. Therefore, the annotation >>>>>>> `@DisabledOnOS(OS.WINDOWS)` is attached to the entire test class. >>>>>>> Due to `@BeforeAll void setup()` (and teardown()) being called anyway, >>>>>>> a second gatekeeper in form an assumption is added to this method as >>>>>>> well. This improves the execution duration time of all disabled tests. >>>>>>> >>>>>>> Pull request: >>>>>>> https://git.openjdk.java.net/skara/pull/86 >>>>>>> >>>>>>> Webrev: >>>>>>> https://webrevs.openjdk.java.net/skara/86/webrev.00 >>>>>>> >>>>>>> Patch: >>>>>>> https://git.openjdk.java.net/skara/pull/86.diff >>>>>>> >>>>>>> Fetch command: >>>>>>> git fetch https://git.openjdk.java.net/skara pull/86/head:pull/86 >>>>>> >>>>>> Thanks for looking into this! With your patch all the `mlbridge` tests are passing for me. I'm not seeing the same failures as you with the `mlbridge` tests... >>>>>> >>>>>> I'm not a Skara reviewer, so I can't approve this, but the patch looks good to me ???? >>>>>> >>>>>> --- >>>>>> FWIW, I also got some other failures from some of the bot tests, particularly `IntegrateTests::autorebase`, `MergeTests::branchMergeRebase` and `SponsorTests::autoRebase` in the `bots.pr` module. When looking into it this seemed to be caused by file paths exceeding the maximum path length on Windows. Git rejects them with a specific error message, and HG just throws a file not found error. >>>>>> >>>>>> Besides that some tests in the `bots.submit` module are failing as well, but I haven't determined the exact reason yet. >>>>>> >>>>>> I had a chat with Erik about this, and since the bots are not really required to run on Windows any ways, it would also be fine to disable all the `bots` tests from running on Windows, to avoid any further compatibility problems. Or, just aggressively disable any that are failing. >>>>>> >>>>>> PR: https://git.openjdk.java.net/skara/pull/86 >>>>> >>>>>> [...] it would also be fine to disable all the bots tests from running on Windows [...] >>>>> >>>>> As long as some CI service is running those tests on Linux/Mac, fine with me. >>>>> >>>>> I'll extend this PR with to disable all bots tests on Windows. >>>>> >>>>> PR: https://git.openjdk.java.net/skara/pull/86 >>>> >>>> This looks good, but @sormuras would you mind updating the title of the PR? The title of the PR will be used as the title for the resulting commit, and I think we would want something a bit more descriptive than `Windows again...` :smile: >>>> >>>> PR: https://git.openjdk.java.net/skara/pull/86 >>> >>> Sure, Erik. >>> >>> But I'll update the PR once more to include comments from above: >>> - Disable all bots test >>> - Revert not needed optimization -- Gradle does just fine, only IDEA executes disabled tests. >>>> Due to @BeforeAll void setup() (and teardown()) being called anyway, a second gatekeeper in form an assumption is added to this method as well. This improves the execution duration time of all disabled tests. >>> >>> PR: https://git.openjdk.java.net/skara/pull/86 >> >> Ok, sounds good! >> >> PR: https://git.openjdk.java.net/skara/pull/86 > > Sneak-peek: https://gradle.com/s/u4a6jzvrpkcvs > > PR: https://git.openjdk.java.net/skara/pull/86 Instead of annotating each test class in every `bots` project, I implemented an `ExecutionCondition` and enabled auto-detection of provided Jupiter extension. That implementation is named `DisableAllBotsTestsOnWindows` and resides in the `org.openjdk.skara.test` module. It checks the current test classes' package name. If that package name starts with `"org.openjdk.skara.bots."` and the current operating system is Windows, the execution of all tests within the test class are disabled. Too much magic? PR: https://git.openjdk.java.net/skara/pull/86 From duke at openjdk.java.net Tue Aug 27 14:24:03 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Tue, 27 Aug 2019 14:24:03 GMT Subject: RFR: Allow the notify bot to watch multiple branches Message-ID: Hi all, Please review the following change that adds support to the notifier bot for watching multiple branches. It also adds the branch name to the subject of the email if more than one branch is watched. Best regards, Robin ---------------- Commits: - a0451ce8: Only report the branch if watching more than one - 03c9a059: Allow the notify bot to watch multiple branches Pull request: https://git.openjdk.java.net/skara/pull/89 Webrev: https://webrevs.openjdk.java.net/skara/89/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/89.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/89/head:pull/89 From duke at openjdk.java.net Tue Aug 27 14:25:45 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Tue, 27 Aug 2019 14:25:45 GMT Subject: RFR: Allow the notify bot to watch multiple branches In-Reply-To: References: Message-ID: On Tue, 27 Aug 2019 14:24:03 GMT, Robin Westberg via github.com wrote: > Hi all, > > Please review the following change that adds support to the notifier bot for watching multiple branches. It also adds the branch name to the subject of the email if more than one branch is watched. > > Best regards, > Robin > > ---------------- > > Commits: > - a0451ce8: Only report the branch if watching more than one > - 03c9a059: Allow the notify bot to watch multiple branches > > Pull request: > https://git.openjdk.java.net/skara/pull/89 > > Webrev: > https://webrevs.openjdk.java.net/skara/89/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/89.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/89/head:pull/89 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Looks great, thanks! PR: https://git.openjdk.java.net/skara/pull/89 From duke at openjdk.java.net Tue Aug 27 14:27:07 2019 From: duke at openjdk.java.net (duke) Date: Tue, 27 Aug 2019 14:27:07 GMT Subject: git: openjdk/skara: Allow the notify bot to watch multiple branches Message-ID: <6407ca86-cc0a-40ca-9c61-3fdc904844c8@openjdk.java.net> Changeset: 31549d07 Author: Robin Westberg Date: 2019-08-27 14:26:58 +0000 URL: https://github.com/openjdk/skara/commit/31549d07 Allow the notify bot to watch multiple branches Reviewed-by: ehelin ! bots/notify/src/main/java/org/openjdk/skara/bots/notify/JNotifyBot.java ! bots/notify/src/main/java/org/openjdk/skara/bots/notify/JNotifyBotFactory.java ! bots/notify/src/main/java/org/openjdk/skara/bots/notify/JsonUpdater.java ! bots/notify/src/main/java/org/openjdk/skara/bots/notify/MailingListUpdater.java ! bots/notify/src/main/java/org/openjdk/skara/bots/notify/UpdateConsumer.java ! bots/notify/src/test/java/org/openjdk/skara/bots/notify/UpdaterTests.java From duke at openjdk.java.net Tue Aug 27 14:37:02 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Tue, 27 Aug 2019 14:37:02 GMT Subject: RFR: Filter out huge files to avoid excessive storage use Message-ID: Hi all, Please review this minor change that avoids storing huge files in webrev repositories, as they are not that useful anyway. Best regards, Robin ---------------- Commits: - 6ec8b7b6: Filter out huge files to avoid excessive storage use Pull request: https://git.openjdk.java.net/skara/pull/90 Webrev: https://webrevs.openjdk.java.net/skara/90/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/90.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/90/head:pull/90 From duke at openjdk.java.net Tue Aug 27 14:42:59 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Tue, 27 Aug 2019 14:42:59 GMT Subject: RFR: Filter out huge files to avoid excessive storage use In-Reply-To: References: Message-ID: On Tue, 27 Aug 2019 14:37:02 GMT, Robin Westberg via github.com wrote: > Hi all, > > Please review this minor change that avoids storing huge files in webrev repositories, as they are not that useful anyway. > > Best regards, > Robin > > ---------------- > > Commits: > - 6ec8b7b6: Filter out huge files to avoid excessive storage use > > Pull request: > https://git.openjdk.java.net/skara/pull/90 > > Webrev: > https://webrevs.openjdk.java.net/skara/90/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/90.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/90/head:pull/90 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Looks good! PR: https://git.openjdk.java.net/skara/pull/90 From duke at openjdk.java.net Tue Aug 27 14:44:09 2019 From: duke at openjdk.java.net (duke) Date: Tue, 27 Aug 2019 14:44:09 GMT Subject: git: openjdk/skara: Filter out huge files to avoid excessive storage use Message-ID: <4f55cd1d-1951-4713-bf98-6e20d0206582@openjdk.java.net> Changeset: b9277c92 Author: Robin Westberg Date: 2019-08-27 14:43:37 +0000 URL: https://github.com/openjdk/skara/commit/b9277c92 Filter out huge files to avoid excessive storage use Reviewed-by: ehelin ! bots/mlbridge/src/main/java/org/openjdk/skara/bots/mlbridge/WebrevStorage.java From duke at openjdk.java.net Wed Aug 28 08:21:23 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Wed, 28 Aug 2019 08:21:23 GMT Subject: RFR: Try adapting to malformed mboxes Message-ID: Hi all, Please review this change that tries to handle malformed mbox files, where lines start with `From ` without being an actual message break. If the lines following the `From ` cannot be parsed as an email, append it to the previous message and try again. Best regards, Robin ---------------- Commits: - c53c58c2: Fix trailing whitespace - 15969c85: Try adapting to malformed mboxes Pull request: https://git.openjdk.java.net/skara/pull/91 Webrev: https://webrevs.openjdk.java.net/skara/91/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/91.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/91/head:pull/91 From duke at openjdk.java.net Wed Aug 28 08:24:36 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Wed, 28 Aug 2019 08:24:36 GMT Subject: RFR: 51: Authentication token generation failure Message-ID: Hi all, Please review this minor change that adjusts the expiration time of GitHub authentication tokens to be slightly below the maximum allowed value. Best regards, Robin ---------------- Commits: - 7c20e24b: Adjust GitHub token expiration Pull request: https://git.openjdk.java.net/skara/pull/92 Webrev: https://webrevs.openjdk.java.net/skara/92/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/92.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/92/head:pull/92 From duke at openjdk.java.net Wed Aug 28 09:17:37 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Wed, 28 Aug 2019 09:17:37 GMT Subject: RFR: Try adapting to malformed mboxes In-Reply-To: References: Message-ID: On Wed, 28 Aug 2019 08:21:23 GMT, Robin Westberg via github.com wrote: > Hi all, > > Please review this change that tries to handle malformed mbox files, where lines start with `From ` without being an actual message break. If the lines following the `From ` cannot be parsed as an email, append it to the previous message and try again. > > Best regards, > Robin > > ---------------- > > Commits: > - c53c58c2: Fix trailing whitespace > - 15969c85: Try adapting to malformed mboxes > > Pull request: > https://git.openjdk.java.net/skara/pull/91 > > Webrev: > https://webrevs.openjdk.java.net/skara/91/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/91.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/91/head:pull/91 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Looks good! PR: https://git.openjdk.java.net/skara/pull/91 From duke at openjdk.java.net Wed Aug 28 09:18:08 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Wed, 28 Aug 2019 09:18:08 GMT Subject: RFR: 51: Authentication token generation failure In-Reply-To: References: Message-ID: On Wed, 28 Aug 2019 08:24:36 GMT, Robin Westberg via github.com wrote: > Hi all, > > Please review this minor change that adjusts the expiration time of GitHub authentication tokens to be slightly below the maximum allowed value. > > Best regards, > Robin > > ---------------- > > Commits: > - 7c20e24b: Adjust GitHub token expiration > > Pull request: > https://git.openjdk.java.net/skara/pull/92 > > Webrev: > https://webrevs.openjdk.java.net/skara/92/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/92.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/92/head:pull/92 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Looks good, thanks for fixing this! PR: https://git.openjdk.java.net/skara/pull/92 From duke at openjdk.java.net Wed Aug 28 09:21:37 2019 From: duke at openjdk.java.net (duke) Date: Wed, 28 Aug 2019 09:21:37 GMT Subject: git: openjdk/skara: 51: Authentication token generation failure Message-ID: <96a8ea96-5920-4f1e-91f4-4f00fb7289d2@openjdk.java.net> Changeset: 03ea4f96 Author: Robin Westberg Date: 2019-08-28 09:20:40 +0000 URL: https://github.com/openjdk/skara/commit/03ea4f96 51: Authentication token generation failure Reviewed-by: ehelin ! host/src/main/java/org/openjdk/skara/host/github/GitHubApplication.java From duke at openjdk.java.net Wed Aug 28 09:24:37 2019 From: duke at openjdk.java.net (duke) Date: Wed, 28 Aug 2019 09:24:37 GMT Subject: git: openjdk/skara: Try adapting to malformed mboxes Message-ID: Changeset: c7ffefaf Author: Robin Westberg Date: 2019-08-28 09:23:41 +0000 URL: https://github.com/openjdk/skara/commit/c7ffefaf Try adapting to malformed mboxes Reviewed-by: ehelin ! mailinglist/src/main/java/org/openjdk/skara/mailinglist/Mbox.java ! mailinglist/src/test/java/org/openjdk/skara/mailinglist/MboxTests.java From duke at openjdk.java.net Wed Aug 28 13:26:11 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Wed, 28 Aug 2019 13:26:11 GMT Subject: RFR: 53: Decouple review requirement from the jcheck status Message-ID: Hi all, Please review this change that avoids marking a PR as having failed jcheck, if it is only missing reviews. This is similar to how the `rfr` label currently works. Best regards, robin ---------------- Commits: - 00eaf2ac: Don't flag PR's missing only reviews as having failed jcheck Pull request: https://git.openjdk.java.net/skara/pull/93 Webrev: https://webrevs.openjdk.java.net/skara/93/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/93.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/93/head:pull/93 From duke at openjdk.java.net Wed Aug 28 13:42:02 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Wed, 28 Aug 2019 13:42:02 GMT Subject: RFR: 53: Decouple review requirement from the jcheck status In-Reply-To: References: Message-ID: On Wed, 28 Aug 2019 13:26:11 GMT, Robin Westberg via github.com wrote: > Hi all, > > Please review this change that avoids marking a PR as having failed jcheck, if it is only missing reviews. This is similar to how the `rfr` label currently works. > > Best regards, > robin > > ---------------- > > Commits: > - 00eaf2ac: Don't flag PR's missing only reviews as having failed jcheck > > Pull request: > https://git.openjdk.java.net/skara/pull/93 > > Webrev: > https://webrevs.openjdk.java.net/skara/93/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/93.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/93/head:pull/93 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Looks good! PR: https://git.openjdk.java.net/skara/pull/93 From duke at openjdk.java.net Wed Aug 28 13:44:35 2019 From: duke at openjdk.java.net (duke) Date: Wed, 28 Aug 2019 13:44:35 GMT Subject: git: openjdk/skara: 53: Decouple review requirement from the jcheck status Message-ID: <66532435-74bf-42c5-9be6-0ed2b3f2f754@openjdk.java.net> Changeset: 984bb12a Author: Robin Westberg Date: 2019-08-28 13:44:26 +0000 URL: https://github.com/openjdk/skara/commit/984bb12a 53: Decouple review requirement from the jcheck status Reviewed-by: ehelin ! bots/pr/src/main/java/org/openjdk/skara/bots/pr/CheckRun.java ! bots/pr/src/main/java/org/openjdk/skara/bots/pr/IntegrateCommand.java ! bots/pr/src/main/java/org/openjdk/skara/bots/pr/PullRequestCheckIssueVisitor.java ! bots/pr/src/main/java/org/openjdk/skara/bots/pr/PullRequestInstance.java ! bots/pr/src/test/java/org/openjdk/skara/bots/pr/CheckTests.java ! bots/pr/src/test/java/org/openjdk/skara/bots/pr/IntegrateTests.java ! bots/pr/src/test/java/org/openjdk/skara/bots/pr/MergeTests.java From duke at openjdk.java.net Wed Aug 28 13:45:01 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Wed, 28 Aug 2019 13:45:01 GMT Subject: RFR: 53: Decouple review requirement from the jcheck status In-Reply-To: References: Message-ID: The pull request has been updated with additional changes. ---------------- Added commits: - 3ff8510c: Rename getIssues to getMessages Pull request: https://git.openjdk.java.net/skara/pull/93 Webrevs: - full: https://webrevs.openjdk.java.net/skara/93/webrev.01 - inc: https://webrevs.openjdk.java.net/skara/93/webrev.00-01 Updated full patch: https://git.openjdk.java.net/skara/pull/93.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/93/head:pull/93 From duke at openjdk.java.net Wed Aug 28 13:57:49 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Wed, 28 Aug 2019 13:57:49 GMT Subject: RFR: Fine-tune testing on Windows In-Reply-To: References: Message-ID: On Mon, 26 Aug 2019 18:52:18 GMT, Christian Stein via github.com wrote: > ### Two more Windows issues down > > - **Skip BrideBot tests on Windows** > The `Exporter` class, used `JBridgeBot`, calls application `"rsync"`, which isn't available on Windows per default. Therefore, the annotation `@DisabledOnOS(OS.WINDOWS)` is attached to the entire test class. > Due to `@BeforeAll void setup()` (and `teardown()`) being called anyway, a second gatekeeper in form an assumption is added to this method as well. This improves the execution duration time of all disabled tests. > > - **Convert relative folder path to be URI-friendly** > On Windows Path::toString generates back slashes as path element separators. This yields invalid URI paths: like `"%s\webrev.%s"`. > > ### Open ends > > Current show stopper on Windows is: > > ```java.io.UncheckedIOException: java.io.IOException: Unexpected exit code > 'git commit --message=Added webrev' exited with status: 1 > [stdout] >> HEAD detached at b6bb82c >> nothing to commit, working tree clean > [stderr] > at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.WebrevStorage.createAndArchive(WebrevStorage.java:90) > at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.ArchiveWorkItem.run(ArchiveWorkItem.java:595) > at org.openjdk.skara.test/org.openjdk.skara.test.TestBotRunner.runPeriodicItems(TestBotRunner.java:34) > at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.MailingListBridgeBotTests.skipAddingExistingWebrev(MailingListBridgeBotTests.java:800) > > ... > > Caused by: java.io.IOException: Unexpected exit code > 'git commit --message=Added webrev' exited with status: 1 > [stdout] >> HEAD detached at b6bb82c >> nothing to commit, working tree clean > [stderr] > at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.await(GitRepository.java:94) > at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.commit(GitRepository.java:556) > at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.commit(GitRepository.java:521) > at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.commit(GitRepository.java:516) > at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.WebrevStorage.push(WebrevStorage.java:60) > at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.WebrevStorage.createAndArchive(WebrevStorage.java:86) > ``` > > ---------------- > > Commits: > - 91ea9193: Convert relative folder path to be URI-friendly > On Windows Path::toString generates back slashes as path element > separators. This yields invalid URI paths: like "%s\webrev.%s". > - 7bc47b57: Skip BridgeBot tests on Windows > The Exporter class, used JBridgeBot, calls application "rsync", which > isn't available on Windows per default. Therefore, the annotation > `@DisabledOnOS(OS.WINDOWS)` is attached to the entire test class. > Due to `@BeforeAll void setup()` (and teardown()) being called anyway, > a second gatekeeper in form an assumption is added to this method as > well. This improves the execution duration time of all disabled tests. > > Pull request: > https://git.openjdk.java.net/skara/pull/86 > > Webrev: > https://webrevs.openjdk.java.net/skara/86/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/86.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/86/head:pull/86 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Looks good to me! PR: https://git.openjdk.java.net/skara/pull/86 From duke at openjdk.java.net Wed Aug 28 15:31:27 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Wed, 28 Aug 2019 15:31:27 GMT Subject: RFR: Add default safe methods for Repository::checkout Message-ID: Hi all, this tiny patch just adds two default implementations for `Repository::checkout` that are safe to use (I got annoyed at having to add `false` to all my `checkout` calls). Thanks, Erik ---------------- Commits: - b45957d7: Add default safe methods for Repository::checkout Pull request: https://git.openjdk.java.net/skara/pull/94 Webrev: https://webrevs.openjdk.java.net/skara/94/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/94.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/94/head:pull/94 From duke at openjdk.java.net Wed Aug 28 15:32:55 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Wed, 28 Aug 2019 15:32:55 GMT Subject: RFR: Add newline at end of file to MergeTests.java Message-ID: Hi all, this tiny patch just add a proper newline to `MergeTests.java`. Thanks, Erik ---------------- Commits: - eb1c5625: Add newline at end of file to MergeTests.java Pull request: https://git.openjdk.java.net/skara/pull/95 Webrev: https://webrevs.openjdk.java.net/skara/95/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/95.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/95/head:pull/95 From duke at openjdk.java.net Wed Aug 28 17:24:35 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Wed, 28 Aug 2019 17:24:35 GMT Subject: RFR: Add ReadOnlyRepository::contains Message-ID: Hi all, this patch adds `ReadOnlyRepository::contains` that checks if a given hash `h` resides in the given branch `b`. I also added small unit test case, it was hard to add more elaborate tests given that `HgRepository::branch` creates a bookmark and not a branch. ## Testing - [x] `sh gradlew test` passes - [x] Added a small unit test Thanks, Erik ---------------- Commits: - d0559535: Add ReadOnlyRepository::contains Pull request: https://git.openjdk.java.net/skara/pull/96 Webrev: https://webrevs.openjdk.java.net/skara/96/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/96.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/96/head:pull/96 From duke at openjdk.java.net Wed Aug 28 17:27:38 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Wed, 28 Aug 2019 17:27:38 GMT Subject: RFR: TestPullRequest::getBody always returns empty string Message-ID: Hi all, this tiny patch fixes a bug with `TestPullRequest` - `getBody()` always returns the empty string. ## Testing - [x] `sh gradlew test` passes on Linux x86_64 Thanks, Erik ---------------- Commits: - 0eebb08f: TestPullRequest::getBody always returns empty string Pull request: https://git.openjdk.java.net/skara/pull/97 Webrev: https://webrevs.openjdk.java.net/skara/97/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/97.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/97/head:pull/97 From duke at openjdk.java.net Thu Aug 29 06:13:45 2019 From: duke at openjdk.java.net (Kevin Rushforth via github.com) Date: Thu, 29 Aug 2019 06:13:45 GMT Subject: RFR: 84: Default bug ID format should match the JDK default In-Reply-To: <9Jyt9GPWJ9Lq3li_nr7E7lm58fj94Tyt88E7OJGwpA8=.2b9a10a1-0d91-4da4-95a9-89c7acda8f93@github.com> References: <9Jyt9GPWJ9Lq3li_nr7E7lm58fj94Tyt88E7OJGwpA8=.2b9a10a1-0d91-4da4-95a9-89c7acda8f93@github.com> Message-ID: On Thu, 29 Aug 2019 06:13:44 GMT, Kevin Rushforth via github.com wrote: > Fix for [SKARA-84](https://bugs.openjdk.java.net/browse/SKARA-84) to change the default issue pattern to require exactly 7 digits with no prefix to match `hg jcheck`. > > I updated all of the tests to account for this and added new tests for now-invalid formats. > > ---------------- > > Commits: > - 4e819911: 84: Default bug ID format should match the JDK default > > Pull request: > https://git.openjdk.java.net/skara/pull/99 > > Webrev: > https://webrevs.openjdk.java.net/skara/99/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/99.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/99/head:pull/99 I filed [SKARA-86](https://bugs.openjdk.java.net/browse/SKARA-86) to associate my GitHub username, `kevinrushforth`, with my OpenJDK username, `kcr`. PR: https://git.openjdk.java.net/skara/pull/99 From duke at openjdk.java.net Thu Aug 29 06:13:44 2019 From: duke at openjdk.java.net (Kevin Rushforth via github.com) Date: Thu, 29 Aug 2019 06:13:44 GMT Subject: RFR: 84: Default bug ID format should match the JDK default Message-ID: <9Jyt9GPWJ9Lq3li_nr7E7lm58fj94Tyt88E7OJGwpA8=.2b9a10a1-0d91-4da4-95a9-89c7acda8f93@github.com> Fix for [SKARA-84](https://bugs.openjdk.java.net/browse/SKARA-84) to change the default issue pattern to require exactly 7 digits with no prefix to match `hg jcheck`. I updated all of the tests to account for this and added new tests for now-invalid formats. ---------------- Commits: - 4e819911: 84: Default bug ID format should match the JDK default Pull request: https://git.openjdk.java.net/skara/pull/99 Webrev: https://webrevs.openjdk.java.net/skara/99/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/99.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/99/head:pull/99 From duke at openjdk.java.net Thu Aug 29 06:15:20 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Thu, 29 Aug 2019 06:15:20 GMT Subject: RFR: Add default safe methods for Repository::checkout In-Reply-To: References: Message-ID: On Wed, 28 Aug 2019 15:31:27 GMT, Erik Duveblad via github.com wrote: > Hi all, > > this tiny patch just adds two default implementations for `Repository::checkout` that are safe to use (I got annoyed at having to add `false` to all my `checkout` calls). > > Thanks, > Erik > > ---------------- > > Commits: > - b45957d7: Add default safe methods for Repository::checkout > > Pull request: > https://git.openjdk.java.net/skara/pull/94 > > Webrev: > https://webrevs.openjdk.java.net/skara/94/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/94.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/94/head:pull/94 This PR has been reviewed by Robin Westberg via github.com - changes are approved. Review comment: Looks good! PR: https://git.openjdk.java.net/skara/pull/94 From duke at openjdk.java.net Thu Aug 29 06:17:08 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Thu, 29 Aug 2019 06:17:08 GMT Subject: RFR: Add newline at end of file to MergeTests.java In-Reply-To: References: Message-ID: On Wed, 28 Aug 2019 15:32:55 GMT, Erik Duveblad via github.com wrote: > Hi all, > > this tiny patch just add a proper newline to `MergeTests.java`. > > Thanks, > Erik > > ---------------- > > Commits: > - eb1c5625: Add newline at end of file to MergeTests.java > > Pull request: > https://git.openjdk.java.net/skara/pull/95 > > Webrev: > https://webrevs.openjdk.java.net/skara/95/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/95.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/95/head:pull/95 This PR has been reviewed by Robin Westberg via github.com - changes are approved. Review comment: PR: https://git.openjdk.java.net/skara/pull/95 From duke at openjdk.java.net Thu Aug 29 06:18:28 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Thu, 29 Aug 2019 06:18:28 GMT Subject: RFR: Add ReadOnlyRepository::contains In-Reply-To: References: Message-ID: On Wed, 28 Aug 2019 17:24:35 GMT, Erik Duveblad via github.com wrote: > Hi all, > > this patch adds `ReadOnlyRepository::contains` that checks if a given hash `h` resides in the given branch `b`. I also added small unit test case, it was hard to add more elaborate tests given that `HgRepository::branch` creates a bookmark and not a branch. > > ## Testing > - [x] `sh gradlew test` passes > - [x] Added a small unit test > > Thanks, > Erik > > ---------------- > > Commits: > - d0559535: Add ReadOnlyRepository::contains > > Pull request: > https://git.openjdk.java.net/skara/pull/96 > > Webrev: > https://webrevs.openjdk.java.net/skara/96/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/96.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/96/head:pull/96 This PR has been reviewed by Robin Westberg via github.com - changes are approved. Review comment: Looks good! PR: https://git.openjdk.java.net/skara/pull/96 From duke at openjdk.java.net Thu Aug 29 06:19:08 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Thu, 29 Aug 2019 06:19:08 GMT Subject: RFR: TestPullRequest::getBody always returns empty string In-Reply-To: References: Message-ID: On Wed, 28 Aug 2019 17:27:38 GMT, Erik Duveblad via github.com wrote: > Hi all, > > this tiny patch fixes a bug with `TestPullRequest` - `getBody()` always returns the empty string. > > ## Testing > - [x] `sh gradlew test` passes on Linux x86_64 > > Thanks, > Erik > > ---------------- > > Commits: > - 0eebb08f: TestPullRequest::getBody always returns empty string > > Pull request: > https://git.openjdk.java.net/skara/pull/97 > > Webrev: > https://webrevs.openjdk.java.net/skara/97/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/97.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/97/head:pull/97 This PR has been reviewed by Robin Westberg via github.com - changes are approved. Review comment: Good catch! PR: https://git.openjdk.java.net/skara/pull/97 From duke at openjdk.java.net Thu Aug 29 07:29:36 2019 From: duke at openjdk.java.net (duke) Date: Thu, 29 Aug 2019 07:29:36 GMT Subject: git: openjdk/skara: TestPullRequest::getBody always returns empty string Message-ID: <4ffed3a6-69f2-451c-b9f9-37e0a7b155b7@openjdk.java.net> Changeset: bcd21d8c Author: Erik Helin Date: 2019-08-29 07:29:08 +0000 URL: https://github.com/openjdk/skara/commit/bcd21d8c TestPullRequest::getBody always returns empty string Reviewed-by: rwestberg ! test/src/main/java/org/openjdk/skara/test/TestPullRequest.java From duke at openjdk.java.net Thu Aug 29 07:50:09 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 29 Aug 2019 07:50:09 GMT Subject: RFR: 84: Default bug ID format should match the JDK default In-Reply-To: References: <9Jyt9GPWJ9Lq3li_nr7E7lm58fj94Tyt88E7OJGwpA8=.2b9a10a1-0d91-4da4-95a9-89c7acda8f93@github.com> Message-ID: On Thu, 29 Aug 2019 06:13:45 GMT, Kevin Rushforth via github.com wrote: > On Thu, 29 Aug 2019 06:13:44 GMT, Kevin Rushforth via github.com wrote: > >> Fix for [SKARA-84](https://bugs.openjdk.java.net/browse/SKARA-84) to change the default issue pattern to require exactly 7 digits with no prefix to match `hg jcheck`. >> >> I updated all of the tests to account for this and added new tests for now-invalid formats. >> >> ---------------- >> >> Commits: >> - 4e819911: 84: Default bug ID format should match the JDK default >> >> Pull request: >> https://git.openjdk.java.net/skara/pull/99 >> >> Webrev: >> https://webrevs.openjdk.java.net/skara/99/webrev.00 >> >> Patch: >> https://git.openjdk.java.net/skara/pull/99.diff >> >> Fetch command: >> git fetch https://git.openjdk.java.net/skara pull/99/head:pull/99 > > I filed [SKARA-86](https://bugs.openjdk.java.net/browse/SKARA-86) to associate my GitHub username, `kevinrushforth`, with my OpenJDK username, `kcr`. > > PR: https://git.openjdk.java.net/skara/pull/99 Hi Kevin, first of all, thanks for contributing! Unfortunately there are dependencies on the regex your are changing in the rest of the code, particularly in the `HgToGitConverter` (via `ConverterCommitMessageParser`). That means that your change will cause the conversion for some OpenJDK Mercurial repositories to start to fail, so we can't integrate this patch as is :( I think a better approach here would be to implement https://bugs.openjdk.java.net/projects/SKARA/issues/SKARA-80, but _not_ at the `vcs` level (`vcs` is one "layer" below the `jcheck` layer). Instead I would recommend enhancing git-jcheck's configuration file to allow customizing the `issue` check, for example: ``` [checks "issues"] pattern = ^([1-9][0-9]{6}): (\\S.*)$ ``` Then you could extend `ChecksConfiguration` to have an `IsssuesConfiguration` member (see for example how `ReviewersConfiguration` or `WhitespaceConfiguration` works). Finally you would then have to update the `IssuesCheck` to read this configuration and the pattern and check that all issues in `message.issues()` conforms to the pattern, for example: ``` var issues = new ArrayList(); var patttern = Patter.compile(conf.checks().issues().pattern()); for (var issue : message.issues()) { if (!pattern.matcher(issue.toString()).matches()) { issues.add(new IssuesIssue(metadata)); } } return issues.iterator(); ``` The last part that would then fulfill what you want this patch to do would be have the default value for `pattern` in `IssueConfiguration` be `"^([1-9][0-9]{6}): (\\S.*)$"`. To try to make the architecture a bit more clear: the `vcs` layer should work for _all_ OpenJDK Projects, not just the JDK Project. Then projects can specify how they want jcheck to work for their project via .jcheck/conf. The good news is that you can still re-use all the updates you made to the unit tests for a patch implementing the above! PR: https://git.openjdk.java.net/skara/pull/99 From duke at openjdk.java.net Thu Aug 29 08:09:37 2019 From: duke at openjdk.java.net (duke) Date: Thu, 29 Aug 2019 08:09:37 GMT Subject: git: openjdk/skara: 2 new changesets Message-ID: <2589926f-b6ff-4c8e-9b3f-5081c82d3153@openjdk.java.net> Changeset: 7a927a01 Author: Erik Helin Date: 2019-08-29 08:08:47 +0000 URL: https://github.com/openjdk/skara/commit/7a927a01 Add default safe methods for Repository::checkout Reviewed-by: rwestberg ! vcs/src/main/java/org/openjdk/skara/vcs/Repository.java Changeset: 4fb03151 Author: Erik Helin Date: 2019-08-29 08:09:19 +0000 URL: https://github.com/openjdk/skara/commit/4fb03151 Add newline at end of file to MergeTests.java Reviewed-by: rwestberg ! bots/pr/src/test/java/org/openjdk/skara/bots/pr/MergeTests.java From duke at openjdk.java.net Thu Aug 29 08:10:32 2019 From: duke at openjdk.java.net (Jorn Vernee via github.com) Date: Thu, 29 Aug 2019 08:10:32 GMT Subject: RFR: Fine-tune testing on Windows In-Reply-To: References: Message-ID: On Mon, 26 Aug 2019 18:52:18 GMT, Christian Stein via github.com wrote: > ### Two more Windows issues down > > - **Skip BrideBot tests on Windows** > The `Exporter` class, used `JBridgeBot`, calls application `"rsync"`, which isn't available on Windows per default. Therefore, the annotation `@DisabledOnOS(OS.WINDOWS)` is attached to the entire test class. > Due to `@BeforeAll void setup()` (and `teardown()`) being called anyway, a second gatekeeper in form an assumption is added to this method as well. This improves the execution duration time of all disabled tests. > > - **Convert relative folder path to be URI-friendly** > On Windows Path::toString generates back slashes as path element separators. This yields invalid URI paths: like `"%s\webrev.%s"`. > > ### Open ends > > Current show stopper on Windows is: > > ```java.io.UncheckedIOException: java.io.IOException: Unexpected exit code > 'git commit --message=Added webrev' exited with status: 1 > [stdout] >> HEAD detached at b6bb82c >> nothing to commit, working tree clean > [stderr] > at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.WebrevStorage.createAndArchive(WebrevStorage.java:90) > at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.ArchiveWorkItem.run(ArchiveWorkItem.java:595) > at org.openjdk.skara.test/org.openjdk.skara.test.TestBotRunner.runPeriodicItems(TestBotRunner.java:34) > at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.MailingListBridgeBotTests.skipAddingExistingWebrev(MailingListBridgeBotTests.java:800) > > ... > > Caused by: java.io.IOException: Unexpected exit code > 'git commit --message=Added webrev' exited with status: 1 > [stdout] >> HEAD detached at b6bb82c >> nothing to commit, working tree clean > [stderr] > at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.await(GitRepository.java:94) > at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.commit(GitRepository.java:556) > at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.commit(GitRepository.java:521) > at org.openjdk.skara.vcs/org.openjdk.skara.vcs.git.GitRepository.commit(GitRepository.java:516) > at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.WebrevStorage.push(WebrevStorage.java:60) > at org.openjdk.skara.bots.mlbridge/org.openjdk.skara.bots.mlbridge.WebrevStorage.createAndArchive(WebrevStorage.java:86) > ``` > > ---------------- > > Commits: > - 91ea9193: Convert relative folder path to be URI-friendly > On Windows Path::toString generates back slashes as path element > separators. This yields invalid URI paths: like "%s\webrev.%s". > - 7bc47b57: Skip BridgeBot tests on Windows > The Exporter class, used JBridgeBot, calls application "rsync", which > isn't available on Windows per default. Therefore, the annotation > `@DisabledOnOS(OS.WINDOWS)` is attached to the entire test class. > Due to `@BeforeAll void setup()` (and teardown()) being called anyway, > a second gatekeeper in form an assumption is added to this method as > well. This improves the execution duration time of all disabled tests. > > Pull request: > https://git.openjdk.java.net/skara/pull/86 > > Webrev: > https://webrevs.openjdk.java.net/skara/86/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/86.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/86/head:pull/86 This PR has been reviewed by Jorn Vernee via github.com - changes are approved. Review comment: PR: https://git.openjdk.java.net/skara/pull/86 From duke at openjdk.java.net Thu Aug 29 08:39:58 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 29 Aug 2019 08:39:58 GMT Subject: RFR: Add ReadOnlyRepository::contains In-Reply-To: References: Message-ID: <7kIvn7wyaSYQ4qDVjcXDfB44AUrFP4LcF2i62_2Gikc=.8e545218-1d5a-41aa-be14-2e56988236d9@github.com> On Wed, 28 Aug 2019 17:24:35 GMT, Erik Duveblad via github.com wrote: > Hi all, > > this patch adds `ReadOnlyRepository::contains` that checks if a given hash `h` resides in the given branch `b`. I also added small unit test case, it was hard to add more elaborate tests given that `HgRepository::branch` creates a bookmark and not a branch. > > ## Testing > - [x] `sh gradlew test` passes > - [x] Added a small unit test > > Thanks, > Erik > > ---------------- > > Commits: > - d0559535: Add ReadOnlyRepository::contains > > Pull request: > https://git.openjdk.java.net/skara/pull/96 > > Webrev: > https://webrevs.openjdk.java.net/skara/96/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/96.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/96/head:pull/96 @openjdk-bot now please PR: https://git.openjdk.java.net/skara/pull/96 From duke at openjdk.java.net Thu Aug 29 08:40:36 2019 From: duke at openjdk.java.net (duke) Date: Thu, 29 Aug 2019 08:40:36 GMT Subject: git: openjdk/skara: Add ReadOnlyRepository::contains Message-ID: <1fea46f9-5f91-46d2-81ef-cc9e97445949@openjdk.java.net> Changeset: 25a8f8fa Author: Erik Helin Date: 2019-08-29 08:40:00 +0000 URL: https://github.com/openjdk/skara/commit/25a8f8fa Add ReadOnlyRepository::contains Reviewed-by: rwestberg ! jcheck/src/test/java/org/openjdk/skara/jcheck/TestRepository.java ! vcs/src/main/java/org/openjdk/skara/vcs/ReadOnlyRepository.java ! vcs/src/main/java/org/openjdk/skara/vcs/git/GitRepository.java ! vcs/src/main/java/org/openjdk/skara/vcs/hg/HgRepository.java ! vcs/src/test/java/org/openjdk/skara/vcs/RepositoryTests.java From duke at openjdk.java.net Thu Aug 29 08:41:37 2019 From: duke at openjdk.java.net (duke) Date: Thu, 29 Aug 2019 08:41:37 GMT Subject: git: openjdk/skara: Fine-tune testing on Windows Message-ID: Changeset: 7ea3269f Author: Christian Stein Committer: Erik Helin Date: 2019-08-29 08:41:09 +0000 URL: https://github.com/openjdk/skara/commit/7ea3269f Fine-tune testing on Windows Reviewed-by: ehelin, jvernee ! bots/mlbridge/src/main/java/org/openjdk/skara/bots/mlbridge/WebrevStorage.java ! buildSrc/module/src/main/java/org/openjdk/skara/gradle/module/ModulePlugin.java ! test/src/main/java/module-info.java + test/src/main/java/org/openjdk/skara/test/DisableAllBotsTestsOnWindows.java From duke at openjdk.java.net Thu Aug 29 09:03:46 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Thu, 29 Aug 2019 09:03:46 GMT Subject: RFR: Add optional handler for workitem runtime errors Message-ID: Hi all, Please review this change that allows `WorkItem`s that use the PullRequestUpdateCache to invalidate an entry if an RuntimeException occurs during the execution. Without this, operations are not retried automatically on transient errors. Best regards, Robin ---------------- Commits: - e5ea9a54: Add optional handler for workitem runtime errors Pull request: https://git.openjdk.java.net/skara/pull/100 Webrev: https://webrevs.openjdk.java.net/skara/100/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/100.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/100/head:pull/100 From duke at openjdk.java.net Thu Aug 29 09:28:00 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 29 Aug 2019 09:28:00 GMT Subject: RFR: Add Repository::abortMerge Message-ID: <1rJ1agdvx5KlKdY31q_DBARQsMD9CJuEPuglYIq6cRg=.aff103ed-8297-4736-b394-3cd5f0987274@github.com> Hi all, this patch add `Repository::abortMerge` and a corresponding unit test. ## Testing - [x] `sh gradlew test` - [x] Added new unit test Thanks, Erik ---------------- Commits: - fee82c70: Add Repository::abortMerge Pull request: https://git.openjdk.java.net/skara/pull/101 Webrev: https://webrevs.openjdk.java.net/skara/101/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/101.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/101/head:pull/101 From duke at openjdk.java.net Thu Aug 29 09:29:38 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 29 Aug 2019 09:29:38 GMT Subject: RFR: Add optional handler for workitem runtime errors In-Reply-To: References: Message-ID: <-GexnU-6N3Dodzag_7HbcPGSRbdD9VHU46DyTXcldGA=.b579e011-0ec3-4f73-8418-3ec9609bcd47@github.com> On Thu, 29 Aug 2019 09:03:46 GMT, Robin Westberg via github.com wrote: > Hi all, > > Please review this change that allows `WorkItem`s that use the PullRequestUpdateCache to invalidate an entry if an RuntimeException occurs during the execution. Without this, operations are not retried automatically on transient errors. > > Best regards, > Robin > > ---------------- > > Commits: > - e5ea9a54: Add optional handler for workitem runtime errors > > Pull request: > https://git.openjdk.java.net/skara/pull/100 > > Webrev: > https://webrevs.openjdk.java.net/skara/100/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/100.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/100/head:pull/100 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Thanks, this will help a lot! PR: https://git.openjdk.java.net/skara/pull/100 From duke at openjdk.java.net Thu Aug 29 09:32:27 2019 From: duke at openjdk.java.net (Stefan Johansson via github.com) Date: Thu, 29 Aug 2019 09:32:27 GMT Subject: RFR: 88: git token store https://github.com does not work Message-ID: Hi, Please review this fix to avoid getting exceptions when having URIs with empty paths. Instead of assuming a leading '/' we now check the path in GitCredentials.fill and only removes a leading '/' if it is present. Basic tests pass, but the affected commands have not yet been tested thoroughly. Thanks, Stefan ---------------- Commits: - 8903663b: 88: git token store https://github.com does not work Pull request: https://git.openjdk.java.net/skara/pull/103 Webrev: https://webrevs.openjdk.java.net/skara/103/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/103.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/103/head:pull/103 From duke at openjdk.java.net Thu Aug 29 09:36:43 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 29 Aug 2019 09:36:43 GMT Subject: RFR: TestHostedRepository::getPullRequests should only return open PRs Message-ID: Hi, this patch fixes `TestHostedRepository::getPullRequests` so that it only returns pull requests with state `PullRequest.State.OPEN` - this is how GitLab and GitHub works. Thanks, Erik ---------------- Commits: - d3b0c0ab: TestHostedRepository::getPullRequests should only return open PRs Pull request: https://git.openjdk.java.net/skara/pull/102 Webrev: https://webrevs.openjdk.java.net/skara/102/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/102.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/102/head:pull/102 From duke at openjdk.java.net Thu Aug 29 09:36:44 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Thu, 29 Aug 2019 09:36:44 GMT Subject: RFR: TestHostedRepository::getPullRequests should only return open PRs In-Reply-To: References: Message-ID: On Thu, 29 Aug 2019 09:36:43 GMT, Erik Duveblad via github.com wrote: > Hi, > > this patch fixes `TestHostedRepository::getPullRequests` so that it only returns pull requests with state `PullRequest.State.OPEN` - this is how GitLab and GitHub works. > > Thanks, > Erik > > ---------------- > > Commits: > - d3b0c0ab: TestHostedRepository::getPullRequests should only return open PRs > > Pull request: > https://git.openjdk.java.net/skara/pull/102 > > Webrev: > https://webrevs.openjdk.java.net/skara/102/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/102.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/102/head:pull/102 This PR has been reviewed by Robin Westberg via github.com - changes are approved. Review comment: Looks good, only a minor comment! PR: https://git.openjdk.java.net/skara/pull/102 test/src/main/java/org/openjdk/skara/test/TestPullRequest.java line 261: > 260: } > 261: > 262: boolean isOpen() { ```suggestion boolean isOpen() { ``` Can perhaps keep this one package private. PR: https://git.openjdk.java.net/skara/pull/102 From duke at openjdk.java.net Thu Aug 29 09:37:37 2019 From: duke at openjdk.java.net (duke) Date: Thu, 29 Aug 2019 09:37:37 GMT Subject: git: openjdk/skara: TestHostedRepository::getPullRequests should only return open PRs Message-ID: <560ef5f1-7bf2-4722-94cc-553f8fe0cf69@openjdk.java.net> Changeset: 482ee91a Author: Erik Helin Date: 2019-08-29 09:37:09 +0000 URL: https://github.com/openjdk/skara/commit/482ee91a TestHostedRepository::getPullRequests should only return open PRs Reviewed-by: rwestberg ! test/src/main/java/org/openjdk/skara/test/TestHost.java ! test/src/main/java/org/openjdk/skara/test/TestPullRequest.java From duke at openjdk.java.net Thu Aug 29 09:37:49 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 29 Aug 2019 09:37:49 GMT Subject: RFR: TestHostedRepository::getPullRequests should only return open PRs In-Reply-To: References: Message-ID: On Thu, 29 Aug 2019 09:36:43 GMT, Erik Duveblad via github.com wrote: > Hi, > > this patch fixes `TestHostedRepository::getPullRequests` so that it only returns pull requests with state `PullRequest.State.OPEN` - this is how GitLab and GitHub works. > > Thanks, > Erik > > ---------------- > > Commits: > - d3b0c0ab: TestHostedRepository::getPullRequests should only return open PRs > > Pull request: > https://git.openjdk.java.net/skara/pull/102 > > Webrev: > https://webrevs.openjdk.java.net/skara/102/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/102.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/102/head:pull/102 Thanks for the suggestion! PR: https://git.openjdk.java.net/skara/pull/102 From duke at openjdk.java.net Thu Aug 29 09:37:48 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 29 Aug 2019 09:37:48 GMT Subject: RFR: TestHostedRepository::getPullRequests should only return open PRs In-Reply-To: References: Message-ID: The pull request has been updated with additional changes. ---------------- Added commits: - 16f34425: Use package private for isOpen Co-Authored-By: Robin Westberg Pull request: https://git.openjdk.java.net/skara/pull/102 Webrevs: - full: https://webrevs.openjdk.java.net/skara/102/webrev.01 - inc: https://webrevs.openjdk.java.net/skara/102/webrev.00-01 Updated full patch: https://git.openjdk.java.net/skara/pull/102.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/102/head:pull/102 From duke at openjdk.java.net Thu Aug 29 09:49:32 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 29 Aug 2019 09:49:32 GMT Subject: RFR: Add Repository::abortMerge In-Reply-To: <1rJ1agdvx5KlKdY31q_DBARQsMD9CJuEPuglYIq6cRg=.aff103ed-8297-4736-b394-3cd5f0987274@github.com> References: <1rJ1agdvx5KlKdY31q_DBARQsMD9CJuEPuglYIq6cRg=.aff103ed-8297-4736-b394-3cd5f0987274@github.com> Message-ID: The pull request has been updated with additional changes. ---------------- Added commits: - 336ea779: Only remove .orig files in HgRepository::abortMerge Pull request: https://git.openjdk.java.net/skara/pull/101 Webrevs: - full: https://webrevs.openjdk.java.net/skara/101/webrev.01 - inc: https://webrevs.openjdk.java.net/skara/101/webrev.00-01 Updated full patch: https://git.openjdk.java.net/skara/pull/101.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/101/head:pull/101 From duke at openjdk.java.net Thu Aug 29 09:49:53 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 29 Aug 2019 09:49:53 GMT Subject: RFR: Add Repository::abortMerge In-Reply-To: <1rJ1agdvx5KlKdY31q_DBARQsMD9CJuEPuglYIq6cRg=.aff103ed-8297-4736-b394-3cd5f0987274@github.com> References: <1rJ1agdvx5KlKdY31q_DBARQsMD9CJuEPuglYIq6cRg=.aff103ed-8297-4736-b394-3cd5f0987274@github.com> Message-ID: <66Mml6J_CwZO73tXovx9khjpGtR5EJksA9XQMgBd9qc=.e32fa616-6740-4bac-bd70-ba547dd8cfb9@github.com> On Thu, 29 Aug 2019 09:28:00 GMT, Erik Duveblad via github.com wrote: > Hi all, > > this patch add `Repository::abortMerge` and a corresponding unit test. > > ## Testing > - [x] `sh gradlew test` > - [x] Added new unit test > > Thanks, > Erik > > ---------------- > > Commits: > - fee82c70: Add Repository::abortMerge > > Pull request: > https://git.openjdk.java.net/skara/pull/101 > > Webrev: > https://webrevs.openjdk.java.net/skara/101/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/101.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/101/head:pull/101 Got some comments from @rwestberg offline about making `HgRepository::abortMerge` a bit safer, fixed that in a new commit :bowing_man: PR: https://git.openjdk.java.net/skara/pull/101 From duke at openjdk.java.net Thu Aug 29 10:08:30 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Thu, 29 Aug 2019 10:08:30 GMT Subject: RFR: Add Repository::abortMerge In-Reply-To: <1rJ1agdvx5KlKdY31q_DBARQsMD9CJuEPuglYIq6cRg=.aff103ed-8297-4736-b394-3cd5f0987274@github.com> References: <1rJ1agdvx5KlKdY31q_DBARQsMD9CJuEPuglYIq6cRg=.aff103ed-8297-4736-b394-3cd5f0987274@github.com> Message-ID: On Thu, 29 Aug 2019 09:28:00 GMT, Erik Duveblad via github.com wrote: > Hi all, > > this patch add `Repository::abortMerge` and a corresponding unit test. > > ## Testing > - [x] `sh gradlew test` > - [x] Added new unit test > > Thanks, > Erik > > ---------------- > > Commits: > - fee82c70: Add Repository::abortMerge > > Pull request: > https://git.openjdk.java.net/skara/pull/101 > > Webrev: > https://webrevs.openjdk.java.net/skara/101/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/101.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/101/head:pull/101 This PR has been reviewed by Robin Westberg via github.com - changes are approved. Review comment: Looks good! PR: https://git.openjdk.java.net/skara/pull/101 From duke at openjdk.java.net Thu Aug 29 10:09:37 2019 From: duke at openjdk.java.net (duke) Date: Thu, 29 Aug 2019 10:09:37 GMT Subject: git: openjdk/skara: 2 new changesets Message-ID: Changeset: f4de221d Author: Robin Westberg Date: 2019-08-29 10:08:54 +0000 URL: https://github.com/openjdk/skara/commit/f4de221d Add optional handler for workitem runtime errors Reviewed-by: ehelin ! bot/src/main/java/org/openjdk/skara/bot/BotRunner.java ! bot/src/main/java/org/openjdk/skara/bot/WorkItem.java ! bots/mlbridge/src/main/java/org/openjdk/skara/bots/mlbridge/ArchiveWorkItem.java ! bots/mlbridge/src/main/java/org/openjdk/skara/bots/mlbridge/MailingListBridgeBot.java ! bots/pr/src/main/java/org/openjdk/skara/bots/pr/CheckWorkItem.java ! bots/pr/src/main/java/org/openjdk/skara/bots/pr/CommandWorkItem.java ! bots/pr/src/main/java/org/openjdk/skara/bots/pr/LabelerWorkItem.java ! bots/pr/src/main/java/org/openjdk/skara/bots/pr/PullRequestBot.java ! bots/pr/src/test/java/org/openjdk/skara/bots/pr/IntegrateTests.java ! host/src/main/java/org/openjdk/skara/host/PullRequestUpdateCache.java ! test/src/main/java/org/openjdk/skara/test/TestBotRunner.java Changeset: 660d6266 Author: Erik Helin Date: 2019-08-29 10:09:26 +0000 URL: https://github.com/openjdk/skara/commit/660d6266 Add Repository::abortMerge Reviewed-by: rwestberg ! vcs/src/main/java/org/openjdk/skara/vcs/Repository.java ! vcs/src/main/java/org/openjdk/skara/vcs/git/GitRepository.java ! vcs/src/main/java/org/openjdk/skara/vcs/hg/HgRepository.java ! vcs/src/test/java/org/openjdk/skara/vcs/RepositoryTests.java From duke at openjdk.java.net Thu Aug 29 10:15:58 2019 From: duke at openjdk.java.net (Jorn Vernee via github.com) Date: Thu, 29 Aug 2019 10:15:58 GMT Subject: RFR: 88: git token store https://github.com does not work In-Reply-To: References: Message-ID: On Thu, 29 Aug 2019 09:32:27 GMT, Stefan Johansson via github.com wrote: > Hi, > > Please review this fix to avoid getting exceptions when having URIs with empty paths. Instead of assuming a leading '/' we now check the path in GitCredentials.fill and only removes a leading '/' if it is present. > > Basic tests pass, but the affected commands have not yet been tested thoroughly. > > Thanks, > Stefan > > ---------------- > > Commits: > - 8903663b: 88: git token store https://github.com does not work > > Pull request: > https://git.openjdk.java.net/skara/pull/103 > > Webrev: > https://webrevs.openjdk.java.net/skara/103/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/103.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/103/head:pull/103 This PR has been reviewed by Jorn Vernee via github.com - changes are approved. Review comment: @kstefanj thanks for fixing this! Change looks good. PR: https://git.openjdk.java.net/skara/pull/103 From duke at openjdk.java.net Thu Aug 29 10:16:20 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 29 Aug 2019 10:16:20 GMT Subject: RFR: Add merge bot Message-ID: Hi, this patch adds a merge bot. The merge automatically tries to merge a branch from one repository to another. If the merge fails then the bot will open a PR describing the commits that couldn't be merge. Once the conflicts have been resolved and pushed/integrated by a human contributor, then the bot will automatically close the PR. ## Testing - [x] `sh gradlew test` passes on Linux x86_64 - [x] Added four new unit tests Thanks, Erik ---------------- Commits: - 7fc5a814: Add merge bot Pull request: https://git.openjdk.java.net/skara/pull/104 Webrev: https://webrevs.openjdk.java.net/skara/104/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/104.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/104/head:pull/104 From duke at openjdk.java.net Thu Aug 29 10:22:37 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Thu, 29 Aug 2019 10:22:37 GMT Subject: RFR: Add merge bot In-Reply-To: References: Message-ID: On Thu, 29 Aug 2019 10:16:20 GMT, Erik Duveblad via github.com wrote: > Hi, > > this patch adds a merge bot. The merge automatically tries to merge a branch from one repository to another. If the merge fails then the bot will open a PR describing the commits that couldn't be merge. Once the conflicts have been resolved and pushed/integrated by a human contributor, then the bot will automatically close the PR. > > ## Testing > - [x] `sh gradlew test` passes on Linux x86_64 > - [x] Added four new unit tests > > Thanks, > Erik > > ---------------- > > Commits: > - 7fc5a814: Add merge bot > > Pull request: > https://git.openjdk.java.net/skara/pull/104 > > Webrev: > https://webrevs.openjdk.java.net/skara/104/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/104.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/104/head:pull/104 This PR has been reviewed by Robin Westberg via github.com - changes are approved. Review comment: Looks good, don't need to re-review if you update the merge conflict message! PR: https://git.openjdk.java.net/skara/pull/104 bots/merge/src/main/java/org/openjdk/skara/bots/merge/MergeBot.java line 168: > 167: message.add("Push the resulting merge conflict to your personal fork and " + > 168: "create a pull request towards this repository. Finally close this pull request " + > 169: "once the pull request with the resolved conflicts has been integrated."); Since you close the PR automatically, this message should probably be updated. PR: https://git.openjdk.java.net/skara/pull/104 From duke at openjdk.java.net Thu Aug 29 10:24:08 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 29 Aug 2019 10:24:08 GMT Subject: RFR: 88: git token store https://github.com does not work In-Reply-To: References: Message-ID: On Thu, 29 Aug 2019 09:32:27 GMT, Stefan Johansson via github.com wrote: > Hi, > > Please review this fix to avoid getting exceptions when having URIs with empty paths. Instead of assuming a leading '/' we now check the path in GitCredentials.fill and only removes a leading '/' if it is present. > > Basic tests pass, but the affected commands have not yet been tested thoroughly. > > Thanks, > Stefan > > ---------------- > > Commits: > - 8903663b: 88: git token store https://github.com does not work > > Pull request: > https://git.openjdk.java.net/skara/pull/103 > > Webrev: > https://webrevs.openjdk.java.net/skara/103/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/103.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/103/head:pull/103 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Looks good, thanks for fixing! PR: https://git.openjdk.java.net/skara/pull/103 From duke at openjdk.java.net Thu Aug 29 10:28:25 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 29 Aug 2019 10:28:25 GMT Subject: RFR: Add merge bot In-Reply-To: References: Message-ID: The pull request has been updated with additional changes. ---------------- Added commits: - 05186111: Fix wording of message Pull request: https://git.openjdk.java.net/skara/pull/104 Webrevs: - full: https://webrevs.openjdk.java.net/skara/104/webrev.01 - inc: https://webrevs.openjdk.java.net/skara/104/webrev.00-01 Updated full patch: https://git.openjdk.java.net/skara/pull/104.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/104/head:pull/104 From duke at openjdk.java.net Thu Aug 29 10:29:37 2019 From: duke at openjdk.java.net (duke) Date: Thu, 29 Aug 2019 10:29:37 GMT Subject: git: openjdk/skara: Add merge bot Message-ID: <74bed494-688d-4d82-9086-3597466b2a04@openjdk.java.net> Changeset: 910b2c8c Author: Erik Helin Date: 2019-08-29 10:28:43 +0000 URL: https://github.com/openjdk/skara/commit/910b2c8c Add merge bot Reviewed-by: rwestberg + bots/merge/build.gradle + bots/merge/src/main/java/module-info.java + bots/merge/src/main/java/org/openjdk/skara/bots/merge/MergeBot.java + bots/merge/src/main/java/org/openjdk/skara/bots/merge/MergeBotFactory.java + bots/merge/src/test/java/org/openjdk/skara/bots/merge/MergeBotTests.java ! settings.gradle From duke at openjdk.java.net Thu Aug 29 11:04:36 2019 From: duke at openjdk.java.net (duke) Date: Thu, 29 Aug 2019 11:04:36 GMT Subject: git: openjdk/skara: 88: git token store https://github.com does not work Message-ID: Changeset: 59c6145a Author: Stefan Johansson Committer: Jorn Vernee Date: 2019-08-29 11:03:33 +0000 URL: https://github.com/openjdk/skara/commit/59c6145a 88: git token store https://github.com does not work Reviewed-by: jvernee, ehelin ! cli/src/main/java/org/openjdk/skara/cli/GitCredentials.java ! cli/src/main/java/org/openjdk/skara/cli/GitFork.java ! cli/src/main/java/org/openjdk/skara/cli/GitPr.java ! cli/src/main/java/org/openjdk/skara/cli/GitToken.java From duke at openjdk.java.net Thu Aug 29 12:28:41 2019 From: duke at openjdk.java.net (Jorn Vernee via github.com) Date: Thu, 29 Aug 2019 12:28:41 GMT Subject: RFR: Add topological merge bot Message-ID: This PR adds a bot that does a topological merge of the branches in a repo. The branches can declare a dependencies file, which lists the branches that they depend on. This bot will crawl the branches, collect the dependencies for each branch, and topologically sort them based on their dependencies. Following that it will attempt to merge each dependency into the dependent in this order (this is mainly done so that we get less merges/failures if one of the root merges fails). Branches that do not declare a dependency file implicitly depend on the master branch. Therefore the list of branches that the bot considers is passed in during configuration. --- Aside from that, it also fixes a minor problem with `Repository::clone` on Windows. ---------------- Commits: - 4a8f3610: Added top bot module Pull request: https://git.openjdk.java.net/skara/pull/105 Webrev: https://webrevs.openjdk.java.net/skara/105/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/105.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/105/head:pull/105 From duke at openjdk.java.net Thu Aug 29 12:30:58 2019 From: duke at openjdk.java.net (Jorn Vernee via github.com) Date: Thu, 29 Aug 2019 12:30:58 GMT Subject: RFR: Add topological merge bot In-Reply-To: References: Message-ID: <77jicYCQ3kNBcLRujFD_-CpJSZReFlFXCsd7S3Q3jB4=.e2ec0d7e-5bf9-4298-adfe-a476c10693d0@github.com> On Thu, 29 Aug 2019 12:28:41 GMT, Jorn Vernee via github.com wrote: > This PR adds a bot that does a topological merge of the branches in a repo. > > The branches can declare a dependencies file, which lists the branches that they depend on. This bot will crawl the branches, collect the dependencies for each branch, and topologically sort them based on their dependencies. Following that it will attempt to merge each dependency into the dependent in this order (this is mainly done so that we get less merges/failures if one of the root merges fails). > > Branches that do not declare a dependency file implicitly depend on the master branch. Therefore the list of branches that the bot considers is passed in during configuration. > > --- > > Aside from that, it also fixes a minor problem with `Repository::clone` on Windows. > > ---------------- > > Commits: > - 4a8f3610: Added top bot module > > Pull request: > https://git.openjdk.java.net/skara/pull/105 > > Webrev: > https://webrevs.openjdk.java.net/skara/105/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/105.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/105/head:pull/105 bots/topological/src/main/java/org/openjdk/skara/bots/topological/TopologicalBot.java line 165: > 164: log.severe("Pusing failed! Aborting..."); > 165: repo.abortMerge(); > 166: throw e; Hmm, don't think this `abortMerge` will actually do anything, since the working tree is clean... PR: https://git.openjdk.java.net/skara/pull/105 From duke at openjdk.java.net Thu Aug 29 12:32:16 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Thu, 29 Aug 2019 12:32:16 GMT Subject: RFR: Avoid running PullRequestBot WorkItems for the same PR concurrently Message-ID: Hi all, Please review this change that ensures that the WorkItems used by the PullRequestBot are not run concurrently for the same PR. This avoids a race condition where two tasks try to update the `sponsor` label at the same time. Best regards, Robin ---------------- Commits: - b3319650: Avoid running workitems for the same PR concurrently Pull request: https://git.openjdk.java.net/skara/pull/106 Webrev: https://webrevs.openjdk.java.net/skara/106/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/106.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/106/head:pull/106 From duke at openjdk.java.net Thu Aug 29 12:43:17 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 29 Aug 2019 12:43:17 GMT Subject: RFR: Avoid running PullRequestBot WorkItems for the same PR concurrently In-Reply-To: References: Message-ID: On Thu, 29 Aug 2019 12:32:16 GMT, Robin Westberg via github.com wrote: > Hi all, > > Please review this change that ensures that the WorkItems used by the PullRequestBot are not run concurrently for the same PR. This avoids a race condition where two tasks try to update the `sponsor` label at the same time. > > Best regards, > Robin > > ---------------- > > Commits: > - b3319650: Avoid running workitems for the same PR concurrently > > Pull request: > https://git.openjdk.java.net/skara/pull/106 > > Webrev: > https://webrevs.openjdk.java.net/skara/106/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/106.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/106/head:pull/106 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Looks good! PR: https://git.openjdk.java.net/skara/pull/106 From duke at openjdk.java.net Thu Aug 29 12:58:38 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 29 Aug 2019 12:58:38 GMT Subject: RFR: Add topological merge bot In-Reply-To: References: Message-ID: On Thu, 29 Aug 2019 12:28:41 GMT, Jorn Vernee via github.com wrote: > This PR adds a bot that does a topological merge of the branches in a repo. > > The branches can declare a dependencies file, which lists the branches that they depend on. This bot will crawl the branches, collect the dependencies for each branch, and topologically sort them based on their dependencies. Following that it will attempt to merge each dependency into the dependent in this order (this is mainly done so that we get less merges/failures if one of the root merges fails). > > Branches that do not declare a dependency file implicitly depend on the master branch. Therefore the list of branches that the bot considers is passed in during configuration. > > --- > > Aside from that, it also fixes a minor problem with `Repository::clone` on Windows. > > ---------------- > > Commits: > - 4a8f3610: Added top bot module > > Pull request: > https://git.openjdk.java.net/skara/pull/105 > > Webrev: > https://webrevs.openjdk.java.net/skara/105/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/105.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/105/head:pull/105 Hi Jorn, thanks for the contribution! :clap: Just a quick suggestion after a brief look - how about moving `Edge` to its own file, `Edge.java` and also move `tsort` into its own class, `TopologicalSort` (in `TopologicalSort.java`)? That way you should have a fairly easy time to add a new test class, `TopologicalSortTests`, with some unit tests for the topological sort PR: https://git.openjdk.java.net/skara/pull/105 From duke at openjdk.java.net Thu Aug 29 12:59:20 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 29 Aug 2019 12:59:20 GMT Subject: RFR: Add topological merge bot In-Reply-To: References: Message-ID: On Thu, 29 Aug 2019 12:28:41 GMT, Jorn Vernee via github.com wrote: > This PR adds a bot that does a topological merge of the branches in a repo. > > The branches can declare a dependencies file, which lists the branches that they depend on. This bot will crawl the branches, collect the dependencies for each branch, and topologically sort them based on their dependencies. Following that it will attempt to merge each dependency into the dependent in this order (this is mainly done so that we get less merges/failures if one of the root merges fails). > > Branches that do not declare a dependency file implicitly depend on the master branch. Therefore the list of branches that the bot considers is passed in during configuration. > > --- > > Aside from that, it also fixes a minor problem with `Repository::clone` on Windows. > > ---------------- > > Commits: > - 4a8f3610: Added top bot module > > Pull request: > https://git.openjdk.java.net/skara/pull/105 > > Webrev: > https://webrevs.openjdk.java.net/skara/105/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/105.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/105/head:pull/105 bots/topological/src/main/java/org/openjdk/skara/bots/topological/TopologicalBot.java line 94: > 93: log.info("Merge order " + ordered); > 94: for (Branch branch : ordered) { > 95: log.info("Processing branch " + branch + "..."); ```suggestion for (var branch : ordered) { ``` PR: https://git.openjdk.java.net/skara/pull/105 From duke at openjdk.java.net Thu Aug 29 13:02:37 2019 From: duke at openjdk.java.net (duke) Date: Thu, 29 Aug 2019 13:02:37 GMT Subject: git: openjdk/skara: Avoid running PullRequestBot WorkItems for the same PR concurrently Message-ID: <13c70b04-723f-4d3a-8c8d-a925e8faca54@openjdk.java.net> Changeset: 417c6f5f Author: Robin Westberg Date: 2019-08-29 13:01:41 +0000 URL: https://github.com/openjdk/skara/commit/417c6f5f Avoid running PullRequestBot WorkItems for the same PR concurrently Reviewed-by: ehelin ! bots/pr/src/main/java/org/openjdk/skara/bots/pr/CheckWorkItem.java ! bots/pr/src/main/java/org/openjdk/skara/bots/pr/CommandWorkItem.java ! bots/pr/src/main/java/org/openjdk/skara/bots/pr/LabelerWorkItem.java + bots/pr/src/main/java/org/openjdk/skara/bots/pr/PullRequestWorkItem.java From duke at openjdk.java.net Thu Aug 29 13:14:00 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 29 Aug 2019 13:14:00 GMT Subject: RFR: Add topological merge bot In-Reply-To: References: Message-ID: On Thu, 29 Aug 2019 12:28:41 GMT, Jorn Vernee via github.com wrote: > This PR adds a bot that does a topological merge of the branches in a repo. > > The branches can declare a dependencies file, which lists the branches that they depend on. This bot will crawl the branches, collect the dependencies for each branch, and topologically sort them based on their dependencies. Following that it will attempt to merge each dependency into the dependent in this order (this is mainly done so that we get less merges/failures if one of the root merges fails). > > Branches that do not declare a dependency file implicitly depend on the master branch. Therefore the list of branches that the bot considers is passed in during configuration. > > --- > > Aside from that, it also fixes a minor problem with `Repository::clone` on Windows. > > ---------------- > > Commits: > - 4a8f3610: Added top bot module > > Pull request: > https://git.openjdk.java.net/skara/pull/105 > > Webrev: > https://webrevs.openjdk.java.net/skara/105/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/105.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/105/head:pull/105 bots/topological/src/main/java/org/openjdk/skara/bots/topological/TopologicalBot.java line 99: > 98: Files.exists(depsFile) ? Files.readAllLines(depsFile) : List.of("master")); > 99: List failedMerges = new ArrayList<>(); > 100: boolean progress; Isn't the format of the `deps.txt` file that the branches are separated with space? So maybe this should be: ```java Set parents = null; if (Files.exists(depsFIle)) { var lines = Files.readAllLines(depsFile).stream().filter(String::isEmpty).collect(Collectors.toList()); if (lines.size() > 1) { throw new IllegalStateException("Multiple non-empty lines in " + depsFile.toString() + ": " + String.join("\n", lines)); } parents = new HashSet<>(Arrays.asList(lines.get(0).split(" "))); } else { parents = Set.of("master"); } PR: https://git.openjdk.java.net/skara/pull/105 From duke at openjdk.java.net Thu Aug 29 13:19:40 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 29 Aug 2019 13:19:40 GMT Subject: RFR: Add topological merge bot In-Reply-To: References: Message-ID: <3pBwC4-TSKaSD2evB3V1sUOfiyNpr3pnmmW6ru-pgVc=.b9f7e455-dd5d-472b-80ff-6e18028f144c@github.com> On Thu, 29 Aug 2019 12:28:41 GMT, Jorn Vernee via github.com wrote: > This PR adds a bot that does a topological merge of the branches in a repo. > > The branches can declare a dependencies file, which lists the branches that they depend on. This bot will crawl the branches, collect the dependencies for each branch, and topologically sort them based on their dependencies. Following that it will attempt to merge each dependency into the dependent in this order (this is mainly done so that we get less merges/failures if one of the root merges fails). > > Branches that do not declare a dependency file implicitly depend on the master branch. Therefore the list of branches that the bot considers is passed in during configuration. > > --- > > Aside from that, it also fixes a minor problem with `Repository::clone` on Windows. > > ---------------- > > Commits: > - 4a8f3610: Added top bot module > > Pull request: > https://git.openjdk.java.net/skara/pull/105 > > Webrev: > https://webrevs.openjdk.java.net/skara/105/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/105.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/105/head:pull/105 bots/topological/src/main/java/org/openjdk/skara/bots/topological/TopologicalBot.java line 138: > 137: Files.lines(depsFile) > 138: .forEach(dep -> deps.add(new Edge(new Branch(dep), branch))); > 139: } else { May I suggest having a function for reading `depsFile` that return the name of the branches in the depsFile as a `List`. Something like: ```java private List dependencies(Path depsFile) { if (Files.exists(depsFile)) { // parse despFile } else { return List.of("master"); } } PR: https://git.openjdk.java.net/skara/pull/105 From duke at openjdk.java.net Thu Aug 29 13:19:37 2019 From: duke at openjdk.java.net (mcimadamore via github.com) Date: Thu, 29 Aug 2019 13:19:37 GMT Subject: RFR: Add topological merge bot In-Reply-To: References: Message-ID: On Thu, 29 Aug 2019 12:28:41 GMT, Jorn Vernee via github.com wrote: > This PR adds a bot that does a topological merge of the branches in a repo. > > The branches can declare a dependencies file, which lists the branches that they depend on. This bot will crawl the branches, collect the dependencies for each branch, and topologically sort them based on their dependencies. Following that it will attempt to merge each dependency into the dependent in this order (this is mainly done so that we get less merges/failures if one of the root merges fails). > > Branches that do not declare a dependency file implicitly depend on the master branch. Therefore the list of branches that the bot considers is passed in during configuration. > > --- > > Aside from that, it also fixes a minor problem with `Repository::clone` on Windows. > > ---------------- > > Commits: > - 4a8f3610: Added top bot module > > Pull request: > https://git.openjdk.java.net/skara/pull/105 > > Webrev: > https://webrevs.openjdk.java.net/skara/105/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/105.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/105/head:pull/105 This PR has been reviewed by mcimadamore via github.com - a comment has been added. Review comment: While the code looks generally ok, I'd like to understand a bit more what it does (e.g. what the various API method translate to when it comes to Git, and what the actual behavior is in case of merge conflicts). Also there are some improvements on the topo sort handling. PR: https://git.openjdk.java.net/skara/pull/105 bots/topological/src/main/java/org/openjdk/skara/bots/topological/TopologicalBot.java line 152: > 151: var isFastForward = repo.isAncestor(repo.head(), fromHash); > 152: repo.merge(fromHash); > 153: if (!isFastForward) { All the logic in this routine is very dependent on the behavior of the VCS, and on which actual concrete commands do these API method map to, so it's hard to check whether this code is correct. One issue you already pointed oit yourself: with the abortMerge() method. Another issue I see is the behavior with respect to a merge conflict. In the old script we had to tweak the standard behavior a bit to try and auto-resolve conflicts as much as possible. I don't know what the standard merge behavior is in Git. PR: https://git.openjdk.java.net/skara/pull/105 bots/topological/src/main/java/org/openjdk/skara/bots/topological/TopologicalBot.java line 210: > 209: private static List tsort(List edges) { > 210: List eCopy = new ArrayList<>(edges); > 211: List result = new ArrayList<>(); It seems to me that this methods is walking all the edges and trying to find cycles, and leaves. This probably works, but can be quadratic in cost. There are better alternatives out there - some of which already tried and tested which are part of the javac compiler itself. I suggest maybe directly using this? http://hg.openjdk.java.net/jdk/jdk/file/c16208de74da/src/jdk.compiler/share/classes/com/sun/tools/javac/util/GraphUtils.java There, you will also find interfaces for Node and the likes. The topo sort algo used there is routinely used in javac type inference, so it's been rather heavily tested :-) PR: https://git.openjdk.java.net/skara/pull/105 From duke at openjdk.java.net Thu Aug 29 13:22:00 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 29 Aug 2019 13:22:00 GMT Subject: RFR: Add topological merge bot In-Reply-To: References: Message-ID: On Thu, 29 Aug 2019 13:19:41 GMT, mcimadamore via github.com wrote: > On Thu, 29 Aug 2019 12:28:41 GMT, Jorn Vernee via github.com wrote: > >> This PR adds a bot that does a topological merge of the branches in a repo. >> >> The branches can declare a dependencies file, which lists the branches that they depend on. This bot will crawl the branches, collect the dependencies for each branch, and topologically sort them based on their dependencies. Following that it will attempt to merge each dependency into the dependent in this order (this is mainly done so that we get less merges/failures if one of the root merges fails). >> >> Branches that do not declare a dependency file implicitly depend on the master branch. Therefore the list of branches that the bot considers is passed in during configuration. >> >> --- >> >> Aside from that, it also fixes a minor problem with `Repository::clone` on Windows. >> >> ---------------- >> >> Commits: >> - 4a8f3610: Added top bot module >> >> Pull request: >> https://git.openjdk.java.net/skara/pull/105 >> >> Webrev: >> https://webrevs.openjdk.java.net/skara/105/webrev.00 >> >> Patch: >> https://git.openjdk.java.net/skara/pull/105.diff >> >> Fetch command: >> git fetch https://git.openjdk.java.net/skara pull/105/head:pull/105 > > bots/topological/src/main/java/org/openjdk/skara/bots/topological/TopologicalBot.java line 210: > >> 209: private static List tsort(List edges) { >> 210: List eCopy = new ArrayList<>(edges); >> 211: List result = new ArrayList<>(); > > It seems to me that this methods is walking all the edges and trying to find cycles, and leaves. This probably works, but can be quadratic in cost. There are better alternatives out there - some of which already tried and tested which are part of the javac compiler itself. I suggest maybe directly using this? > > http://hg.openjdk.java.net/jdk/jdk/file/c16208de74da/src/jdk.compiler/share/classes/com/sun/tools/javac/util/GraphUtils.java > > There, you will also find interfaces for Node and the likes. The topo sort algo used there is routinely used in javac type inference, so it's been rather heavily tested :-) > > PR: https://git.openjdk.java.net/skara/pull/105 On the other hand I don't expect a branch to have more than lets say five other branches it depends on, so I think a quadratic cost could work here :smiley: PR: https://git.openjdk.java.net/skara/pull/105 From duke at openjdk.java.net Thu Aug 29 13:23:10 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 29 Aug 2019 13:23:10 GMT Subject: RFR: Add topological merge bot In-Reply-To: References: Message-ID: On Thu, 29 Aug 2019 13:19:39 GMT, mcimadamore via github.com wrote: > On Thu, 29 Aug 2019 12:28:41 GMT, Jorn Vernee via github.com wrote: > >> This PR adds a bot that does a topological merge of the branches in a repo. >> >> The branches can declare a dependencies file, which lists the branches that they depend on. This bot will crawl the branches, collect the dependencies for each branch, and topologically sort them based on their dependencies. Following that it will attempt to merge each dependency into the dependent in this order (this is mainly done so that we get less merges/failures if one of the root merges fails). >> >> Branches that do not declare a dependency file implicitly depend on the master branch. Therefore the list of branches that the bot considers is passed in during configuration. >> >> --- >> >> Aside from that, it also fixes a minor problem with `Repository::clone` on Windows. >> >> ---------------- >> >> Commits: >> - 4a8f3610: Added top bot module >> >> Pull request: >> https://git.openjdk.java.net/skara/pull/105 >> >> Webrev: >> https://webrevs.openjdk.java.net/skara/105/webrev.00 >> >> Patch: >> https://git.openjdk.java.net/skara/pull/105.diff >> >> Fetch command: >> git fetch https://git.openjdk.java.net/skara pull/105/head:pull/105 > > bots/topological/src/main/java/org/openjdk/skara/bots/topological/TopologicalBot.java line 152: > >> 151: var isFastForward = repo.isAncestor(repo.head(), fromHash); >> 152: repo.merge(fromHash); >> 153: if (!isFastForward) { > > All the logic in this routine is very dependent on the behavior of the VCS, and on which actual concrete commands do these API method map to, so it's hard to check whether this code is correct. One issue you already pointed oit yourself: with the abortMerge() method. Another issue I see is the behavior with respect to a merge conflict. In the old script we had to tweak the standard behavior a bit to try and auto-resolve conflicts as much as possible. I don't know what the standard merge behavior is in Git. > > PR: https://git.openjdk.java.net/skara/pull/105 @mcimadamore you can find all such details in https://github.com/openjdk/skara/blob/master/vcs/src/main/java/org/openjdk/skara/vcs/git/GitRepository.java PR: https://git.openjdk.java.net/skara/pull/105 From duke at openjdk.java.net Thu Aug 29 13:26:00 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 29 Aug 2019 13:26:00 GMT Subject: RFR: Add topological merge bot In-Reply-To: References: Message-ID: On Thu, 29 Aug 2019 12:28:41 GMT, Jorn Vernee via github.com wrote: > This PR adds a bot that does a topological merge of the branches in a repo. > > The branches can declare a dependencies file, which lists the branches that they depend on. This bot will crawl the branches, collect the dependencies for each branch, and topologically sort them based on their dependencies. Following that it will attempt to merge each dependency into the dependent in this order (this is mainly done so that we get less merges/failures if one of the root merges fails). > > Branches that do not declare a dependency file implicitly depend on the master branch. Therefore the list of branches that the bot considers is passed in during configuration. > > --- > > Aside from that, it also fixes a minor problem with `Repository::clone` on Windows. > > ---------------- > > Commits: > - 4a8f3610: Added top bot module > > Pull request: > https://git.openjdk.java.net/skara/pull/105 > > Webrev: > https://webrevs.openjdk.java.net/skara/105/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/105.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/105/head:pull/105 bots/topological/src/main/java/org/openjdk/skara/bots/topological/TopologicalBot.java line 149: > 148: private void mergeIfAhead(Repository repo, Branch branch, String parent) throws IOException { > 149: if (log(repo, branch.name(), parent).count() != 0) { > 150: var fromHash = repo.resolve(parent).orElseThrow(); Can't you express this with just `if (!repo.contains(branch, repo.resolve(parent).get())`? PR: https://git.openjdk.java.net/skara/pull/105 From duke at openjdk.java.net Thu Aug 29 13:27:10 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 29 Aug 2019 13:27:10 GMT Subject: RFR: Add topological merge bot In-Reply-To: References: Message-ID: On Thu, 29 Aug 2019 12:28:41 GMT, Jorn Vernee via github.com wrote: > This PR adds a bot that does a topological merge of the branches in a repo. > > The branches can declare a dependencies file, which lists the branches that they depend on. This bot will crawl the branches, collect the dependencies for each branch, and topologically sort them based on their dependencies. Following that it will attempt to merge each dependency into the dependent in this order (this is mainly done so that we get less merges/failures if one of the root merges fails). > > Branches that do not declare a dependency file implicitly depend on the master branch. Therefore the list of branches that the bot considers is passed in during configuration. > > --- > > Aside from that, it also fixes a minor problem with `Repository::clone` on Windows. > > ---------------- > > Commits: > - 4a8f3610: Added top bot module > > Pull request: > https://git.openjdk.java.net/skara/pull/105 > > Webrev: > https://webrevs.openjdk.java.net/skara/105/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/105.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/105/head:pull/105 bots/topological/src/main/java/org/openjdk/skara/bots/topological/TopologicalBot.java line 155: > 154: log.info("Merged " + parent + " into " + branch); > 155: repo.commit("Automatic merge with " + parent, "topobot", ""); > 156: } else { Please `"duke"` and `"duke at openjdk.org"` as name and email for bot authors PR: https://git.openjdk.java.net/skara/pull/105 From duke at openjdk.java.net Thu Aug 29 13:33:50 2019 From: duke at openjdk.java.net (Jorn Vernee via github.com) Date: Thu, 29 Aug 2019 13:33:50 GMT Subject: RFR: Add topological merge bot In-Reply-To: References: Message-ID: <1xTNk9oqMQoqnKb7YfLi4oXj8fwWQ8BPGwBfXbcTUZs=.f52653ed-a3ed-4321-834f-f348ba76d215@github.com> On Thu, 29 Aug 2019 13:19:41 GMT, mcimadamore via github.com wrote: > On Thu, 29 Aug 2019 12:28:41 GMT, Jorn Vernee via github.com wrote: > >> This PR adds a bot that does a topological merge of the branches in a repo. >> >> The branches can declare a dependencies file, which lists the branches that they depend on. This bot will crawl the branches, collect the dependencies for each branch, and topologically sort them based on their dependencies. Following that it will attempt to merge each dependency into the dependent in this order (this is mainly done so that we get less merges/failures if one of the root merges fails). >> >> Branches that do not declare a dependency file implicitly depend on the master branch. Therefore the list of branches that the bot considers is passed in during configuration. >> >> --- >> >> Aside from that, it also fixes a minor problem with `Repository::clone` on Windows. >> >> ---------------- >> >> Commits: >> - 4a8f3610: Added top bot module >> >> Pull request: >> https://git.openjdk.java.net/skara/pull/105 >> >> Webrev: >> https://webrevs.openjdk.java.net/skara/105/webrev.00 >> >> Patch: >> https://git.openjdk.java.net/skara/pull/105.diff >> >> Fetch command: >> git fetch https://git.openjdk.java.net/skara pull/105/head:pull/105 > > bots/topological/src/main/java/org/openjdk/skara/bots/topological/TopologicalBot.java line 210: > >> 209: private static List tsort(List edges) { >> 210: List eCopy = new ArrayList<>(edges); >> 211: List result = new ArrayList<>(); > > It seems to me that this methods is walking all the edges and trying to find cycles, and leaves. This probably works, but can be quadratic in cost. There are better alternatives out there - some of which already tried and tested which are part of the javac compiler itself. I suggest maybe directly using this? > > http://hg.openjdk.java.net/jdk/jdk/file/c16208de74da/src/jdk.compiler/share/classes/com/sun/tools/javac/util/GraphUtils.java > > There, you will also find interfaces for Node and the likes. The topo sort algo used there is routinely used in javac type inference, so it's been rather heavily tested :-) > > PR: https://git.openjdk.java.net/skara/pull/105 Yep, it's pretty quick and dirty implementation of finding any nodes without incoming edges and then adding them to the sorted list and removing from the graph. Finally, we need to once more find all leaves, since those will always have incoming edges. It doesn't seem like perf would be a problem, and the GraphUtils impl seems a lot more extensive. So, since it works (just done writing tests), maybe stick with Quick & Dirty??? for now? PR: https://git.openjdk.java.net/skara/pull/105 From duke at openjdk.java.net Thu Aug 29 13:41:59 2019 From: duke at openjdk.java.net (Jorn Vernee via github.com) Date: Thu, 29 Aug 2019 13:41:59 GMT Subject: RFR: Add topological merge bot In-Reply-To: References: Message-ID: On Thu, 29 Aug 2019 13:26:00 GMT, Erik Duveblad via github.com wrote: > On Thu, 29 Aug 2019 12:28:41 GMT, Jorn Vernee via github.com wrote: > >> This PR adds a bot that does a topological merge of the branches in a repo. >> >> The branches can declare a dependencies file, which lists the branches that they depend on. This bot will crawl the branches, collect the dependencies for each branch, and topologically sort them based on their dependencies. Following that it will attempt to merge each dependency into the dependent in this order (this is mainly done so that we get less merges/failures if one of the root merges fails). >> >> Branches that do not declare a dependency file implicitly depend on the master branch. Therefore the list of branches that the bot considers is passed in during configuration. >> >> --- >> >> Aside from that, it also fixes a minor problem with `Repository::clone` on Windows. >> >> ---------------- >> >> Commits: >> - 4a8f3610: Added top bot module >> >> Pull request: >> https://git.openjdk.java.net/skara/pull/105 >> >> Webrev: >> https://webrevs.openjdk.java.net/skara/105/webrev.00 >> >> Patch: >> https://git.openjdk.java.net/skara/pull/105.diff >> >> Fetch command: >> git fetch https://git.openjdk.java.net/skara pull/105/head:pull/105 > > bots/topological/src/main/java/org/openjdk/skara/bots/topological/TopologicalBot.java line 149: > >> 148: private void mergeIfAhead(Repository repo, Branch branch, String parent) throws IOException { >> 149: if (log(repo, branch.name(), parent).count() != 0) { >> 150: var fromHash = repo.resolve(parent).orElseThrow(); > > Can't you express this with just `if (!repo.contains(branch, repo.resolve(parent).get())`? > > PR: https://git.openjdk.java.net/skara/pull/105 That works as well, was tinkering with calling `git branch --contains` on the command line before. Didn't notice there was API for that :) PR: https://git.openjdk.java.net/skara/pull/105 From duke at openjdk.java.net Thu Aug 29 13:46:29 2019 From: duke at openjdk.java.net (Jorn Vernee via github.com) Date: Thu, 29 Aug 2019 13:46:29 GMT Subject: RFR: Add topological merge bot In-Reply-To: References: Message-ID: <9e5Hd3ErWYbCgEl_JnGt6wEk_WPxswKUbSNqaKyaUHs=.b58e4fdf-be4b-4753-962b-e2ebf2dd09bf@github.com> On Thu, 29 Aug 2019 13:14:00 GMT, Erik Duveblad via github.com wrote: > On Thu, 29 Aug 2019 12:28:41 GMT, Jorn Vernee via github.com wrote: > >> This PR adds a bot that does a topological merge of the branches in a repo. >> >> The branches can declare a dependencies file, which lists the branches that they depend on. This bot will crawl the branches, collect the dependencies for each branch, and topologically sort them based on their dependencies. Following that it will attempt to merge each dependency into the dependent in this order (this is mainly done so that we get less merges/failures if one of the root merges fails). >> >> Branches that do not declare a dependency file implicitly depend on the master branch. Therefore the list of branches that the bot considers is passed in during configuration. >> >> --- >> >> Aside from that, it also fixes a minor problem with `Repository::clone` on Windows. >> >> ---------------- >> >> Commits: >> - 4a8f3610: Added top bot module >> >> Pull request: >> https://git.openjdk.java.net/skara/pull/105 >> >> Webrev: >> https://webrevs.openjdk.java.net/skara/105/webrev.00 >> >> Patch: >> https://git.openjdk.java.net/skara/pull/105.diff >> >> Fetch command: >> git fetch https://git.openjdk.java.net/skara pull/105/head:pull/105 > > bots/topological/src/main/java/org/openjdk/skara/bots/topological/TopologicalBot.java line 99: > >> 98: Files.exists(depsFile) ? Files.readAllLines(depsFile) : List.of("master")); >> 99: List failedMerges = new ArrayList<>(); >> 100: boolean progress; > > Isn't the format of the `deps.txt` file that the branches are separated with space? So maybe this should be: > ```java > Set parents = null; > if (Files.exists(depsFIle)) { > var lines = Files.readAllLines(depsFile).stream().filter(String::isEmpty).collect(Collectors.toList()); > if (lines.size() > 1) { > throw new IllegalStateException("Multiple non-empty lines in " + depsFile.toString() + ": " + String.join("\n", lines)); > } > parents = new HashSet<>(Arrays.asList(lines.get(0).split(" "))); > } else { > parents = Set.of("master"); > } > > PR: https://git.openjdk.java.net/skara/pull/105 You're right, thanks for catching that. PR: https://git.openjdk.java.net/skara/pull/105 From duke at openjdk.java.net Thu Aug 29 14:00:01 2019 From: duke at openjdk.java.net (Jorn Vernee via github.com) Date: Thu, 29 Aug 2019 14:00:01 GMT Subject: RFR: Add topological merge bot In-Reply-To: References: Message-ID: <2rzINgYhQ4bu0QGsEPv8qhUYSu3AejuObvuvw7bHHt4=.f8efdadb-4f13-46ed-97be-c65a9ff6bb6e@github.com> The pull request has been updated with additional changes. ---------------- Added commits: - 7df299ef: Addressing review comment - fc6b5f53: Moved topological sort to it's own file, and added tests Pull request: https://git.openjdk.java.net/skara/pull/105 Webrevs: - full: https://webrevs.openjdk.java.net/skara/105/webrev.01 - inc: https://webrevs.openjdk.java.net/skara/105/webrev.00-01 Updated full patch: https://git.openjdk.java.net/skara/pull/105.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/105/head:pull/105 From duke at openjdk.java.net Thu Aug 29 14:04:39 2019 From: duke at openjdk.java.net (mcimadamore via github.com) Date: Thu, 29 Aug 2019 14:04:39 GMT Subject: RFR: Add topological merge bot In-Reply-To: References: Message-ID: On Thu, 29 Aug 2019 13:19:39 GMT, mcimadamore via github.com wrote: > On Thu, 29 Aug 2019 12:28:41 GMT, Jorn Vernee via github.com wrote: > >> This PR adds a bot that does a topological merge of the branches in a repo. >> >> The branches can declare a dependencies file, which lists the branches that they depend on. This bot will crawl the branches, collect the dependencies for each branch, and topologically sort them based on their dependencies. Following that it will attempt to merge each dependency into the dependent in this order (this is mainly done so that we get less merges/failures if one of the root merges fails). >> >> Branches that do not declare a dependency file implicitly depend on the master branch. Therefore the list of branches that the bot considers is passed in during configuration. >> >> --- >> >> Aside from that, it also fixes a minor problem with `Repository::clone` on Windows. >> >> ---------------- >> >> Commits: >> - 4a8f3610: Added top bot module >> >> Pull request: >> https://git.openjdk.java.net/skara/pull/105 >> >> Webrev: >> https://webrevs.openjdk.java.net/skara/105/webrev.00 >> >> Patch: >> https://git.openjdk.java.net/skara/pull/105.diff >> >> Fetch command: >> git fetch https://git.openjdk.java.net/skara pull/105/head:pull/105 > > bots/topological/src/main/java/org/openjdk/skara/bots/topological/TopologicalBot.java line 152: > >> 151: var isFastForward = repo.isAncestor(repo.head(), fromHash); >> 152: repo.merge(fromHash); >> 153: if (!isFastForward) { > > All the logic in this routine is very dependent on the behavior of the VCS, and on which actual concrete commands do these API method map to, so it's hard to check whether this code is correct. One issue you already pointed oit yourself: with the abortMerge() method. Another issue I see is the behavior with respect to a merge conflict. In the old script we had to tweak the standard behavior a bit to try and auto-resolve conflicts as much as possible. I don't know what the standard merge behavior is in Git. > > PR: https://git.openjdk.java.net/skara/pull/105 well, yes and no. I mean, I could read all the code of course - but for instance, it seems like when you do "git merge" you typically do a merge and then a commit (unless I'm mistaken). Here I see a call to merge() then commit(). Are we sure we're not committing twice? PR: https://git.openjdk.java.net/skara/pull/105 From duke at openjdk.java.net Thu Aug 29 14:07:45 2019 From: duke at openjdk.java.net (Jorn Vernee via github.com) Date: Thu, 29 Aug 2019 14:07:45 GMT Subject: RFR: Add topological merge bot In-Reply-To: References: Message-ID: The pull request has been updated with additional changes. ---------------- Added commits: - 4ffe0b07: Do a hard rest after failed push. Pull request: https://git.openjdk.java.net/skara/pull/105 Webrevs: - full: https://webrevs.openjdk.java.net/skara/105/webrev.02 - inc: https://webrevs.openjdk.java.net/skara/105/webrev.01-02 Updated full patch: https://git.openjdk.java.net/skara/pull/105.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/105/head:pull/105 From duke at openjdk.java.net Thu Aug 29 14:10:56 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 29 Aug 2019 14:10:56 GMT Subject: RFR: Add topological merge bot In-Reply-To: References: Message-ID: On Thu, 29 Aug 2019 13:19:39 GMT, mcimadamore via github.com wrote: > On Thu, 29 Aug 2019 12:28:41 GMT, Jorn Vernee via github.com wrote: > >> This PR adds a bot that does a topological merge of the branches in a repo. >> >> The branches can declare a dependencies file, which lists the branches that they depend on. This bot will crawl the branches, collect the dependencies for each branch, and topologically sort them based on their dependencies. Following that it will attempt to merge each dependency into the dependent in this order (this is mainly done so that we get less merges/failures if one of the root merges fails). >> >> Branches that do not declare a dependency file implicitly depend on the master branch. Therefore the list of branches that the bot considers is passed in during configuration. >> >> --- >> >> Aside from that, it also fixes a minor problem with `Repository::clone` on Windows. >> >> ---------------- >> >> Commits: >> - 4a8f3610: Added top bot module >> >> Pull request: >> https://git.openjdk.java.net/skara/pull/105 >> >> Webrev: >> https://webrevs.openjdk.java.net/skara/105/webrev.00 >> >> Patch: >> https://git.openjdk.java.net/skara/pull/105.diff >> >> Fetch command: >> git fetch https://git.openjdk.java.net/skara pull/105/head:pull/105 > > bots/topological/src/main/java/org/openjdk/skara/bots/topological/TopologicalBot.java line 152: > >> 151: var isFastForward = repo.isAncestor(repo.head(), fromHash); >> 152: repo.merge(fromHash); >> 153: if (!isFastForward) { > > All the logic in this routine is very dependent on the behavior of the VCS, and on which actual concrete commands do these API method map to, so it's hard to check whether this code is correct. One issue you already pointed oit yourself: with the abortMerge() method. Another issue I see is the behavior with respect to a merge conflict. In the old script we had to tweak the standard behavior a bit to try and auto-resolve conflicts as much as possible. I don't know what the standard merge behavior is in Git. > > PR: https://git.openjdk.java.net/skara/pull/105 Yep, see the `--no-commit` flag passed to `git merge`: https://github.com/openjdk/skara/blob/master/vcs/src/main/java/org/openjdk/skara/vcs/git/GitRepository.java#L873 PR: https://git.openjdk.java.net/skara/pull/105 From duke at openjdk.java.net Thu Aug 29 14:20:17 2019 From: duke at openjdk.java.net (Jorn Vernee via github.com) Date: Thu, 29 Aug 2019 14:20:17 GMT Subject: RFR: Add topological merge bot In-Reply-To: References: Message-ID: On Thu, 29 Aug 2019 13:19:39 GMT, mcimadamore via github.com wrote: > On Thu, 29 Aug 2019 12:28:41 GMT, Jorn Vernee via github.com wrote: > >> This PR adds a bot that does a topological merge of the branches in a repo. >> >> The branches can declare a dependencies file, which lists the branches that they depend on. This bot will crawl the branches, collect the dependencies for each branch, and topologically sort them based on their dependencies. Following that it will attempt to merge each dependency into the dependent in this order (this is mainly done so that we get less merges/failures if one of the root merges fails). >> >> Branches that do not declare a dependency file implicitly depend on the master branch. Therefore the list of branches that the bot considers is passed in during configuration. >> >> --- >> >> Aside from that, it also fixes a minor problem with `Repository::clone` on Windows. >> >> ---------------- >> >> Commits: >> - 4a8f3610: Added top bot module >> >> Pull request: >> https://git.openjdk.java.net/skara/pull/105 >> >> Webrev: >> https://webrevs.openjdk.java.net/skara/105/webrev.00 >> >> Patch: >> https://git.openjdk.java.net/skara/pull/105.diff >> >> Fetch command: >> git fetch https://git.openjdk.java.net/skara pull/105/head:pull/105 > > bots/topological/src/main/java/org/openjdk/skara/bots/topological/TopologicalBot.java line 152: > >> 151: var isFastForward = repo.isAncestor(repo.head(), fromHash); >> 152: repo.merge(fromHash); >> 153: if (!isFastForward) { > > All the logic in this routine is very dependent on the behavior of the VCS, and on which actual concrete commands do these API method map to, so it's hard to check whether this code is correct. One issue you already pointed oit yourself: with the abortMerge() method. Another issue I see is the behavior with respect to a merge conflict. In the old script we had to tweak the standard behavior a bit to try and auto-resolve conflicts as much as possible. I don't know what the standard merge behavior is in Git. > > PR: https://git.openjdk.java.net/skara/pull/105 There are 2 kinds of merges that can go on. 1.) where the child branch has not diverted, e.g. by making it's own commits, from the parent branch. In that case a 'fast forward' happens, and no merge commit is made. 2.) In the case the child branch has diverted, we make merge commit that shows a merge from the parent has happened. I don't think there are cases where we can get 2 commits (since `merge` alone never makes a commit [1](https://github.com/openjdk/skara/blob/master/vcs/src/main/java/org/openjdk/skara/vcs/git/GitRepository.java#L873)), but we could for instance disable the fast forward behaviour and then we always make a commit? PR: https://git.openjdk.java.net/skara/pull/105 From duke at openjdk.java.net Thu Aug 29 14:23:55 2019 From: duke at openjdk.java.net (mcimadamore via github.com) Date: Thu, 29 Aug 2019 14:23:55 GMT Subject: RFR: Add topological merge bot In-Reply-To: References: Message-ID: <-SKWoscgLn7eD7KGhZbZU_wlFHDHUbyDcnuyVWHu1Fc=.23babecb-a73d-4c9a-a44f-84a404cb14f1@github.com> On Thu, 29 Aug 2019 12:28:41 GMT, Jorn Vernee via github.com wrote: > This PR adds a bot that does a topological merge of the branches in a repo. > > The branches can declare a dependencies file, which lists the branches that they depend on. This bot will crawl the branches, collect the dependencies for each branch, and topologically sort them based on their dependencies. Following that it will attempt to merge each dependency into the dependent in this order (this is mainly done so that we get less merges/failures if one of the root merges fails). > > Branches that do not declare a dependency file implicitly depend on the master branch. Therefore the list of branches that the bot considers is passed in during configuration. > > --- > > Aside from that, it also fixes a minor problem with `Repository::clone` on Windows. > > ---------------- > > Commits: > - 4a8f3610: Added top bot module > > Pull request: > https://git.openjdk.java.net/skara/pull/105 > > Webrev: > https://webrevs.openjdk.java.net/skara/105/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/105.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/105/head:pull/105 This PR has been reviewed by mcimadamore via github.com - changes are approved. Review comment: looks ok PR: https://git.openjdk.java.net/skara/pull/105 If this translates to "git merge --abort" then this is required, I think, as it will wipe out the repo of any by-product of the (failed) merge attempt (e.g. reset all files to original head). PR: https://git.openjdk.java.net/skara/pull/105 From duke at openjdk.java.net Thu Aug 29 14:24:06 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 29 Aug 2019 14:24:06 GMT Subject: RFR: Add topological merge bot In-Reply-To: References: Message-ID: On Thu, 29 Aug 2019 12:28:41 GMT, Jorn Vernee via github.com wrote: > This PR adds a bot that does a topological merge of the branches in a repo. > > The branches can declare a dependencies file, which lists the branches that they depend on. This bot will crawl the branches, collect the dependencies for each branch, and topologically sort them based on their dependencies. Following that it will attempt to merge each dependency into the dependent in this order (this is mainly done so that we get less merges/failures if one of the root merges fails). > > Branches that do not declare a dependency file implicitly depend on the master branch. Therefore the list of branches that the bot considers is passed in during configuration. > > --- > > Aside from that, it also fixes a minor problem with `Repository::clone` on Windows. > > ---------------- > > Commits: > - 4a8f3610: Added top bot module > > Pull request: > https://git.openjdk.java.net/skara/pull/105 > > Webrev: > https://webrevs.openjdk.java.net/skara/105/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/105.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/105/head:pull/105 This PR has been reviewed by Erik Duveblad via github.com - a comment has been added. Review comment: This is starting to look very nice, just a few more comments! PR: https://git.openjdk.java.net/skara/pull/105 bots/topological/src/main/java/org/openjdk/skara/bots/topological/TopologicalBot.java line 147: > 146: for (var branch : branches) { > 147: repo.checkout(branch); > 148: dependencies(depsFile).forEach(dep -> deps.add(new Edge(dep, branch))); There is no need to check out the branch just to read the file. You can replace this with for example: ```java var hash = repo.resolve(branch).orElseThrow(); dependencies(repo.lines(hash, depsFile)).forEach(dep -> deps.add(new Edge(dep, branch))); ``` ``` PR: https://git.openjdk.java.net/skara/pull/105 bots/topological/src/main/java/org/openjdk/skara/bots/topological/TopologicalBot.java line 151: > 150: return TopologicalSort.tsort(deps).stream() > 151: .filter(branch -> !branch.name().equals("master")) > 152: .collect(Collectors.toList()); If you want you can use `.filter(branch -> !branch.equals(repo.defaultBranch()))` PR: https://git.openjdk.java.net/skara/pull/105 bots/topological/src/main/java/org/openjdk/skara/bots/topological/TopologicalBot.java line 181: > 180: var process = new ProcessBuilder() > 181: .command("git", "reset", "--hard", oldHead.hex()) > 182: .directory(repo.root().toFile()) Please add `Repository::reset(boolean hard)` instead PR: https://git.openjdk.java.net/skara/pull/105 bots/topological/src/main/java/org/openjdk/skara/bots/topological/TopologicalBot.java line 168: > 167: log.info("merge with " + parent + " succeeded. The following commits will be pushed:\n" > 168: + log(repo, "origin/" + branch.name(), branch.name()).collect(Collectors.joining("\n", "\n", "\n"))); > 169: try { You could just do `repo.commits("origin/" + branch.name() + ".." + branch.name())` instead of rolling your own PR: https://git.openjdk.java.net/skara/pull/105 bots/topological/src/main/java/org/openjdk/skara/bots/topological/TopologicalBot.java line 173: > 172: log.severe("Pusing failed! Aborting..."); > 173: hardReset(repo, oldHead); > 174: throw e; So this would become `repo.reset(oldHead, true)` (see my comment further down for details) PR: https://git.openjdk.java.net/skara/pull/105 bots/topological/src/main/java/org/openjdk/skara/bots/topological/TopologicalBot.java line 197: > 196: > 197: private static void await(Process process) throws IOException { > 198: try { I don't think you need this after you have removed `log` and `hardReset` PR: https://git.openjdk.java.net/skara/pull/105 bots/topological/src/main/java/org/openjdk/skara/bots/topological/TopologicalSort.java line 34: > 33: > 34: static List tsort(List edges) { > 35: List eCopy = new ArrayList<>(edges); I think naming the method `sort` is enough given that the class is named `TopologicalSort` :smiley_cat: PR: https://git.openjdk.java.net/skara/pull/105 From duke at openjdk.java.net Thu Aug 29 13:57:57 2019 From: duke at openjdk.java.net (mcimadamore via github.com) Date: Thu, 29 Aug 2019 13:57:57 GMT Subject: RFR: Add topological merge bot In-Reply-To: References: Message-ID: On Thu, 29 Aug 2019 13:19:41 GMT, mcimadamore via github.com wrote: > On Thu, 29 Aug 2019 12:28:41 GMT, Jorn Vernee via github.com wrote: > >> This PR adds a bot that does a topological merge of the branches in a repo. >> >> The branches can declare a dependencies file, which lists the branches that they depend on. This bot will crawl the branches, collect the dependencies for each branch, and topologically sort them based on their dependencies. Following that it will attempt to merge each dependency into the dependent in this order (this is mainly done so that we get less merges/failures if one of the root merges fails). >> >> Branches that do not declare a dependency file implicitly depend on the master branch. Therefore the list of branches that the bot considers is passed in during configuration. >> >> --- >> >> Aside from that, it also fixes a minor problem with `Repository::clone` on Windows. >> >> ---------------- >> >> Commits: >> - 4a8f3610: Added top bot module >> >> Pull request: >> https://git.openjdk.java.net/skara/pull/105 >> >> Webrev: >> https://webrevs.openjdk.java.net/skara/105/webrev.00 >> >> Patch: >> https://git.openjdk.java.net/skara/pull/105.diff >> >> Fetch command: >> git fetch https://git.openjdk.java.net/skara pull/105/head:pull/105 > > bots/topological/src/main/java/org/openjdk/skara/bots/topological/TopologicalBot.java line 210: > >> 209: private static List tsort(List edges) { >> 210: List eCopy = new ArrayList<>(edges); >> 211: List result = new ArrayList<>(); > > It seems to me that this methods is walking all the edges and trying to find cycles, and leaves. This probably works, but can be quadratic in cost. There are better alternatives out there - some of which already tried and tested which are part of the javac compiler itself. I suggest maybe directly using this? > > http://hg.openjdk.java.net/jdk/jdk/file/c16208de74da/src/jdk.compiler/share/classes/com/sun/tools/javac/util/GraphUtils.java > > There, you will also find interfaces for Node and the likes. The topo sort algo used there is routinely used in javac type inference, so it's been rather heavily tested :-) > > PR: https://git.openjdk.java.net/skara/pull/105 I'm fine with quick and dirty PR: https://git.openjdk.java.net/skara/pull/105 From duke at openjdk.java.net Thu Aug 29 14:43:44 2019 From: duke at openjdk.java.net (Jorn Vernee via github.com) Date: Thu, 29 Aug 2019 14:43:44 GMT Subject: RFR: Add topological merge bot In-Reply-To: References: Message-ID: The pull request has been updated with additional changes. ---------------- Added commits: - d232a871: more review comments Pull request: https://git.openjdk.java.net/skara/pull/105 Webrevs: - full: https://webrevs.openjdk.java.net/skara/105/webrev.03 - inc: https://webrevs.openjdk.java.net/skara/105/webrev.02-03 Updated full patch: https://git.openjdk.java.net/skara/pull/105.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/105/head:pull/105 From duke at openjdk.java.net Thu Aug 29 15:58:42 2019 From: duke at openjdk.java.net (Kevin Rushforth via github.com) Date: Thu, 29 Aug 2019 15:58:42 GMT Subject: RFR: jcheck "repository" property in [general] section not read from .jcheck/conf Message-ID: <9xvDutguMc9cWcRDNwQ1SrgPCFFoSmw2DQeRBfUtgzc=.4f193ffc-d156-4251-88c7-b333d1dab1ab@github.com> This PR fixes a typo in the `GeneralConfiguration` class of `jcheck` that causes the `repository` property to be set to the same value as `project` rather than being read from the `.jcheck/conf` file. ---------------- Commits: - c3a15a15: jcheck "repository" property in [general] section not read from .jcheck/conf Pull request: https://git.openjdk.java.net/skara/pull/107 Webrev: https://webrevs.openjdk.java.net/skara/107/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/107.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/107/head:pull/107 From duke at openjdk.java.net Thu Aug 29 18:56:53 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Thu, 29 Aug 2019 18:56:53 GMT Subject: RFR: jcheck "repository" property in [general] section not read from .jcheck/conf In-Reply-To: <9xvDutguMc9cWcRDNwQ1SrgPCFFoSmw2DQeRBfUtgzc=.4f193ffc-d156-4251-88c7-b333d1dab1ab@github.com> References: <9xvDutguMc9cWcRDNwQ1SrgPCFFoSmw2DQeRBfUtgzc=.4f193ffc-d156-4251-88c7-b333d1dab1ab@github.com> Message-ID: On Thu, 29 Aug 2019 15:58:42 GMT, Kevin Rushforth via github.com wrote: > This PR fixes a typo in the `GeneralConfiguration` class of `jcheck` that causes the `repository` property to be set to the same value as `project` rather than being read from the `.jcheck/conf` file. > > ---------------- > > Commits: > - c3a15a15: jcheck "repository" property in [general] section not read from .jcheck/conf > > Pull request: > https://git.openjdk.java.net/skara/pull/107 > > Webrev: > https://webrevs.openjdk.java.net/skara/107/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/107.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/107/head:pull/107 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Looks good, thanks for fixing! PR: https://git.openjdk.java.net/skara/pull/107 From duke at openjdk.java.net Thu Aug 29 22:33:23 2019 From: duke at openjdk.java.net (Kevin Rushforth via github.com) Date: Thu, 29 Aug 2019 22:33:23 GMT Subject: RFR: jcheck "repository" property in [general] section not read from .jcheck/conf In-Reply-To: <9xvDutguMc9cWcRDNwQ1SrgPCFFoSmw2DQeRBfUtgzc=.4f193ffc-d156-4251-88c7-b333d1dab1ab@github.com> References: <9xvDutguMc9cWcRDNwQ1SrgPCFFoSmw2DQeRBfUtgzc=.4f193ffc-d156-4251-88c7-b333d1dab1ab@github.com> Message-ID: On Thu, 29 Aug 2019 15:58:42 GMT, Kevin Rushforth via github.com wrote: > This PR fixes a typo in the `GeneralConfiguration` class of `jcheck` that causes the `repository` property to be set to the same value as `project` rather than being read from the `.jcheck/conf` file. > > ---------------- > > Commits: > - c3a15a15: jcheck "repository" property in [general] section not read from .jcheck/conf > > Pull request: > https://git.openjdk.java.net/skara/pull/107 > > Webrev: > https://webrevs.openjdk.java.net/skara/107/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/107.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/107/head:pull/107 I might have expected the `/integrate` in the previous comment to cause the bot to wake up and annotate the PR to indicate that it was now ready to be sponsored. Does it not do that? Should it? PR: https://git.openjdk.java.net/skara/pull/107 From duke at openjdk.java.net Fri Aug 30 05:58:26 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Fri, 30 Aug 2019 05:58:26 GMT Subject: RFR: jcheck "repository" property in [general] section not read from .jcheck/conf In-Reply-To: References: <9xvDutguMc9cWcRDNwQ1SrgPCFFoSmw2DQeRBfUtgzc=.4f193ffc-d156-4251-88c7-b333d1dab1ab@github.com> Message-ID: On Thu, 29 Aug 2019 22:33:23 GMT, Kevin Rushforth via github.com wrote: > On Thu, 29 Aug 2019 15:58:42 GMT, Kevin Rushforth via github.com wrote: > >> This PR fixes a typo in the `GeneralConfiguration` class of `jcheck` that causes the `repository` property to be set to the same value as `project` rather than being read from the `.jcheck/conf` file. >> >> ---------------- >> >> Commits: >> - c3a15a15: jcheck "repository" property in [general] section not read from .jcheck/conf >> >> Pull request: >> https://git.openjdk.java.net/skara/pull/107 >> >> Webrev: >> https://webrevs.openjdk.java.net/skara/107/webrev.00 >> >> Patch: >> https://git.openjdk.java.net/skara/pull/107.diff >> >> Fetch command: >> git fetch https://git.openjdk.java.net/skara pull/107/head:pull/107 > > I might have expected the `/integrate` in the previous comment to cause the bot to wake up and annotate the PR to indicate that it was now ready to be sponsored. Does it not do that? Should it? > > PR: https://git.openjdk.java.net/skara/pull/107 It most certainly should wake up, I've filed https://bugs.openjdk.java.net/browse/SKARA-91 to track the fix. PR: https://git.openjdk.java.net/skara/pull/107 From duke at openjdk.java.net Fri Aug 30 06:10:01 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Fri, 30 Aug 2019 06:10:01 GMT Subject: RFR: 91: Avoid discarding pending items of different types Message-ID: Hi all, Please review this change that stops the BotRunner from discarding pending WorkItems in favor of newer ones of a different type, even though they cannot be run concurrently. Best regards, Robin ---------------- Commits: - 358ed180: Avoid discarding a pending workitem in favor of one with a different type Pull request: https://git.openjdk.java.net/skara/pull/108 Webrev: https://webrevs.openjdk.java.net/skara/108/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/108.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/108/head:pull/108 From duke at openjdk.java.net Fri Aug 30 08:26:48 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Fri, 30 Aug 2019 08:26:48 GMT Subject: RFR: 91: Avoid discarding pending items of different types In-Reply-To: References: Message-ID: On Fri, 30 Aug 2019 06:10:01 GMT, Robin Westberg via github.com wrote: > Hi all, > > Please review this change that stops the BotRunner from discarding pending WorkItems in favor of newer ones of a different type, even though they cannot be run concurrently. > > Best regards, > Robin > > ---------------- > > Commits: > - 358ed180: Avoid discarding a pending workitem in favor of one with a different type > > Pull request: > https://git.openjdk.java.net/skara/pull/108 > > Webrev: > https://webrevs.openjdk.java.net/skara/108/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/108.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/108/head:pull/108 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Thanks, fix looks good! PR: https://git.openjdk.java.net/skara/pull/108 From duke at openjdk.java.net Fri Aug 30 08:27:03 2019 From: duke at openjdk.java.net (duke) Date: Fri, 30 Aug 2019 08:27:03 GMT Subject: git: openjdk/skara: jcheck "repository" property in [general] section not read from .jcheck/conf Message-ID: Changeset: b46b8e5f Author: Kevin Rushforth Committer: Erik Helin Date: 2019-08-30 08:26:46 +0000 URL: https://github.com/openjdk/skara/commit/b46b8e5f jcheck "repository" property in [general] section not read from .jcheck/conf Reviewed-by: ehelin ! jcheck/src/main/java/org/openjdk/skara/jcheck/GeneralConfiguration.java From duke at openjdk.java.net Fri Aug 30 08:29:16 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Fri, 30 Aug 2019 08:29:16 GMT Subject: RFR: Batch commit, add and files methods in HgRepository Message-ID: Hi all, this small patch adds "batching" to the `commit`, `add` and `files` methods in `HgRepository` to avoid command-line overflow for large lists. ## Testing - [x] `sh gradlew test` passes on Linux x86_64 Thanks, Erik ---------------- Commits: - 5f2088c0: Batch commit, add and files methods in HgRepository Pull request: https://git.openjdk.java.net/skara/pull/109 Webrev: https://webrevs.openjdk.java.net/skara/109/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/109.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/109/head:pull/109 From duke at openjdk.java.net Fri Aug 30 08:30:01 2019 From: duke at openjdk.java.net (duke) Date: Fri, 30 Aug 2019 08:30:01 GMT Subject: git: openjdk/skara: 91: Avoid discarding pending items of different types Message-ID: <9cece480-4dba-461d-865e-8d53b3134b78@openjdk.java.net> Changeset: 1f951761 Author: Robin Westberg Date: 2019-08-30 08:29:39 +0000 URL: https://github.com/openjdk/skara/commit/1f951761 91: Avoid discarding pending items of different types Reviewed-by: ehelin ! bot/src/main/java/org/openjdk/skara/bot/BotRunner.java ! bot/src/test/java/org/openjdk/skara/bot/BotRunnerTests.java From duke at openjdk.java.net Fri Aug 30 08:30:15 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Fri, 30 Aug 2019 08:30:15 GMT Subject: RFR: Add topological merge bot In-Reply-To: References: Message-ID: On Thu, 29 Aug 2019 12:28:41 GMT, Jorn Vernee via github.com wrote: > This PR adds a bot that does a topological merge of the branches in a repo. > > The branches can declare a dependencies file, which lists the branches that they depend on. This bot will crawl the branches, collect the dependencies for each branch, and topologically sort them based on their dependencies. Following that it will attempt to merge each dependency into the dependent in this order (this is mainly done so that we get less merges/failures if one of the root merges fails). > > Branches that do not declare a dependency file implicitly depend on the master branch. Therefore the list of branches that the bot considers is passed in during configuration. > > --- > > Aside from that, it also fixes a minor problem with `Repository::clone` on Windows. > > ---------------- > > Commits: > - 4a8f3610: Added top bot module > > Pull request: > https://git.openjdk.java.net/skara/pull/105 > > Webrev: > https://webrevs.openjdk.java.net/skara/105/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/105.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/105/head:pull/105 vcs/src/main/java/org/openjdk/skara/vcs/git/GitRepository.java line 307: > 306: > 307: try (var p = capture(cmd.toArray(String[]::new))) { > 308: await(p); There is no need to do `cmd.toArray`, `capture` has an overload for `List` PR: https://git.openjdk.java.net/skara/pull/105 vcs/src/main/java/org/openjdk/skara/vcs/git/GitRepository.java line 299: > 298: @Override > 299: public void reset(Hash target, boolean hard) throws IOException { > 300: var cmd = new ArrayList(); Did you add a unit test for `reset` in `RepositoryTests`? PR: https://git.openjdk.java.net/skara/pull/105 From duke at openjdk.java.net Fri Aug 30 08:35:25 2019 From: duke at openjdk.java.net (Jorn Vernee via github.com) Date: Fri, 30 Aug 2019 08:35:25 GMT Subject: RFR: Add topological merge bot In-Reply-To: <6-BFpVBrwPQBFTM4iSykUYWr2MaLs4mQSwFagcVswII=.6bc17b40-8ae6-4775-b66e-ee608a71566b@github.com> References: <6-BFpVBrwPQBFTM4iSykUYWr2MaLs4mQSwFagcVswII=.6bc17b40-8ae6-4775-b66e-ee608a71566b@github.com> Message-ID: On Fri, 30 Aug 2019 08:30:15 GMT, Erik Duveblad via github.com wrote: > On Thu, 29 Aug 2019 12:28:41 GMT, Jorn Vernee via github.com wrote: > >> This PR adds a bot that does a topological merge of the branches in a repo. >> >> The branches can declare a dependencies file, which lists the branches that they depend on. This bot will crawl the branches, collect the dependencies for each branch, and topologically sort them based on their dependencies. Following that it will attempt to merge each dependency into the dependent in this order (this is mainly done so that we get less merges/failures if one of the root merges fails). >> >> Branches that do not declare a dependency file implicitly depend on the master branch. Therefore the list of branches that the bot considers is passed in during configuration. >> >> --- >> >> Aside from that, it also fixes a minor problem with `Repository::clone` on Windows. >> >> ---------------- >> >> Commits: >> - 4a8f3610: Added top bot module >> >> Pull request: >> https://git.openjdk.java.net/skara/pull/105 >> >> Webrev: >> https://webrevs.openjdk.java.net/skara/105/webrev.00 >> >> Patch: >> https://git.openjdk.java.net/skara/pull/105.diff >> >> Fetch command: >> git fetch https://git.openjdk.java.net/skara pull/105/head:pull/105 > > vcs/src/main/java/org/openjdk/skara/vcs/git/GitRepository.java line 299: > >> 298: @Override >> 299: public void reset(Hash target, boolean hard) throws IOException { >> 300: var cmd = new ArrayList(); > > Did you add a unit test for `reset` in `RepositoryTests`? > > PR: https://git.openjdk.java.net/skara/pull/105 Nope, will do PR: https://git.openjdk.java.net/skara/pull/105 From duke at openjdk.java.net Fri Aug 30 08:38:14 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Fri, 30 Aug 2019 08:38:14 GMT Subject: RFR: Add topological merge bot In-Reply-To: References: Message-ID: On Thu, 29 Aug 2019 12:28:41 GMT, Jorn Vernee via github.com wrote: > This PR adds a bot that does a topological merge of the branches in a repo. > > The branches can declare a dependencies file, which lists the branches that they depend on. This bot will crawl the branches, collect the dependencies for each branch, and topologically sort them based on their dependencies. Following that it will attempt to merge each dependency into the dependent in this order (this is mainly done so that we get less merges/failures if one of the root merges fails). > > Branches that do not declare a dependency file implicitly depend on the master branch. Therefore the list of branches that the bot considers is passed in during configuration. > > --- > > Aside from that, it also fixes a minor problem with `Repository::clone` on Windows. > > ---------------- > > Commits: > - 4a8f3610: Added top bot module > > Pull request: > https://git.openjdk.java.net/skara/pull/105 > > Webrev: > https://webrevs.openjdk.java.net/skara/105/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/105.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/105/head:pull/105 bots/topological/src/main/java/org/openjdk/skara/bots/topological/TopologicalBot.java line 163: > 162: log.info("merge with " + parent + " succeeded. The following commits will be pushed:\n" > 163: + repo.commits("origin/" + branch.name() + ".." + branch.name()).stream() > 164: .map(Commit::toString) Please use `asList()` or close the `stream()`, otherwise this will leak process id:s PR: https://git.openjdk.java.net/skara/pull/105 From duke at openjdk.java.net Fri Aug 30 08:38:46 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Fri, 30 Aug 2019 08:38:46 GMT Subject: RFR: Add topological merge bot In-Reply-To: References: Message-ID: On Fri, 30 Aug 2019 08:38:14 GMT, Erik Duveblad via github.com wrote: > On Thu, 29 Aug 2019 12:28:41 GMT, Jorn Vernee via github.com wrote: > >> This PR adds a bot that does a topological merge of the branches in a repo. >> >> The branches can declare a dependencies file, which lists the branches that they depend on. This bot will crawl the branches, collect the dependencies for each branch, and topologically sort them based on their dependencies. Following that it will attempt to merge each dependency into the dependent in this order (this is mainly done so that we get less merges/failures if one of the root merges fails). >> >> Branches that do not declare a dependency file implicitly depend on the master branch. Therefore the list of branches that the bot considers is passed in during configuration. >> >> --- >> >> Aside from that, it also fixes a minor problem with `Repository::clone` on Windows. >> >> ---------------- >> >> Commits: >> - 4a8f3610: Added top bot module >> >> Pull request: >> https://git.openjdk.java.net/skara/pull/105 >> >> Webrev: >> https://webrevs.openjdk.java.net/skara/105/webrev.00 >> >> Patch: >> https://git.openjdk.java.net/skara/pull/105.diff >> >> Fetch command: >> git fetch https://git.openjdk.java.net/skara pull/105/head:pull/105 > > bots/topological/src/main/java/org/openjdk/skara/bots/topological/TopologicalBot.java line 163: > >> 162: log.info("merge with " + parent + " succeeded. The following commits will be pushed:\n" >> 163: + repo.commits("origin/" + branch.name() + ".." + branch.name()).stream() >> 164: .map(Commit::toString) > > Please use `asList()` or close the `stream()`, otherwise this will leak process id:s > > PR: https://git.openjdk.java.net/skara/pull/105 You might also want to break this out perhaps a few more lines :smile_cat: PR: https://git.openjdk.java.net/skara/pull/105 From duke at openjdk.java.net Fri Aug 30 08:39:29 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Fri, 30 Aug 2019 08:39:29 GMT Subject: RFR: Add topological merge bot In-Reply-To: References: Message-ID: <6AKRlfWvxJjzwfuYfNCJ9squPPJR_ZGsIgdJPSkaQ3w=.0d03d7d3-aa14-4c8f-b2f3-6fd1a630236f@github.com> On Thu, 29 Aug 2019 12:28:41 GMT, Jorn Vernee via github.com wrote: > This PR adds a bot that does a topological merge of the branches in a repo. > > The branches can declare a dependencies file, which lists the branches that they depend on. This bot will crawl the branches, collect the dependencies for each branch, and topologically sort them based on their dependencies. Following that it will attempt to merge each dependency into the dependent in this order (this is mainly done so that we get less merges/failures if one of the root merges fails). > > Branches that do not declare a dependency file implicitly depend on the master branch. Therefore the list of branches that the bot considers is passed in during configuration. > > --- > > Aside from that, it also fixes a minor problem with `Repository::clone` on Windows. > > ---------------- > > Commits: > - 4a8f3610: Added top bot module > > Pull request: > https://git.openjdk.java.net/skara/pull/105 > > Webrev: > https://webrevs.openjdk.java.net/skara/105/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/105.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/105/head:pull/105 bots/topological/src/main/java/org/openjdk/skara/bots/topological/TopologicalSort.java line 33: > 32: class TopologicalSort { > 33: > 34: static List sort(List edges) { Can skip this empty line PR: https://git.openjdk.java.net/skara/pull/105 bots/topological/src/main/java/org/openjdk/skara/bots/topological/TopologicalSort.java line 59: > 58: } > 59: > 60: } Can skip this one too :) PR: https://git.openjdk.java.net/skara/pull/105 From duke at openjdk.java.net Fri Aug 30 08:49:09 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Fri, 30 Aug 2019 08:49:09 GMT Subject: RFR: Batch commit, add and files methods in HgRepository In-Reply-To: References: Message-ID: On Fri, 30 Aug 2019 08:29:16 GMT, Erik Duveblad via github.com wrote: > Hi all, > > this small patch adds "batching" to the `commit`, `add` and `files` methods in `HgRepository` to avoid command-line overflow for large lists. > > ## Testing > - [x] `sh gradlew test` passes on Linux x86_64 > > Thanks, > Erik > > ---------------- > > Commits: > - 5f2088c0: Batch commit, add and files methods in HgRepository > > Pull request: > https://git.openjdk.java.net/skara/pull/109 > > Webrev: > https://webrevs.openjdk.java.net/skara/109/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/109.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/109/head:pull/109 This PR has been reviewed by Robin Westberg via github.com - changes are approved. Review comment: Wondering if the allFiles could use the batch function as well with some refactoring, but no need to change that now. PR: https://git.openjdk.java.net/skara/pull/109 From duke at openjdk.java.net Fri Aug 30 08:50:50 2019 From: duke at openjdk.java.net (duke) Date: Fri, 30 Aug 2019 08:50:50 GMT Subject: git: openjdk/skara: Batch commit, add and files methods in HgRepository Message-ID: Changeset: c9990046 Author: Erik Helin Date: 2019-08-30 08:50:14 +0000 URL: https://github.com/openjdk/skara/commit/c9990046 Batch commit, add and files methods in HgRepository Reviewed-by: rwestberg ! vcs/src/main/java/org/openjdk/skara/vcs/hg/HgRepository.java From duke at openjdk.java.net Fri Aug 30 08:51:53 2019 From: duke at openjdk.java.net (Jorn Vernee via github.com) Date: Fri, 30 Aug 2019 08:51:53 GMT Subject: RFR: Add topological merge bot In-Reply-To: References: Message-ID: The pull request has been updated with additional changes. ---------------- Added commits: - 2099a07b: More review comments Pull request: https://git.openjdk.java.net/skara/pull/105 Webrevs: - full: https://webrevs.openjdk.java.net/skara/105/webrev.04 - inc: https://webrevs.openjdk.java.net/skara/105/webrev.03-04 Updated full patch: https://git.openjdk.java.net/skara/pull/105.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/105/head:pull/105 From duke at openjdk.java.net Fri Aug 30 09:04:23 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Fri, 30 Aug 2019 09:04:23 GMT Subject: RFR: 8: Use a file based approach for GitToHgConverter.java Message-ID: <7QWPkbcbSNoNWz6zNoA-2YfNyU4x1rZiwiuTbpsUWKE=.25c25dc6-d947-4881-943b-66a6387c0bbd@github.com> Hi, this patch introduces a file based approach for `GitToHgConverter` (instead of interpreting diffs). This is much more stable solution, we do not have to handle different encodings etc. Successfully converted the jfx repo from git to hg (and a bunch of smaller ones like jmc, code-tools/*, etc). Thanks, Erik ---------------- Commits: - 7b3a05e6: 8: Use a file based approach for GitToHgConverter.java Pull request: https://git.openjdk.java.net/skara/pull/110 Webrev: https://webrevs.openjdk.java.net/skara/110/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/110.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/110/head:pull/110 From duke at openjdk.java.net Fri Aug 30 10:21:32 2019 From: duke at openjdk.java.net (Jorn Vernee via github.com) Date: Fri, 30 Aug 2019 10:21:32 GMT Subject: RFR: Make sure Commits are closed when using Commits::stream Message-ID: I noticed most places that are using `Commits::stream` are not actually closing the underlying resource. I've added an `onClose` handler to the returned stream, and also overrode `forEach` (from `Iterable`) to call close. Unfortunately, the stream `onClose` handler is not called automatically when a terminal operation occurs, so we still have to use try-with-resources when using `Commits::stream` (which I've addressed). ---------------- Commits: - 05de00bc: Make sure `Commits` are closed when calling `Commits::stream`. - a5687db1: Add onClose operation to Commits::stream to avoid resource leaks Pull request: https://git.openjdk.java.net/skara/pull/111 Webrev: https://webrevs.openjdk.java.net/skara/111/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/111.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/111/head:pull/111 From duke at openjdk.java.net Fri Aug 30 10:24:26 2019 From: duke at openjdk.java.net (Jorn Vernee via github.com) Date: Fri, 30 Aug 2019 10:24:26 GMT Subject: RFR: Add topological merge bot In-Reply-To: References: Message-ID: The pull request has been updated with additional changes. ---------------- Added commits: - 62d1e15f: Fix resource leak Pull request: https://git.openjdk.java.net/skara/pull/105 Webrevs: - full: https://webrevs.openjdk.java.net/skara/105/webrev.05 - inc: https://webrevs.openjdk.java.net/skara/105/webrev.04-05 Updated full patch: https://git.openjdk.java.net/skara/pull/105.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/105/head:pull/105 From duke at openjdk.java.net Fri Aug 30 11:03:38 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Fri, 30 Aug 2019 11:03:38 GMT Subject: RFR: Make sure Commits are closed when using Commits::stream In-Reply-To: References: Message-ID: <1Nuil7IMnxbVANG_8JYUAn5FR5aTXrpMXfAEhjeAzZQ=.68f9035f-3dd9-4292-b99c-d733863abd53@github.com> On Fri, 30 Aug 2019 10:21:32 GMT, Jorn Vernee via github.com wrote: > I noticed most places that are using `Commits::stream` are not actually closing the underlying resource. > > I've added an `onClose` handler to the returned stream, and also overrode `forEach` (from `Iterable`) to call close. Unfortunately, the stream `onClose` handler is not called automatically when a terminal operation occurs, so we still have to use try-with-resources when using `Commits::stream` (which I've addressed). > > ---------------- > > Commits: > - 05de00bc: Make sure `Commits` are closed when calling `Commits::stream`. > - a5687db1: Add onClose operation to Commits::stream to avoid resource leaks > > Pull request: > https://git.openjdk.java.net/skara/pull/111 > > Webrev: > https://webrevs.openjdk.java.net/skara/111/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/111.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/111/head:pull/111 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Looks good, thanks for fixing this! PR: https://git.openjdk.java.net/skara/pull/111 From duke at openjdk.java.net Fri Aug 30 10:59:59 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Fri, 30 Aug 2019 10:59:59 GMT Subject: RFR: Add topological merge bot In-Reply-To: References: Message-ID: <4sNj7m1206kDrP9BUSX7f0iJyCUgAvPvU5fo0XUbQbU=.db5d5844-8d7d-43dd-8d4e-7a674d5600ca@github.com> On Thu, 29 Aug 2019 12:28:41 GMT, Jorn Vernee via github.com wrote: > This PR adds a bot that does a topological merge of the branches in a repo. > > The branches can declare a dependencies file, which lists the branches that they depend on. This bot will crawl the branches, collect the dependencies for each branch, and topologically sort them based on their dependencies. Following that it will attempt to merge each dependency into the dependent in this order (this is mainly done so that we get less merges/failures if one of the root merges fails). > > Branches that do not declare a dependency file implicitly depend on the master branch. Therefore the list of branches that the bot considers is passed in during configuration. > > --- > > Aside from that, it also fixes a minor problem with `Repository::clone` on Windows. > > ---------------- > > Commits: > - 4a8f3610: Added top bot module > > Pull request: > https://git.openjdk.java.net/skara/pull/105 > > Webrev: > https://webrevs.openjdk.java.net/skara/105/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/105.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/105/head:pull/105 This PR has been reviewed by Erik Duveblad via github.com - changes are approved. Review comment: Looks good now, thanks for hanging in there! :clap: PR: https://git.openjdk.java.net/skara/pull/105 From duke at openjdk.java.net Fri Aug 30 11:28:36 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Fri, 30 Aug 2019 11:28:36 GMT Subject: RFR: 8: Use a file based approach for GitToHgConverter.java In-Reply-To: <7QWPkbcbSNoNWz6zNoA-2YfNyU4x1rZiwiuTbpsUWKE=.25c25dc6-d947-4881-943b-66a6387c0bbd@github.com> References: <7QWPkbcbSNoNWz6zNoA-2YfNyU4x1rZiwiuTbpsUWKE=.25c25dc6-d947-4881-943b-66a6387c0bbd@github.com> Message-ID: On Fri, 30 Aug 2019 09:04:23 GMT, Erik Duveblad via github.com wrote: > Hi, > > this patch introduces a file based approach for `GitToHgConverter` (instead of interpreting diffs). This is much more stable solution, we do not have to handle different encodings etc. Successfully converted the jfx repo from git to hg (and a bunch of smaller ones like jmc, code-tools/*, etc). > > Thanks, > Erik > > ---------------- > > Commits: > - 7b3a05e6: 8: Use a file based approach for GitToHgConverter.java > > Pull request: > https://git.openjdk.java.net/skara/pull/110 > > Webrev: > https://webrevs.openjdk.java.net/skara/110/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/110.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/110/head:pull/110 This PR has been reviewed by Robin Westberg via github.com - changes are approved. Review comment: Looks good! PR: https://git.openjdk.java.net/skara/pull/110 From duke at openjdk.java.net Fri Aug 30 11:58:49 2019 From: duke at openjdk.java.net (duke) Date: Fri, 30 Aug 2019 11:58:49 GMT Subject: git: openjdk/skara: Add topological merge bot Message-ID: <3c05933a-1d47-479b-b145-be531f5b9cf7@openjdk.java.net> Changeset: 8501faf5 Author: Jorn Vernee Date: 2019-08-30 11:57:48 +0000 URL: https://github.com/openjdk/skara/commit/8501faf5 Add topological merge bot Reviewed-by: mcimadamore, ehelin + bots/topological/build.gradle + bots/topological/src/main/java/module-info.java + bots/topological/src/main/java/org/openjdk/skara/bots/topological/Edge.java + bots/topological/src/main/java/org/openjdk/skara/bots/topological/TopologicalBot.java + bots/topological/src/main/java/org/openjdk/skara/bots/topological/TopologicalBotFactory.java + bots/topological/src/main/java/org/openjdk/skara/bots/topological/TopologicalSort.java + bots/topological/src/test/java/org/openjdk/skara/bots/topological/TopologicalBotTests.java + bots/topological/src/test/java/org/openjdk/skara/bots/topological/TopologicalSortTest.java ! settings.gradle ! vcs/src/main/java/org/openjdk/skara/vcs/Repository.java ! vcs/src/main/java/org/openjdk/skara/vcs/git/GitRepository.java ! vcs/src/main/java/org/openjdk/skara/vcs/hg/HgRepository.java ! vcs/src/test/java/org/openjdk/skara/vcs/RepositoryTests.java From duke at openjdk.java.net Fri Aug 30 12:01:53 2019 From: duke at openjdk.java.net (duke) Date: Fri, 30 Aug 2019 12:01:53 GMT Subject: git: openjdk/skara: Make sure Commits are closed when using Commits::stream Message-ID: Changeset: cbe145fa Author: Jorn Vernee Date: 2019-08-30 12:01:08 +0000 URL: https://github.com/openjdk/skara/commit/cbe145fa Make sure Commits are closed when using Commits::stream Reviewed-by: ehelin ! bots/hgbridge/src/test/java/org/openjdk/skara/bots/hgbridge/BridgeBotTests.java ! bots/mlbridge/src/main/java/org/openjdk/skara/bots/mlbridge/PullRequestInstance.java ! bots/notify/src/main/java/org/openjdk/skara/bots/notify/JNotifyBot.java ! bots/pr/src/test/java/org/openjdk/skara/bots/pr/MergeTests.java ! jcheck/src/main/java/org/openjdk/skara/jcheck/JCheck.java ! vcs/src/main/java/org/openjdk/skara/vcs/Commits.java From duke at openjdk.java.net Fri Aug 30 12:25:24 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Fri, 30 Aug 2019 12:25:24 GMT Subject: RFR: Add merge bot to bots cli image Message-ID: Hi all, I forgot to add (as often) the new merge bot the bots cli image. Thanks, Erik ---------------- Commits: - b030c347: Add merge bot to bots cli image Pull request: https://git.openjdk.java.net/skara/pull/112 Webrev: https://webrevs.openjdk.java.net/skara/112/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/112.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/112/head:pull/112 From duke at openjdk.java.net Fri Aug 30 12:26:49 2019 From: duke at openjdk.java.net (Erik Duveblad via github.com) Date: Fri, 30 Aug 2019 12:26:49 GMT Subject: RFR: Add merge and topological bots to cli image In-Reply-To: References: Message-ID: The pull request has been updated with additional changes. ---------------- Added commits: - cf44ed99: Include the topological bot as well Pull request: https://git.openjdk.java.net/skara/pull/112 Webrevs: - full: https://webrevs.openjdk.java.net/skara/112/webrev.01 - inc: https://webrevs.openjdk.java.net/skara/112/webrev.00-01 Updated full patch: https://git.openjdk.java.net/skara/pull/112.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/112/head:pull/112 From duke at openjdk.java.net Fri Aug 30 12:26:50 2019 From: duke at openjdk.java.net (Robin Westberg via github.com) Date: Fri, 30 Aug 2019 12:26:50 GMT Subject: RFR: Add merge and topological bots to cli image In-Reply-To: References: Message-ID: On Fri, 30 Aug 2019 12:25:24 GMT, Erik Duveblad via github.com wrote: > Hi all, > > I forgot to add (as often) the new merge bot the bots cli image. > > Thanks, > Erik > > ---------------- > > Commits: > - b030c347: Add merge bot to bots cli image > > Pull request: > https://git.openjdk.java.net/skara/pull/112 > > Webrev: > https://webrevs.openjdk.java.net/skara/112/webrev.00 > > Patch: > https://git.openjdk.java.net/skara/pull/112.diff > > Fetch command: > git fetch https://git.openjdk.java.net/skara pull/112/head:pull/112 This PR has been reviewed by Robin Westberg via github.com - changes are approved. Review comment: Good! PR: https://git.openjdk.java.net/skara/pull/112 From duke at openjdk.java.net Fri Aug 30 12:29:50 2019 From: duke at openjdk.java.net (duke) Date: Fri, 30 Aug 2019 12:29:50 GMT Subject: git: openjdk/skara: Add merge and topological bots to cli image Message-ID: <545ac64b-fb0f-4da8-905b-cf73b2058237@openjdk.java.net> Changeset: bb34b1d0 Author: Erik Helin Date: 2019-08-30 12:29:16 +0000 URL: https://github.com/openjdk/skara/commit/bb34b1d0 Add merge and topological bots to cli image Reviewed-by: rwestberg ! bots/cli/build.gradle From duke at openjdk.java.net Fri Aug 30 12:30:51 2019 From: duke at openjdk.java.net (duke) Date: Fri, 30 Aug 2019 12:30:51 GMT Subject: git: openjdk/skara: 8: Use a file based approach for GitToHgConverter.java Message-ID: Changeset: a2d8107d Author: Erik Helin Date: 2019-08-30 12:30:41 +0000 URL: https://github.com/openjdk/skara/commit/a2d8107d 8: Use a file based approach for GitToHgConverter.java Reviewed-by: rwestberg ! vcs/src/main/java/org/openjdk/skara/vcs/openjdk/convert/GitToHgConverter.java From duke at openjdk.java.net Fri Aug 30 13:56:52 2019 From: duke at openjdk.java.net (Jorn Vernee via github.com) Date: Fri, 30 Aug 2019 13:56:52 GMT Subject: RFR: Coalesce hunks that have overlapping context Message-ID: The `webrev` command can generate patch files with adjacent hunks that have overlapping context. `git apply` rejects these patches. This PR coalesces adjacent hunks with overlapping context, which is also what's done by `git diff`. Also added a test for `HunkCoalescer` (since it's a pretty complex class I think it deserved it's own tests). Resulting webrev applies with both git and hg. ---------------- Commits: - 6f5f1071: Coalesce hunks that have overlapping context, since git rejects these otherwise Pull request: https://git.openjdk.java.net/skara/pull/113 Webrev: https://webrevs.openjdk.java.net/skara/113/webrev.00 Patch: https://git.openjdk.java.net/skara/pull/113.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/113/head:pull/113 From duke at openjdk.java.net Fri Aug 30 17:39:00 2019 From: duke at openjdk.java.net (Jorn Vernee via github.com) Date: Fri, 30 Aug 2019 17:39:00 GMT Subject: RFR: Add tool for importing webrev patches In-Reply-To: <9_jEaW011lAaAzSAWpXvPnqXcL9y_7QmPQYoF2x_muk=.e85bd45a-725d-4ec5-b0df-dc72eb53ee43@github.com> References: <9_jEaW011lAaAzSAWpXvPnqXcL9y_7QmPQYoF2x_muk=.e85bd45a-725d-4ec5-b0df-dc72eb53ee43@github.com> Message-ID: The pull request has been updated with a complete new set of changes (possibly due to a rebase). ---------------- Commits: - db1e37a7: Reimplement webrev apply on top of the Repository API - 6bf09b1c: Moved wimport functionality to be under webrev apply - 7c9df222: - Specify -f option takes a path to a .patch file - Add missing space between }else - Move initializing of path variable inside of if block - 66c5dcc2: Wimport prototype Pull request: https://git.openjdk.java.net/skara/pull/32 Webrev: https://webrevs.openjdk.java.net/skara/32/webrev.04 Updated full patch: https://git.openjdk.java.net/skara/pull/32.diff Fetch command: git fetch https://git.openjdk.java.net/skara pull/32/head:pull/32