builtin-fetch.c (store_updated_refs): Honor update_local_ref() return value
Sync with builtin-fetch--tool.c where append_fetch_head() honors update_local_ref() return value. This fixes non fast forward fetch exit status, http://bugzilla.altlinux.org/show_bug.cgi?id=15037 Signed-off-by: Dmitry V. Levin <ldv@altlinux.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
6eec46bdda
commit
efb98b4453
@ -286,7 +286,7 @@ static int store_updated_refs(const char *url, struct ref *ref_map)
|
||||
{
|
||||
FILE *fp;
|
||||
struct commit *commit;
|
||||
int url_len, i, note_len, shown_url = 0;
|
||||
int url_len, i, note_len, shown_url = 0, rc = 0;
|
||||
char note[1024];
|
||||
const char *what, *kind;
|
||||
struct ref *rm;
|
||||
@ -353,7 +353,7 @@ static int store_updated_refs(const char *url, struct ref *ref_map)
|
||||
note);
|
||||
|
||||
if (ref)
|
||||
update_local_ref(ref, what, verbose, note);
|
||||
rc |= update_local_ref(ref, what, verbose, note);
|
||||
else
|
||||
sprintf(note, "* %-*s %-*s -> FETCH_HEAD",
|
||||
SUMMARY_WIDTH, *kind ? kind : "branch",
|
||||
@ -368,7 +368,7 @@ static int store_updated_refs(const char *url, struct ref *ref_map)
|
||||
}
|
||||
}
|
||||
fclose(fp);
|
||||
return 0;
|
||||
return rc;
|
||||
}
|
||||
|
||||
/*
|
||||
|
37
t/t5518-fetch-exit-status.sh
Executable file
37
t/t5518-fetch-exit-status.sh
Executable file
@ -0,0 +1,37 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (c) 2008 Dmitry V. Levin
|
||||
#
|
||||
|
||||
test_description='fetch exit status test'
|
||||
|
||||
. ./test-lib.sh
|
||||
|
||||
test_expect_success setup '
|
||||
|
||||
>file &&
|
||||
git add file &&
|
||||
git commit -m initial &&
|
||||
|
||||
git checkout -b side &&
|
||||
echo side >file &&
|
||||
git commit -a -m side &&
|
||||
|
||||
git checkout master &&
|
||||
echo next >file &&
|
||||
git commit -a -m next
|
||||
'
|
||||
|
||||
test_expect_success 'non fast forward fetch' '
|
||||
|
||||
test_must_fail git fetch . master:side
|
||||
|
||||
'
|
||||
|
||||
test_expect_success 'forced update' '
|
||||
|
||||
git fetch . +master:side
|
||||
|
||||
'
|
||||
|
||||
test_done
|
Loading…
Reference in New Issue
Block a user