Merge branch 'pb/bisect'

* pb/bisect:
  Properly git-bisect reset after bisecting from non-master head
  git-commit: show dirtiness including index.
  Make pack-objects chattier.
This commit is contained in:
Junio C Hamano 2006-02-12 13:09:08 -08:00
commit eafaa043cd
3 changed files with 22 additions and 8 deletions

View File

@ -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"
}

View File

@ -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

View File

@ -5,7 +5,7 @@
#include "csum-file.h"
#include <sys/time.h>
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");