Re: [PATCH] Add support for --wrt-author, --author and --exclude-author switches to git-rev-list
From: Jon Seymour <hidden>
Date: 2016-06-15 22:41:59
| not sure why, but my first attempt to post this to the list didn't seem to make it | I've also modified my response slightly to suggest an alternate name for the | --exclude-author swtich which may partly address pasky's concerns. amended | response marked with *** On 6/7/05, Petr Baudis [off-list ref] wrote:
I'd prefer just --wrt-author and --exclude-author to take an argument on their own.
The reason I don't want to do this is that it doesn't really make sense in the context of the change to specify one author for --wrt-author and another for --exclude-author. In normal use --author defaults to GIT_AUTHOR_EMAIL or the locally derived user@host.domain. The intention is simply to override this default derivation. *** That said, it might better if --exclude-author was called something like --following-author --after-author or --stop-at-author, since its meaning is to stop traversal rather than simply omit match entries which is the meaning that a reasonable user might attach to use of the word "exclude" My preference is --following-author. Thoughts anyone?
(Note that I don't endorse this patch and the --wrt-author behaviour in particular seems strange. I don't have enough time to comment on it sensibly now, though. I'm just focusing on style here since I'd like to still be able to read git's source code few weeks from now on.)
The rationale for the change is as follows: During parallel development, one is aware of ones own changes...everyone else changes haven't happened yet as far as you are concerned. Only when they appear in a future merge that incorporates one's own changes do the other changes appear in your own workspace. As far as you are concerned, these changes occurred after you made your own - your changes were not dependent on those changes, only on those that came before. So the linearisation reflects that perceived ordering of changes. --wrt-author helps to reconstruct the merge-history from the perspective of each individual committer. Let me know if this doesn't explain the rationale completely enough for your understanding. jon.