Re: improvements to checks for core.notesRef / GIT_NOTES_REF / --ref

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Apr 30, 2013 at 02:32:33AM +0200, Johan Herland wrote:
> On Mon, Apr 29, 2013 at 11:40 PM, Adam Spiers <git@xxxxxxxxxxxxxx> wrote:

[snipped]

> > IMHO the more similar the merge's user experience is to a standard
> > merge, the better, since that would minimise the number of merging
> > workflows the user needs to learn.
> >
> > On this theme, I think ideally rebase should be supported too, and
> 
> IMHO the general discussion about rebase vs. merge is mostly about the
> shape of the resulting history. When it comes to notes, I have yet to
> see a use case where anybody really cares about the shape of the notes
> history, and hence I don't yet see how rebase would be useful for
> notes. In fact, it rather seems some people are more interested in
> storing their notes trees without any history at all (ISTR a
> discussion regarding the notes-cache feature, where we did NOT want to
> keep earlier versions of the cache alive).

That's a fair point; lack of rebase is certainly not a showstopper.
In contrast, in our use case, a total lack of history could be quite
annoying.

> > I also have to manually update the fake tracking "branch":
> >
> >     git update-ref refs/notes/$remote/$GIT_NOTES_REF refs/notes/$GIT_NOTES_REF
> >
> >     # or if I want to make really sure this only happens if the push worked
> >     git fetch $remote refs/notes/$GIT_NOTES_REF:refs/notes/$remote/$GIT_NOTES_REF
> >
> > That's pretty ugly.  Couldn't we instead just reuse the existing
> > mechanisms?
> >
> >     remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
> >     remote.origin.fetch=+refs/notes/*:refs/note-remotes/origin/*
> 
> The remote refs namespace idea aims to solve this by providing refspecs like
> 
>     remote.origin.fetch=+refs/heads/*:refs/remotes/origin/heads/*
>     remote.origin.fetch=+refs/tags/*:refs/remotes/origin/tags/*
>     remote.origin.fetch=+refs/notes/*:refs/remotes/origin/notes/*
>     remote.origin.fetch=+refs/replace/*:refs/remotes/origin/replace/*
>     etc.
> 
> I'm currently working on some patches to make git work well in repos
> with those kinds of refspecs. I see that as the first step on the way
> to properly supporting remote ref namespaces.
> 
> >     branch.notes/commits.remote=origin
> >     branch.notes/commits.merge=refs/notes/commits
> 
> This looks like an natural extension of the branch upstream mechanism
> for notes. Personally, I'd rather have it look more like this:
> 
>   [notes "commits"]
>         remote = origin
>         merge = refs/notes/commits
> 
> or, in your notation:
> 
>     notes.commits.remote=origin
>     notes.commits.merge=refs/notes/commits

Ahah yes, that's nicer.  Thanks for the reply!
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]