Merge branch 'en/git-debugger'
Dev support. * en/git-debugger: Make running git under other debugger-like programs easy
This commit is contained in:
commit
89753dc2b7
@ -145,12 +145,28 @@ test_pause () {
|
|||||||
"$SHELL_PATH" <&6 >&5 2>&7
|
"$SHELL_PATH" <&6 >&5 2>&7
|
||||||
}
|
}
|
||||||
|
|
||||||
# Wrap git in gdb. Adding this to a command can make it easier to
|
# Wrap git with a debugger. Adding this to a command can make it easier
|
||||||
# understand what is going on in a failing test.
|
# to understand what is going on in a failing test.
|
||||||
#
|
#
|
||||||
# Example: "debug git checkout master".
|
# Examples:
|
||||||
|
# debug git checkout master
|
||||||
|
# debug --debugger=nemiver git $ARGS
|
||||||
|
# debug -d "valgrind --tool=memcheck --track-origins=yes" git $ARGS
|
||||||
debug () {
|
debug () {
|
||||||
GIT_TEST_GDB=1 "$@" <&6 >&5 2>&7
|
case "$1" in
|
||||||
|
-d)
|
||||||
|
GIT_DEBUGGER="$2" &&
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
--debugger=*)
|
||||||
|
GIT_DEBUGGER="${1#*=}" &&
|
||||||
|
shift 1
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
GIT_DEBUGGER=1
|
||||||
|
;;
|
||||||
|
esac &&
|
||||||
|
GIT_DEBUGGER="${GIT_DEBUGGER}" "$@" <&6 >&5 2>&7
|
||||||
}
|
}
|
||||||
|
|
||||||
# Call test_commit with the arguments
|
# Call test_commit with the arguments
|
||||||
|
@ -20,10 +20,17 @@ PATH='@@BUILD_DIR@@/bin-wrappers:'"$PATH"
|
|||||||
|
|
||||||
export GIT_EXEC_PATH GITPERLLIB PATH GIT_TEXTDOMAINDIR
|
export GIT_EXEC_PATH GITPERLLIB PATH GIT_TEXTDOMAINDIR
|
||||||
|
|
||||||
if test -n "$GIT_TEST_GDB"
|
case "$GIT_DEBUGGER" in
|
||||||
then
|
'')
|
||||||
unset GIT_TEST_GDB
|
|
||||||
exec gdb --args "${GIT_EXEC_PATH}/@@PROG@@" "$@"
|
|
||||||
else
|
|
||||||
exec "${GIT_EXEC_PATH}/@@PROG@@" "$@"
|
exec "${GIT_EXEC_PATH}/@@PROG@@" "$@"
|
||||||
fi
|
;;
|
||||||
|
1)
|
||||||
|
unset GIT_DEBUGGER
|
||||||
|
exec gdb --args "${GIT_EXEC_PATH}/@@PROG@@" "$@"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
GIT_DEBUGGER_ARGS="$GIT_DEBUGGER"
|
||||||
|
unset GIT_DEBUGGER
|
||||||
|
exec ${GIT_DEBUGGER_ARGS} "${GIT_EXEC_PATH}/@@PROG@@" "$@"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
Loading…
Reference in New Issue
Block a user