RFR: Save references to materialized branches locally
Robin Westberg
rwestberg at openjdk.java.net
Wed Nov 27 10:18:37 UTC 2019
On Wed, 27 Nov 2019 10:13:57 GMT, Erik Helin <ehelin at openjdk.org> wrote:
> On Wed, 27 Nov 2019 09:41:46 GMT, Robin Westberg <rwestberg at openjdk.org> wrote:
>
>> On Wed, 27 Nov 2019 09:37:28 GMT, Erik Helin <ehelin at openjdk.org> wrote:
>>
>>> On Tue, 26 Nov 2019 13:00:47 GMT, Robin Westberg <rwestberg at openjdk.org> wrote:
>>>
>>>> Hi all,
>>>>
>>>> Please review this change that ensure that when bots use `Repository.materialize`, they always save a named reference to what was fetched. This ensures that subsequent fetches will present these existing refs, and avoid re-fetching commits that already exist locally.
>>>>
>>>> It also fixes a potential bug where the mlbridge archive reader could have fetched from an incorrect branch.
>>>>
>>>> Best regards,
>>>> Robin
>>>>
>>>> ----------------
>>>>
>>>> Commits:
>>>> - 280c73b8: Use configurable ref for the mlbridge archive
>>>> - 6b707ae4: Specify a destination ref when using materialize
>>>>
>>>> Changes: https://git.openjdk.java.net/skara/pull/271/files
>>>> Webrev: https://webrevs.openjdk.java.net/skara/271/webrev.00
>>>> Stats: 54 lines in 14 files changed: 28 ins; 0 del; 26 mod
>>>> Patch: https://git.openjdk.java.net/skara/pull/271.diff
>>>> Fetch: git fetch https://git.openjdk.java.net/skara pull/271/head:pull/271
>>>
>>> bots/hgbridge/src/main/java/org/openjdk/skara/bots/hgbridge/ExporterConfig.java line 172:
>>>
>>>> 171: var localRepo = Repository.materialize(scratchPath, configurationRepo.url(),
>>>> 172: configurationRef + ":hgbridge_config_" + configurationRepo.name());
>>>> 173:
>>>
>>> Why no `+` here to to imply `--force` to `git fech`?
>>
>> No reason, good catch!
>
> Should we instead change `Repository.materialize` to always prepend the `+` to the refspec? Or do you think that makes it less clear at the call sites?
Not sure, it's something you only want if you have a target ref, and only if you are using git.. And since materialize is implemented as a default method in Repository, it might be a little odd to have that logic there. Perhaps it could be refactored to not be a default method though.
PR: https://git.openjdk.java.net/skara/pull/271
More information about the skara-dev
mailing list