mirror of
https://github.com/git/git
synced 2024-08-28 03:59:25 +00:00
Merge branch 'maint'
* maint: Update release notes for 1.6.0.3 Teach rebase -i to honor pre-rebase hook docs: describe pre-rebase hook do not segfault if make_cache_entry failed make prefix_path() never return NULL fix bogus "diff --git" header from "diff --no-index" Fix fetch/clone --quiet when stdout is connected builtin-blame: Fix blame -C -C with submodules. bash: remove fetch, push, pull dashed form leftovers Conflicts: diff.c
This commit is contained in:
commit
276328ffb8
|
@ -13,33 +13,83 @@ Fixes since v1.6.0.2
|
||||||
* Continuing "git rebase -i" was also very confused when the user left
|
* Continuing "git rebase -i" was also very confused when the user left
|
||||||
some staged changes in the index after "edit".
|
some staged changes in the index after "edit".
|
||||||
|
|
||||||
|
* "git rebase -i" now honors the pre-rebase hook, just like the
|
||||||
|
other rebase implementations "git rebase" and "git rebase -m".
|
||||||
|
|
||||||
* Behaviour of "git diff --quiet" was inconsistent with "diff --exit-code"
|
* Behaviour of "git diff --quiet" was inconsistent with "diff --exit-code"
|
||||||
with the output redirected to /dev/null.
|
with the output redirected to /dev/null.
|
||||||
|
|
||||||
|
* "git diff --no-index" on binary files no longer outputs a bogus
|
||||||
|
"diff --git" header line.
|
||||||
|
|
||||||
|
* Hunk headers in "git diff" default to using extended regular
|
||||||
|
expressions, fixing some of the internal patterns on non-GNU
|
||||||
|
platforms.
|
||||||
|
|
||||||
|
* New config "diff.*.xfuncname" exposes extended regular expressions
|
||||||
|
for user specified hunk header patterns.
|
||||||
|
|
||||||
* "git stash apply sash@{1}" was fixed to error out. Prior versions
|
* "git stash apply sash@{1}" was fixed to error out. Prior versions
|
||||||
would have applied stash@{0} incorrectly.
|
would have applied stash@{0} incorrectly.
|
||||||
|
|
||||||
|
* "git stash apply" now offers a better suggestion on how to continue
|
||||||
|
if the working tree is currently dirty.
|
||||||
|
|
||||||
* "git for-each-ref --format=%(subject)" fixed for commits with no
|
* "git for-each-ref --format=%(subject)" fixed for commits with no
|
||||||
no newline in the message body.
|
no newline in the message body.
|
||||||
|
|
||||||
* "git remote" fixed to protect printf from user input.
|
* "git remote" fixed to protect printf from user input.
|
||||||
|
|
||||||
|
* "git remote show -v" now displays all URLs of a remote.
|
||||||
|
|
||||||
* "git checkout -q" once again suppresses the locally modified file list.
|
* "git checkout -q" once again suppresses the locally modified file list.
|
||||||
|
|
||||||
|
* "git clone -q", "git fetch -q" asks remote side to not send
|
||||||
|
progress messages, actually making their output quiet.
|
||||||
|
|
||||||
* Cross-directory renames are no longer used when creating packs. This
|
* Cross-directory renames are no longer used when creating packs. This
|
||||||
allows more graceful behavior on filesystems like sshfs.
|
allows more graceful behavior on filesystems like sshfs.
|
||||||
|
|
||||||
* Stale temporary files under $GIT_DIR/objects/pack are now cleaned up
|
* Stale temporary files under $GIT_DIR/objects/pack are now cleaned up
|
||||||
automatically by "git prune".
|
automatically by "git prune".
|
||||||
|
|
||||||
|
* "git merge" once agrain removes directories after the last file has
|
||||||
|
been removed from it during the merge.
|
||||||
|
|
||||||
|
* "git blame -C -C" no longer segfaults while trying to pass blame if
|
||||||
|
it encounters a submodule reference.
|
||||||
|
|
||||||
|
* "git svn" fixed to display an error message when 'set-tree' failed,
|
||||||
|
instead of a Perl compile error.
|
||||||
|
|
||||||
|
* "git submodule" fixed to handle checking out a different commit
|
||||||
|
than HEAD after initializing the submodule.
|
||||||
|
|
||||||
|
* The "git commit" error message when there are still unmerged
|
||||||
|
files present was clarified to match "git write-tree".
|
||||||
|
|
||||||
|
* Some segfaults due to uncaught NULL pointers were fixed multiple
|
||||||
|
tools such as apply, reset, update-index.
|
||||||
|
|
||||||
|
* Solaris bulds now default to OLD_ICONV=1 to avoid compile warnings.
|
||||||
|
|
||||||
* "Git.pm" tests relied on unnecessarily more recent version of Perl.
|
* "Git.pm" tests relied on unnecessarily more recent version of Perl.
|
||||||
|
|
||||||
* "gitweb" triggered undef warning on commits without log messages.
|
* "gitweb" triggered undef warning on commits without log messages.
|
||||||
|
|
||||||
|
* "gitweb" triggered undef warnings on missing trees.
|
||||||
|
|
||||||
|
* "gitweb" now removes PATH_INFO from its URLs so users don't have
|
||||||
|
to manually set the url in the gitweb configuration.
|
||||||
|
|
||||||
|
* Bash completion removed support for legacy "git-fetch", "git-push"
|
||||||
|
and "git-pull" as these are no longer installed. Dashless form
|
||||||
|
("git fetch") is still however supported.
|
||||||
|
|
||||||
Many other documentation updates.
|
Many other documentation updates.
|
||||||
|
|
||||||
--
|
--
|
||||||
exec >/var/tmp/1
|
exec >/var/tmp/1
|
||||||
O=v1.6.0.2-41-g7fe4a72
|
O=v1.6.0.2-76-gd70b4a8
|
||||||
echo O=$(git describe maint)
|
echo O=$(git describe maint)
|
||||||
git shortlog --no-merges $O..maint
|
git shortlog --no-merges $O..maint
|
||||||
|
|
|
@ -130,6 +130,13 @@ parameter, and is invoked after a commit is made.
|
||||||
This hook is meant primarily for notification, and cannot affect
|
This hook is meant primarily for notification, and cannot affect
|
||||||
the outcome of 'git-commit'.
|
the outcome of 'git-commit'.
|
||||||
|
|
||||||
|
pre-rebase
|
||||||
|
----------
|
||||||
|
|
||||||
|
This hook is called by 'git-rebase' and can be used to prevent a branch
|
||||||
|
from getting rebased.
|
||||||
|
|
||||||
|
|
||||||
post-checkout
|
post-checkout
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
|
|
|
@ -1132,6 +1132,8 @@ static int find_copy_in_parent(struct scoreboard *sb,
|
||||||
|
|
||||||
if (!DIFF_FILE_VALID(p->one))
|
if (!DIFF_FILE_VALID(p->one))
|
||||||
continue; /* does not exist in parent */
|
continue; /* does not exist in parent */
|
||||||
|
if (S_ISGITLINK(p->one->mode))
|
||||||
|
continue; /* ignore git links */
|
||||||
if (porigin && !strcmp(p->one->path, porigin->path))
|
if (porigin && !strcmp(p->one->path, porigin->path))
|
||||||
/* find_move already dealt with this path */
|
/* find_move already dealt with this path */
|
||||||
continue;
|
continue;
|
||||||
|
|
|
@ -785,14 +785,9 @@ _git_fetch ()
|
||||||
{
|
{
|
||||||
local cur="${COMP_WORDS[COMP_CWORD]}"
|
local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||||
|
|
||||||
case "${COMP_WORDS[0]},$COMP_CWORD" in
|
if [ "$COMP_CWORD" = 2 ]; then
|
||||||
git-fetch*,1)
|
|
||||||
__gitcomp "$(__git_remotes)"
|
__gitcomp "$(__git_remotes)"
|
||||||
;;
|
else
|
||||||
git,2)
|
|
||||||
__gitcomp "$(__git_remotes)"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
case "$cur" in
|
case "$cur" in
|
||||||
*:*)
|
*:*)
|
||||||
local pfx=""
|
local pfx=""
|
||||||
|
@ -811,8 +806,7 @@ _git_fetch ()
|
||||||
__gitcomp "$(__git_refs2 "$remote")"
|
__gitcomp "$(__git_refs2 "$remote")"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
fi
|
||||||
esac
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_git_format_patch ()
|
_git_format_patch ()
|
||||||
|
@ -1049,36 +1043,25 @@ _git_pull ()
|
||||||
{
|
{
|
||||||
local cur="${COMP_WORDS[COMP_CWORD]}"
|
local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||||
|
|
||||||
case "${COMP_WORDS[0]},$COMP_CWORD" in
|
if [ "$COMP_CWORD" = 2 ]; then
|
||||||
git-pull*,1)
|
|
||||||
__gitcomp "$(__git_remotes)"
|
__gitcomp "$(__git_remotes)"
|
||||||
;;
|
else
|
||||||
git,2)
|
|
||||||
__gitcomp "$(__git_remotes)"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
local remote
|
local remote
|
||||||
case "${COMP_WORDS[0]}" in
|
case "${COMP_WORDS[0]}" in
|
||||||
git-pull) remote="${COMP_WORDS[1]}" ;;
|
git-pull) remote="${COMP_WORDS[1]}" ;;
|
||||||
git) remote="${COMP_WORDS[2]}" ;;
|
git) remote="${COMP_WORDS[2]}" ;;
|
||||||
esac
|
esac
|
||||||
__gitcomp "$(__git_refs "$remote")"
|
__gitcomp "$(__git_refs "$remote")"
|
||||||
;;
|
fi
|
||||||
esac
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_git_push ()
|
_git_push ()
|
||||||
{
|
{
|
||||||
local cur="${COMP_WORDS[COMP_CWORD]}"
|
local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||||
|
|
||||||
case "${COMP_WORDS[0]},$COMP_CWORD" in
|
if [ "$COMP_CWORD" = 2 ]; then
|
||||||
git-push*,1)
|
|
||||||
__gitcomp "$(__git_remotes)"
|
__gitcomp "$(__git_remotes)"
|
||||||
;;
|
else
|
||||||
git,2)
|
|
||||||
__gitcomp "$(__git_remotes)"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
case "$cur" in
|
case "$cur" in
|
||||||
*:*)
|
*:*)
|
||||||
local remote
|
local remote
|
||||||
|
@ -1102,8 +1085,7 @@ _git_push ()
|
||||||
__gitcomp "$(__git_refs)"
|
__gitcomp "$(__git_refs)"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
fi
|
||||||
esac
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_git_rebase ()
|
_git_rebase ()
|
||||||
|
|
4
diff.c
4
diff.c
|
@ -1509,6 +1509,10 @@ static void builtin_diff(const char *name_a,
|
||||||
b_prefix = o->b_prefix;
|
b_prefix = o->b_prefix;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Never use a non-valid filename anywhere if at all possible */
|
||||||
|
name_a = DIFF_FILE_VALID(one) ? name_a : name_b;
|
||||||
|
name_b = DIFF_FILE_VALID(two) ? name_b : name_a;
|
||||||
|
|
||||||
a_one = quote_two(a_prefix, name_a + (*name_a == '/'));
|
a_one = quote_two(a_prefix, name_a + (*name_a == '/'));
|
||||||
b_two = quote_two(b_prefix, name_b + (*name_b == '/'));
|
b_two = quote_two(b_prefix, name_b + (*name_b == '/'));
|
||||||
lbl[0] = DIFF_FILE_VALID(one) ? a_one : "/dev/null";
|
lbl[0] = DIFF_FILE_VALID(one) ? a_one : "/dev/null";
|
||||||
|
|
|
@ -65,6 +65,16 @@ output () {
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
run_pre_rebase_hook () {
|
||||||
|
if test -x "$GIT_DIR/hooks/pre-rebase"
|
||||||
|
then
|
||||||
|
"$GIT_DIR/hooks/pre-rebase" ${1+"$@"} || {
|
||||||
|
echo >&2 "The pre-rebase hook refused to rebase."
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
require_clean_work_tree () {
|
require_clean_work_tree () {
|
||||||
# test if working tree is dirty
|
# test if working tree is dirty
|
||||||
git rev-parse --verify HEAD > /dev/null &&
|
git rev-parse --verify HEAD > /dev/null &&
|
||||||
|
@ -507,6 +517,7 @@ first and then run 'git rebase --continue' again."
|
||||||
;;
|
;;
|
||||||
--)
|
--)
|
||||||
shift
|
shift
|
||||||
|
run_pre_rebase_hook ${1+"$@"}
|
||||||
test $# -eq 1 -o $# -eq 2 || usage
|
test $# -eq 1 -o $# -eq 2 || usage
|
||||||
test -d "$DOTEST" &&
|
test -d "$DOTEST" &&
|
||||||
die "Interactive rebase already started"
|
die "Interactive rebase already started"
|
||||||
|
|
|
@ -144,6 +144,16 @@ is_interactive () {
|
||||||
done && test -n "$1"
|
done && test -n "$1"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
run_pre_rebase_hook () {
|
||||||
|
if test -x "$GIT_DIR/hooks/pre-rebase"
|
||||||
|
then
|
||||||
|
"$GIT_DIR/hooks/pre-rebase" ${1+"$@"} || {
|
||||||
|
echo >&2 "The pre-rebase hook refused to rebase."
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
test -f "$GIT_DIR"/rebase-apply/applying &&
|
test -f "$GIT_DIR"/rebase-apply/applying &&
|
||||||
die 'It looks like git-am is in progress. Cannot rebase.'
|
die 'It looks like git-am is in progress. Cannot rebase.'
|
||||||
|
|
||||||
|
@ -320,13 +330,7 @@ onto_name=${newbase-"$upstream_name"}
|
||||||
onto=$(git rev-parse --verify "${onto_name}^0") || exit
|
onto=$(git rev-parse --verify "${onto_name}^0") || exit
|
||||||
|
|
||||||
# If a hook exists, give it a chance to interrupt
|
# If a hook exists, give it a chance to interrupt
|
||||||
if test -x "$GIT_DIR/hooks/pre-rebase"
|
run_pre_rebase_hook ${1+"$@"}
|
||||||
then
|
|
||||||
"$GIT_DIR/hooks/pre-rebase" ${1+"$@"} || {
|
|
||||||
echo >&2 "The pre-rebase hook refused to rebase."
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# If the branch to rebase is given, that is the branch we will rebase
|
# If the branch to rebase is given, that is the branch we will rebase
|
||||||
# $branch_name -- branch being rebased, or HEAD (already detached)
|
# $branch_name -- branch being rebased, or HEAD (already detached)
|
||||||
|
|
9
setup.c
9
setup.c
|
@ -110,9 +110,7 @@ const char *prefix_path(const char *prefix, int len, const char *path)
|
||||||
if (strncmp(sanitized, work_tree, len) ||
|
if (strncmp(sanitized, work_tree, len) ||
|
||||||
(sanitized[len] != '\0' && sanitized[len] != '/')) {
|
(sanitized[len] != '\0' && sanitized[len] != '/')) {
|
||||||
error_out:
|
error_out:
|
||||||
error("'%s' is outside repository", orig);
|
die("'%s' is outside repository", orig);
|
||||||
free(sanitized);
|
|
||||||
return NULL;
|
|
||||||
}
|
}
|
||||||
if (sanitized[len] == '/')
|
if (sanitized[len] == '/')
|
||||||
len++;
|
len++;
|
||||||
|
@ -216,10 +214,7 @@ const char **get_pathspec(const char *prefix, const char **pathspec)
|
||||||
prefixlen = prefix ? strlen(prefix) : 0;
|
prefixlen = prefix ? strlen(prefix) : 0;
|
||||||
while (*src) {
|
while (*src) {
|
||||||
const char *p = prefix_path(prefix, prefixlen, *src);
|
const char *p = prefix_path(prefix, prefixlen, *src);
|
||||||
if (p)
|
*(dst++) = p;
|
||||||
*(dst++) = p;
|
|
||||||
else
|
|
||||||
exit(128); /* error message already given */
|
|
||||||
src++;
|
src++;
|
||||||
}
|
}
|
||||||
*dst = NULL;
|
*dst = NULL;
|
||||||
|
|
126
t/t3409-rebase-hook.sh
Executable file
126
t/t3409-rebase-hook.sh
Executable file
|
@ -0,0 +1,126 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
test_description='git rebase with its hook(s)'
|
||||||
|
|
||||||
|
. ./test-lib.sh
|
||||||
|
|
||||||
|
test_expect_success setup '
|
||||||
|
echo hello >file &&
|
||||||
|
git add file &&
|
||||||
|
test_tick &&
|
||||||
|
git commit -m initial &&
|
||||||
|
echo goodbye >file &&
|
||||||
|
git add file &&
|
||||||
|
test_tick &&
|
||||||
|
git commit -m second &&
|
||||||
|
git checkout -b side HEAD^ &&
|
||||||
|
echo world >git &&
|
||||||
|
git add git &&
|
||||||
|
test_tick &&
|
||||||
|
git commit -m side &&
|
||||||
|
git checkout master &&
|
||||||
|
git log --pretty=oneline --abbrev-commit --graph --all &&
|
||||||
|
git branch test side
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'rebase' '
|
||||||
|
git checkout test &&
|
||||||
|
git reset --hard side &&
|
||||||
|
git rebase master &&
|
||||||
|
test "z$(cat git)" = zworld
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'rebase -i' '
|
||||||
|
git checkout test &&
|
||||||
|
git reset --hard side &&
|
||||||
|
EDITOR=true git rebase -i master &&
|
||||||
|
test "z$(cat git)" = zworld
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'setup pre-rebase hook' '
|
||||||
|
mkdir -p .git/hooks &&
|
||||||
|
cat >.git/hooks/pre-rebase <<EOF &&
|
||||||
|
#!$SHELL_PATH
|
||||||
|
echo "\$1,\$2" >.git/PRE-REBASE-INPUT
|
||||||
|
EOF
|
||||||
|
chmod +x .git/hooks/pre-rebase
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'pre-rebase hook gets correct input (1)' '
|
||||||
|
git checkout test &&
|
||||||
|
git reset --hard side &&
|
||||||
|
git rebase master &&
|
||||||
|
test "z$(cat git)" = zworld &&
|
||||||
|
test "z$(cat .git/PRE-REBASE-INPUT)" = zmaster,
|
||||||
|
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'pre-rebase hook gets correct input (2)' '
|
||||||
|
git checkout test &&
|
||||||
|
git reset --hard side &&
|
||||||
|
git rebase master test &&
|
||||||
|
test "z$(cat git)" = zworld &&
|
||||||
|
test "z$(cat .git/PRE-REBASE-INPUT)" = zmaster,test
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'pre-rebase hook gets correct input (3)' '
|
||||||
|
git checkout test &&
|
||||||
|
git reset --hard side &&
|
||||||
|
git checkout master &&
|
||||||
|
git rebase master test &&
|
||||||
|
test "z$(cat git)" = zworld &&
|
||||||
|
test "z$(cat .git/PRE-REBASE-INPUT)" = zmaster,test
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'pre-rebase hook gets correct input (4)' '
|
||||||
|
git checkout test &&
|
||||||
|
git reset --hard side &&
|
||||||
|
EDITOR=true git rebase -i master &&
|
||||||
|
test "z$(cat git)" = zworld &&
|
||||||
|
test "z$(cat .git/PRE-REBASE-INPUT)" = zmaster,
|
||||||
|
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'pre-rebase hook gets correct input (5)' '
|
||||||
|
git checkout test &&
|
||||||
|
git reset --hard side &&
|
||||||
|
EDITOR=true git rebase -i master test &&
|
||||||
|
test "z$(cat git)" = zworld &&
|
||||||
|
test "z$(cat .git/PRE-REBASE-INPUT)" = zmaster,test
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'pre-rebase hook gets correct input (6)' '
|
||||||
|
git checkout test &&
|
||||||
|
git reset --hard side &&
|
||||||
|
git checkout master &&
|
||||||
|
EDITOR=true git rebase -i master test &&
|
||||||
|
test "z$(cat git)" = zworld &&
|
||||||
|
test "z$(cat .git/PRE-REBASE-INPUT)" = zmaster,test
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'setup pre-rebase hook that fails' '
|
||||||
|
mkdir -p .git/hooks &&
|
||||||
|
cat >.git/hooks/pre-rebase <<EOF &&
|
||||||
|
#!$SHELL_PATH
|
||||||
|
false
|
||||||
|
EOF
|
||||||
|
chmod +x .git/hooks/pre-rebase
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'pre-rebase hook stops rebase (1)' '
|
||||||
|
git checkout test &&
|
||||||
|
git reset --hard side &&
|
||||||
|
test_must_fail git rebase master &&
|
||||||
|
test "z$(git symbolic-ref HEAD)" = zrefs/heads/test &&
|
||||||
|
test 0 = $(git rev-list HEAD...side | wc -l)
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'pre-rebase hook stops rebase (2)' '
|
||||||
|
git checkout test &&
|
||||||
|
git reset --hard side &&
|
||||||
|
EDITOR=true test_must_fail git rebase -i master &&
|
||||||
|
test "z$(git symbolic-ref HEAD)" = zrefs/heads/test &&
|
||||||
|
test 0 = $(git rev-list HEAD...side | wc -l)
|
||||||
|
'
|
||||||
|
|
||||||
|
test_done
|
|
@ -77,4 +77,25 @@ test_expect_success 'apply binary patch' \
|
||||||
tree1=`git write-tree` &&
|
tree1=`git write-tree` &&
|
||||||
test "$tree1" = "$tree0"'
|
test "$tree1" = "$tree0"'
|
||||||
|
|
||||||
|
q_to_nul() {
|
||||||
|
perl -pe 'y/Q/\000/'
|
||||||
|
}
|
||||||
|
|
||||||
|
nul_to_q() {
|
||||||
|
perl -pe 'y/\000/Q/'
|
||||||
|
}
|
||||||
|
|
||||||
|
test_expect_success 'diff --no-index with binary creation' '
|
||||||
|
echo Q | q_to_nul >binary &&
|
||||||
|
(:# hide error code from diff, which just indicates differences
|
||||||
|
git diff --binary --no-index /dev/null binary >current ||
|
||||||
|
true
|
||||||
|
) &&
|
||||||
|
rm binary &&
|
||||||
|
git apply --binary <current &&
|
||||||
|
echo Q >expected &&
|
||||||
|
nul_to_q <binary >actual &&
|
||||||
|
test_cmp expected actual
|
||||||
|
'
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
|
|
@ -643,8 +643,8 @@ static int fetch_refs_via_pack(struct transport *transport,
|
||||||
args.use_thin_pack = data->thin;
|
args.use_thin_pack = data->thin;
|
||||||
args.include_tag = data->followtags;
|
args.include_tag = data->followtags;
|
||||||
args.verbose = (transport->verbose > 0);
|
args.verbose = (transport->verbose > 0);
|
||||||
args.quiet = args.no_progress = (transport->verbose < 0);
|
args.quiet = (transport->verbose < 0);
|
||||||
args.no_progress = !isatty(1);
|
args.no_progress = args.quiet || !isatty(1);
|
||||||
args.depth = data->depth;
|
args.depth = data->depth;
|
||||||
|
|
||||||
for (i = 0; i < nr_heads; i++)
|
for (i = 0; i < nr_heads; i++)
|
||||||
|
|
Loading…
Reference in a new issue