summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 6eec46b)
raw | patch | inline | side by side (parent: 6eec46b)
author | Dmitry V. Levin <ldv@altlinux.org> | |
Wed, 28 May 2008 15:29:36 +0000 (19:29 +0400) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Wed, 28 May 2008 17:47:12 +0000 (10:47 -0700) |
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>
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>
builtin-fetch.c | patch | blob | history | |
t/t5518-fetch-exit-status.sh | [new file with mode: 0755] | patch | blob |
diff --git a/builtin-fetch.c b/builtin-fetch.c
index bfe7711aa8b032c098eeb630e8cfec5bac364106..e81ee2d02b588c83f9ac355d20559271be73871d 100644 (file)
--- a/builtin-fetch.c
+++ b/builtin-fetch.c
{
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;
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",
}
}
fclose(fp);
- return 0;
+ return rc;
}
/*
diff --git a/t/t5518-fetch-exit-status.sh b/t/t5518-fetch-exit-status.sh
--- /dev/null
@@ -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