From: David Turner Date: Fri, 31 Jul 2015 21:15:12 GMT Subject: Re: [PATCH v3 1/2] worktrees: add die_if_shared_symref Message-ID: <1438377312.4735.10.camel@twopensource.com> In-Reply-To: On Fri, 2015-07-31 at 15:35 -0400, Eric Sunshine wrote: > On Fri, Jul 31, 2015 at 3:01 PM, David Turner wrote: > > Add a new function, die_if_shared_symref, which works like > > die_if_checked_out, but for all references. Refactor > > die_if_checked_out to work in terms of die_if_shared_symref. > > > > Soon, we will use die_if_shared_symref to protect notes merges in > > worktrees. > > I wonder if the diagnostic: > > 'blorp' is already checked out at '/path/name/' > > emitted by check_linked_checkout() needs to be adjusted for this > change. It still makes sense for die_if_checked_out(), but sounds odd > for die_if_shared_symref(). How about: 'refs/notes/y' is already referenced from 'NOTES_MERGE_REF' in '/home/dturner/git/t/trash directory.t3320-notes-merge-worktrees/' Does that make sense? It's not the only place in the error messages that mentions NOTES_MERGE_REF, so I think we expect users to understand NOTES_MERGE_REF. The alternative is to move the error handling to an even higher level so we can give a notes-specific message. I don't think that's necessary, but I'll do it if others do. > > + */ > > +extern void die_if_shared_symref(const char *symref, const char *branch); > > s/branch/referent/ or something? I went with "target" (by analogy to the target of a symlink).