threads / patch / 53215

patch, 15 partsRe: [PATCH 03/15] run-job: implement fetch job

Subject: Re: [PATCH 03/15] run-job: implement fetch job

## tl;dr

2 messages between Apr 13, 2020 and Apr 13, 2020. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Son Luong Ngoc· Apr 13, 2020, 13:15 UTC · lore
Hi Derrick,

First of all, thanks a ton for upstreaming this. Despite multiple complaints about re-implementing cron in git, I see this as a huge improvement to git UX and it is very much welcome change.

Show 5 quoted lines
> 3. By adding a new refspec "+refs/heads/*:refs/hidden/<remote>/*"
>    we can ensure that we actually load the new values somewhere in
>    our refspace while not updating refs/heads or refs/remotes. By
>    storing these refs here, the commit-graph job will update the
>    commit-graph with the commits from these hidden refs.

Ideally I think we want to let user configure which refs they want to prefetch with the default behavior being prefecting all HEADS available from remote. Using Facebook's Mercurial extension [RemoteFileLog](https://www.mercurial-scm.org/repo/hg/file/tip/hgext/remotefilelog/__init__.py#l31) as a UX reference, users should only prefetch the refs that they actually care about.

Show 6 quoted lines
> 1. One downside of the refs/hidden pattern is that 'git log' will
>    decorate commits with twice as many refs if they appear at a
>    remote ref (<remote>/<ref> _and_ refs/hidden/<remote>/<ref>). Is
>    there an easy way to exclude a refspace from decorations? Should
>    we make refs/hidden/* a "special" refspace that is excluded from
>    decorations?

In git-log, there is [--decorate-refs-exclude](https://git-scm.com/docs/git-log#Documentation/git-log.txt---decorate-refs-excludeltpatterngt) which I think we can move into git-config as `log.decorate-refs-exclude`? If you let the `prefetch refs` be configurable as I suggested above, I think it make sense to have the git-log exclusions being configurable as well.

Cheers, Son Luong.

Derrick Stolee· Apr 13, 2020, 14:14 UTC · re: Son Luong Ngoc · lore
On 4/13/2020 9:15 AM, Son Luong Ngoc wrote:
Show 18 quoted lines
> Hi Derrick,
> 
> First of all, thanks a ton for upstreaming this.
> Despite multiple complaints about re-implementing cron in git,
> I see this as a huge improvement to git UX and it is very much welcome change.
> 
>> 3. By adding a new refspec "+refs/heads/*:refs/hidden/<remote>/*"
>>    we can ensure that we actually load the new values somewhere in
>>    our refspace while not updating refs/heads or refs/remotes. By
>>    storing these refs here, the commit-graph job will update the
>>    commit-graph with the commits from these hidden refs.
> Ideally I think we want to let user configure which refs they want to
> prefetch with the default behavior being prefecting all HEADS
> available from remote.
> Using Facebook's Mercurial extension
> [RemoteFileLog](https://www.mercurial-scm.org/repo/hg/file/tip/hgext/remotefilelog/__init__.py#l31)
> as a UX reference,
> users should only prefetch the refs that they actually care about.

I will be sure to review this prior art before submitting an update to this series.

Show 13 quoted lines
>> 1. One downside of the refs/hidden pattern is that 'git log' will
>>    decorate commits with twice as many refs if they appear at a
>>    remote ref (<remote>/<ref> _and_ refs/hidden/<remote>/<ref>). Is
>>    there an easy way to exclude a refspace from decorations? Should
>>    we make refs/hidden/* a "special" refspace that is excluded from
>>    decorations?
> In git-log, there is
> [--decorate-refs-exclude](https://git-scm.com/docs/git-log#Documentation/git-log.txt---decorate-refs-excludeltpatterngt)
> which I think we can move into git-config as
> `log.decorate-refs-exclude`?
> If you let the `prefetch refs` be configurable as I suggested above, I
> think it make sense to have the git-log exclusions being configurable
> as well.

I was literally just working on exactly this when your message arrived. I was going to name the config option "log.decorateExclude".

Thanks, -Stolee

← back to recent threads