Linus Torvalds <torvalds@xxxxxxxx> writes: > (a) git-rev-list --pretty=oneline "$upstream"..ORIG_HEAD > rev-list > > (b) edit the rev-list, moving the single lines around, deleting them, etc > > (c) cat rev-list | > git-format-patch -k --stdout --stdin --full_index | > git-am > > because the "--pretty=oneline" format is actually very nice as a way to > re-order things and select single commits to be deleted or whatever.. I am thinking about doing "format-patch --stdin" while I am futzing with it for other reasons, and one issue is where to "tac" the revision list. We could internally reverse topo-sort what we read from --stdin inside format-patch, but that would defeat the reordering that is done in the step (b) above, so that is not a useful thing to do. If we wanted to make rev-list piped straight to format-patch equilvalent to giving the arguments you would have given rev-list directly to format-patch, then format-patch should read --stdin and reverse the list before emitting them out. However, that would mean in the step (b) above the user needs to be conscious that the list being edited is in the reverse order, so if the list of commits needs to be reordered (and that is one of the reasons the user is doing this step) what comes earlier in the edited list will be output later in the result. Tentatively my feeling is that we should make it known that the list format-patch takes from --stdin is supposed to be _not_ reversed, and do nothing in format-patch. In other words, the list fed is a moral equivalent to quilt "series" file. What this means is: git-format-patch $revargs is not equivalent to git-rev-list $revargs | git-format-patch --stdin but is equivalent to git-rev-list $revargs | tac | git-format-patch --stdin Thoughts from the 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