Matthias Lederhofer [off-list ref] writes:
Show parameters to execve/builtin-cmds before executing them. This
version does not yet have a parameter --trace to git to enable this I
just want to get feedback first :)
I think this is quite useful to debug what is going on since a command
may be another program (shell/python/perl/.. script etc) or just an
alias for a internal command. Before that many commands became
built-ins this was quite easy to do with strace.
Interesting. Debugging one's alias entries would be helped with
this I would imagine, and for that you would want something like
this:
Example:
% git showtag v1.4.1-rc1 > /dev/null
trace: exec: /home/matled/local/stow/git/bin/git-showtag v1.4.1-rc1
trace: exec failed: No such file or directory
* trace: expanded alias "showtag" => "cat-file tag"
trace: built-in command: git cat-file tag v1.4.1-rc1
By the way "git cat-file -p" or "git verify-tag -v" might be
more pleasant to view a tag since they make the tagger timestamp
human readable.
print_shell_escape will escape the arguments to be used as strings in
the shell to prevent ambiguity with spaces and other special
characters and make them copy-and-pastable.
Might be worth reusing quote.c::sq_quote(), perhaps?