diff --git a/git-bisect.sh b/git-bisect.sh index 51e1e4417d..3c024aae73 100755 --- a/git-bisect.sh +++ b/git-bisect.sh @@ -49,9 +49,16 @@ bisect_start() { die "Bad HEAD - I need a symbolic ref" case "$head" in refs/heads/bisect*) - git checkout master || exit + if [ -s "$GIT_DIR/head-name" ]; then + branch=`cat "$GIT_DIR/head-name"` + else + branch=master + fi + git checkout $branch || exit ;; refs/heads/*) + [ -s "$GIT_DIR/head-name" ] && die "won't bisect on seeked tree" + echo "$head" | sed 's#^refs/heads/##' >"$GIT_DIR/head-name" ;; *) die "Bad HEAD - strange symbolic ref" @@ -159,7 +166,11 @@ bisect_visualize() { bisect_reset() { case "$#" in - 0) branch=master ;; + 0) if [ -s "$GIT_DIR/head-name" ]; then + branch=`cat "$GIT_DIR/head-name"` + else + branch=master + fi ;; 1) test -f "$GIT_DIR/refs/heads/$1" || { echo >&2 "$1 does not seem to be a valid branch" exit 1 @@ -170,7 +181,7 @@ bisect_reset() { esac git checkout "$branch" && rm -fr "$GIT_DIR/refs/bisect" - rm -f "$GIT_DIR/refs/heads/bisect" + rm -f "$GIT_DIR/refs/heads/bisect" "$GIT_DIR/head-name" rm -f "$GIT_DIR/BISECT_LOG" } diff --git a/git-checkout.sh b/git-checkout.sh index d99688fbf2..6a87c717e9 100755 --- a/git-checkout.sh +++ b/git-checkout.sh @@ -165,7 +165,8 @@ else exit 0 ) saved_err=$? - git diff-files --name-status + test "$new" = "$old" || + git diff-index --name-status "$new" (exit $saved_err) fi diff --git a/pack-objects.c b/pack-objects.c index 2135e9a92e..c5a5e61605 100644 --- a/pack-objects.c +++ b/pack-objects.c @@ -5,7 +5,7 @@ #include "csum-file.h" #include -static const char pack_usage[] = "git-pack-objects [--non-empty] [--local] [--incremental] [--window=N] [--depth=N] {--stdout | base-name} < object-list"; +static const char pack_usage[] = "git-pack-objects [-q] [--non-empty] [--local] [--incremental] [--window=N] [--depth=N] {--stdout | base-name} < object-list"; struct object_entry { unsigned char sha1[20]; @@ -27,7 +27,7 @@ static struct object_entry *objects = NULL; static int nr_objects = 0, nr_alloc = 0; static const char *base_name; static unsigned char pack_file_sha1[20]; -static int progress = 0; +static int progress = 1; static void *delta_against(void *buf, unsigned long size, struct object_entry *entry) { @@ -520,6 +520,10 @@ int main(int argc, char **argv) usage(pack_usage); continue; } + if (!strcmp("-q", arg)) { + progress = 0; + continue; + } if (!strcmp("--stdout", arg)) { pack_to_stdout = 1; continue; @@ -534,8 +538,6 @@ int main(int argc, char **argv) if (pack_to_stdout != !base_name) usage(pack_usage); - progress = isatty(2); - prepare_packed_git(); if (progress) { fprintf(stderr, "Generating pack...\n");