From: Junio C Hamano Date: Wed, 12 Aug 2015 22:41:28 GMT Subject: Re: [PATCH v4 4/4] notes: teach git-notes about notes..merge option Message-ID: In-Reply-To: Jacob Keller writes: > I spoke to soon. We have an "init_notes_check" function which shows > that it does refuse to merge outside of refs/notes/* It prevents all > notes operations outside of refs/notes OK. Then it is OK to limit notes..mergestrategy so that refers to what comes after refs/notes/, because we will not allow merging to happen outside the hierarchy. If you are planning to break that promise, however, must be always spelled fully (i.e. with refs/notes/ prefix for those inside the hierarchy) to avoid ambiguity. Otherwise it will be hard to interpret a configuration that does something like this (note that these could come from multiple places, e.g. $HOME/.gitconfig and $GIT_DIR/config): [notes "commits"] mergestrategy = concatenate [notes "notes/commits"] mergestrategy = cat_sort_uniq [notes "refs/notes/commits"] mergestrategy = overwrite The three entries in the above example obviously are all meant to refer to the same refs/notes/commits notes tree, and the usual "last one wins" rule should apply. But with the recent git_config_get_*() interface, you cannot tell which one among them was given the last, overriding the previous entries.