From: Junio C Hamano Date: Sat, 20 Jan 2007 00:35:13 GMT Subject: Re: [PATCH] Lose perl dependency. (fwd) Message-ID: <7vvej2bkn2.fsf@assigned-by-dhcp.cox.net> In-Reply-To: Johannes Schindelin writes: >> I think this is sane but I hate to having to worry about >> possible fallouts from giving --reverse in setup_revisions() to >> make it available to everybody. E.g. things like "what happens >> when you say "git format-patch --reverse HEAD~3". > > It would > > 1) traverse all commits, storing them in a commit_list, > 2) reverse the commits, and then > 3) continue as before. > > So I don't really see a problem (after all, you don't have to use it if > you don't want to). Well, I understand what the code does, but what does the above three steps MEAN to the end users? In other words, if it does not make sense for format-patch to take --reverse, maybe we should keep it as an internal option, just like git-show is the only user of no-walk. And give option parsing for it for only selected commands (like rev-list) where it makes sense. I am sure you can come up with a reason why the above three steps are useful for the end user, and it could turn out to be a very valid reason. But format-patch was just one example. I will have to worry about all the users of revision traversal machinery. The end result might be "ok, we have spent quite a lot of time and audited every users of revision machinery and for all of them --reverse has some valid use cases." and that would be wonderful. But the thing is, I hate to having to worry about that right now.