Stephen R Guglielmo <srguglielmo@xxxxxxxxx> writes: > On Fri, Feb 23, 2018 at 5:45 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote: >... >> I am however starting to feel that >> ... >> may be a better approach. > ... > I'm happy to develop a new patch based on your recommendations. Should > it be on top of the previous patch I sent or should it replace the > previous patch? Even though I said "may be a better approach", to be bluntly honest, I do not think it is _that_ _much_ better than what you sent ;-) So please do the "on top of the previous patch" thing as an independent effort (not the "git log" workaround bugfix) only if you deeply care about improving "subtree" script (as opposed to just want to see the immediate glitch corrected to get on with your life---I happen to be in the latter category with respect to this issue). The independent effort's focus would instead be to improve the script not to make so heavy use of "git log" (and other Porcelain commands) in it, so that we do not have to tweak the script to undo improvements we will make to the Porcelain commands for better human experience in the future. Notice that one hunk in this patch is a small step in the direction; it stops using "git log -1" and uses "rev-parse" instead. For the remainder of the script, we need to identify how "git log" is used in the script and what they are used for, and then rewrite them with the more stable lower level interface. It is a very first step to mark invocation sites by replacing "git log" with "$git_log" ;-) The same may apply to uses of other Porcelain commands. A general rule is that scripts should avoid using Porcelain commands unless they are interested in giving output for human-consumption directly out of these commands (as opposed to running the Git commands and then reading their output and reacting to it). Thanks.