Theodore Tso <tytso@xxxxxxx> writes: >> + ... If you want to format everything >> + since project inception to one commit, say "git format-patch >> + \--root <that-commit>", as showing the root commit as patch >> + requires \--root option anyway. > > Maybe the last sentence should be omitted? The fact that sometimes > you need to specify --root is pretty well hidden as a plumbing-level > option up until now,... True. I'll reword this part like so: 2. Generic <revision range> expression (see "SPECIFYING REVISIONS" section in gitlink:git-rev-parse[1]) means the commits in the specified range. A single commit, when interpreted as a <revision range> expression, means "everything that leads to that commit", but if you write 'git format-patch <commit>', the previous rule applies to that command line and you do not get "everything since the beginning of the time". If you want to format everything since project inception to one commit, say "git format-patch \--root <commit>" to make it clear that it is the latter case. > BTW, I'm probably missing some history here, but why isn't > --root/rev->show_root_diff=1 the default? Why do we have the > log.showroot config option; what are the circumstances when anyone > would want to set log.showroot to 0? I'd say that is tradition 50% and logic/preference 50%. For the people who prefer not to view the root commit log, it is not interesting to view project inception that most often is a huge tarball extract as a patch. But "format-patch --root this" is often used as "patch form export for me to allow recreating everything", so omitting the root commit would not make much sense in this case. - 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