On Fri, Jan 12, 2018 at 1:56 AM, Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> wrote: > v3 turns a single patch into a series. Changes from v2 > > - env var quoting is now done correctly (from shell syntax perspective) > - the program name is prepended in git_cmd mode > - cwd is now printed too (because I have too, see 4/4) > - we don't blindly print the env delta anymore but print the actual > differences compared to parent env > - which means we also print "unset XXX" statements in $GIT_TRACE > > The new output on git.git looks like this > > trace: run_command: cd 'sha1collisiondetection'; unset GIT_PREFIX; GIT_DIR='.git' git 'status' '--porcelain=2' > > a bit longer than I would like, but that's because of > sha1collisiondetection and it's not long enough for me to invent > $GIT_TRACE_EXEC. > > I'm not adding "sh -c" back though because that looks like it should > be done in run_command.c itself, not just output tracing output. Wow! This is really cool. Thanks for your effort. (Also I learned today that I can just copy the command, up to now I always dequoted the commands when rerunning it for debugging as I assumed I had to) > > Oh.. before anybody asks, I'm not adding git prefix to the "cd" part. > You're supposed to know that git moves back to worktree top dir when > you read $GIT_TRACE (or are welcome to improve the print out). Heh. Would appending "; cd -" solve the issue? (Though I would argue we don't need or want to add that actually, as you'd want to copy and run the command and surely want to run more tests in that directory afterwards. I mean you're debugging, right?)