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:
commit
eafaa043cd
@ -49,9 +49,16 @@ bisect_start() {
|
|||||||
die "Bad HEAD - I need a symbolic ref"
|
die "Bad HEAD - I need a symbolic ref"
|
||||||
case "$head" in
|
case "$head" in
|
||||||
refs/heads/bisect*)
|
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/*)
|
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"
|
die "Bad HEAD - strange symbolic ref"
|
||||||
@ -159,7 +166,11 @@ bisect_visualize() {
|
|||||||
|
|
||||||
bisect_reset() {
|
bisect_reset() {
|
||||||
case "$#" in
|
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" || {
|
1) test -f "$GIT_DIR/refs/heads/$1" || {
|
||||||
echo >&2 "$1 does not seem to be a valid branch"
|
echo >&2 "$1 does not seem to be a valid branch"
|
||||||
exit 1
|
exit 1
|
||||||
@ -170,7 +181,7 @@ bisect_reset() {
|
|||||||
esac
|
esac
|
||||||
git checkout "$branch" &&
|
git checkout "$branch" &&
|
||||||
rm -fr "$GIT_DIR/refs/bisect"
|
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"
|
rm -f "$GIT_DIR/BISECT_LOG"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -165,7 +165,8 @@ else
|
|||||||
exit 0
|
exit 0
|
||||||
)
|
)
|
||||||
saved_err=$?
|
saved_err=$?
|
||||||
git diff-files --name-status
|
test "$new" = "$old" ||
|
||||||
|
git diff-index --name-status "$new"
|
||||||
(exit $saved_err)
|
(exit $saved_err)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#include "csum-file.h"
|
#include "csum-file.h"
|
||||||
#include <sys/time.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 {
|
struct object_entry {
|
||||||
unsigned char sha1[20];
|
unsigned char sha1[20];
|
||||||
@ -27,7 +27,7 @@ static struct object_entry *objects = NULL;
|
|||||||
static int nr_objects = 0, nr_alloc = 0;
|
static int nr_objects = 0, nr_alloc = 0;
|
||||||
static const char *base_name;
|
static const char *base_name;
|
||||||
static unsigned char pack_file_sha1[20];
|
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)
|
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);
|
usage(pack_usage);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if (!strcmp("-q", arg)) {
|
||||||
|
progress = 0;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (!strcmp("--stdout", arg)) {
|
if (!strcmp("--stdout", arg)) {
|
||||||
pack_to_stdout = 1;
|
pack_to_stdout = 1;
|
||||||
continue;
|
continue;
|
||||||
@ -534,8 +538,6 @@ int main(int argc, char **argv)
|
|||||||
if (pack_to_stdout != !base_name)
|
if (pack_to_stdout != !base_name)
|
||||||
usage(pack_usage);
|
usage(pack_usage);
|
||||||
|
|
||||||
progress = isatty(2);
|
|
||||||
|
|
||||||
prepare_packed_git();
|
prepare_packed_git();
|
||||||
if (progress) {
|
if (progress) {
|
||||||
fprintf(stderr, "Generating pack...\n");
|
fprintf(stderr, "Generating pack...\n");
|
||||||
|
Loading…
Reference in New Issue
Block a user