Browse Source

Merge branch 'maint-1.6.5' into maint-1.6.6

* maint-1.6.5:
  dwim_ref: fix dangling symref warning
  stash pop: remove 'apply' options during 'drop' invocation
  diff: make sure --output=/bad/path is caught
maint
Junio C Hamano 15 years ago
parent
commit
eb0bcd0fbe
  1. 2
      diff.c
  2. 7
      git-stash.sh
  3. 3
      sha1_name.c
  4. 9
      t/t3903-stash.sh

2
diff.c

@ -2855,6 +2855,8 @@ int diff_opt_parse(struct diff_options *options, const char **av, int ac) @@ -2855,6 +2855,8 @@ int diff_opt_parse(struct diff_options *options, const char **av, int ac)
;
else if (!prefixcmp(arg, "--output=")) {
options->file = fopen(arg + strlen("--output="), "w");
if (!options->file)
die_errno("Could not open '%s'", arg + strlen("--output="));
options->close_file = 1;
} else
return 0;

7
git-stash.sh

@ -221,6 +221,7 @@ show_stash () { @@ -221,6 +221,7 @@ show_stash () {
}

apply_stash () {
applied_stash=
unstash_index=

while test $# != 0
@ -242,6 +243,9 @@ apply_stash () { @@ -242,6 +243,9 @@ apply_stash () {
if test $# = 0
then
have_stash || die 'Nothing to apply'
applied_stash="$ref_stash@{0}"
else
applied_stash="$*"
fi

# stash records the work tree, and is a merge between the
@ -415,8 +419,7 @@ pop) @@ -415,8 +419,7 @@ pop)
shift
if apply_stash "$@"
then
test -z "$unstash_index" || shift
drop_stash "$@"
drop_stash "$applied_stash"
fi
;;
branch)

3
sha1_name.c

@ -278,8 +278,7 @@ int dwim_ref(const char *str, int len, unsigned char *sha1, char **ref) @@ -278,8 +278,7 @@ int dwim_ref(const char *str, int len, unsigned char *sha1, char **ref)
*ref = xstrdup(r);
if (!warn_ambiguous_refs)
break;
} else if ((flag & REF_ISSYMREF) &&
(len != 4 || strcmp(str, "HEAD")))
} else if ((flag & REF_ISSYMREF) && strcmp(fullref, "HEAD"))
warning("ignoring dangling symref %s.", fullref);
}
free(last_branch);

9
t/t3903-stash.sh

@ -194,6 +194,15 @@ test_expect_success 'pop -q is quiet' ' @@ -194,6 +194,15 @@ test_expect_success 'pop -q is quiet' '
test ! -s output.out
'

test_expect_success 'pop -q --index works and is quiet' '
echo foo > file &&
git add file &&
git stash save --quiet &&
git stash pop -q --index > output.out 2>&1 &&
test foo = "$(git show :file)" &&
test ! -s output.out
'

test_expect_success 'drop -q is quiet' '
git stash &&
git stash drop -q > output.out 2>&1 &&

Loading…
Cancel
Save