On Fri, May 30, 2008 at 01:20:13PM -0700, Linus Torvalds wrote: > On Fri, 30 May 2008, Petr Baudis wrote: > > Step back a bit: it's git-_REV_-list. Technically, --all --objects is > > nonsensical operation to do on revision list either. > > Who cares? You did in case of git log. > Why are you arguing against *facts*? > > The *fact* is, git rev-list can traverse the whole object chain. > > The *fact* is that git rev-list can do other operations that have nothing > to do with logs (bisection, for example). > > The *fact* is that both git rev-list and git log can traverse a set of > revisions, but that doesn't make them the same command. Huh? Of course these are facts, but I don't see what does that have to do with anything. I'm not arguing this isn't so, I'm arguing it _is_ so and some of it is _wrong_ from user interface standpoint. > I totally don't see your arguments. They are pointless. git rev-list and > git log already share all the relevant internal machinery for the things > where they overlap in capabilities. And the fact that they output > different things is because they are different. My argument is that there should not be two different commands with similar interface and almost similar feature set when a single interface would be more than enough - no matter if it is UI or an API, redundant interfaces mean more clutter for users (or developers) to wade through and more bitrot for the project. After all, as I said - when I've hit the rev-list / log inconsitencies, I was not looking for UI but indeed for an internal helper. Having said that, I'm fine with Junio's argument that we need to keep git-rev-list for compatibility reasons as long as the relationship between git-rev-list and git-log is more clearly documented; I would be happier if the few remaining options would get implemented for git-log and git-rev-list got deprecated (which does not mean removing it right away; git-ssh-push was removed after two years), but I don't care that much as to flame on, it's too hot over here in Central Europe already. :-) I will send some documentation patches soon. By the way, is git log regarded as porcelain or plumbing? That is, are there any guarantees about stability of git log output format etc.? Can I use git log in my script and rely on it to behave forever exactly as it does now? (Modulo bugfixes.) -- Petr "Pasky" Baudis Whatever you can do, or dream you can, begin it. Boldness has genius, power, and magic in it. -- J. W. von Goethe -- 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