* [PATCH] builtin-fetch.c (store_updated_refs): Honor update_local_ref() return value
@ 2008-05-27 20:53 Dmitry V. Levin
2008-05-28 5:43 ` Junio C Hamano
0 siblings, 1 reply; 3+ messages in thread
From: Dmitry V. Levin @ 2008-05-27 20:53 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
Sync with builtin-fetch--tool.c where append_fetch_head()
honors update_local_ref() return value.
This fixes git-fetch exit status,
http://bugzilla.altlinux.org/show_bug.cgi?id=15037
---
builtin-fetch.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/builtin-fetch.c b/builtin-fetch.c
index 167f948..db60966 100644
--- a/builtin-fetch.c
+++ b/builtin-fetch.c
@@ -292,7 +292,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 rc = 0, url_len, i, note_len, shown_url = 0;
char note[1024];
const char *what, *kind;
struct ref *rm;
@@ -359,7 +359,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 if (verbose)
sprintf(note, "* %-*s %-*s -> FETCH_HEAD",
SUMMARY_WIDTH, *kind ? kind : "branch",
@@ -376,7 +376,7 @@ static int store_updated_refs(const char *url, struct ref *ref_map)
}
}
fclose(fp);
- return 0;
+ return rc;
}
/*
--
ldv
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] builtin-fetch.c (store_updated_refs): Honor update_local_ref() return value
2008-05-27 20:53 [PATCH] builtin-fetch.c (store_updated_refs): Honor update_local_ref() return value Dmitry V. Levin
@ 2008-05-28 5:43 ` Junio C Hamano
2008-05-28 15:29 ` Dmitry V. Levin
0 siblings, 1 reply; 3+ messages in thread
From: Junio C Hamano @ 2008-05-28 5:43 UTC (permalink / raw)
To: Dmitry V. Levin; +Cc: git
"Dmitry V. Levin" <ldv@altlinux.org> writes:
> Sync with builtin-fetch--tool.c where append_fetch_head()
> honors update_local_ref() return value.
>
> This fixes git-fetch exit status,
> http://bugzilla.altlinux.org/show_bug.cgi?id=15037
> ---
Thanks, but we would also want sign-off and tests, wouldn't we?
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH] builtin-fetch.c (store_updated_refs): Honor update_local_ref() return value
2008-05-28 5:43 ` Junio C Hamano
@ 2008-05-28 15:29 ` Dmitry V. Levin
0 siblings, 0 replies; 3+ messages in thread
From: Dmitry V. Levin @ 2008-05-28 15:29 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
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>
---
builtin-fetch.c | 6 +++---
t/t5518-fetch-exit-status.sh | 37 +++++++++++++++++++++++++++++++++++++
2 files changed, 40 insertions(+), 3 deletions(-)
create mode 100644 t/t5518-fetch-exit-status.sh
diff --git a/builtin-fetch.c b/builtin-fetch.c
index 167f948..db60966 100644
--- a/builtin-fetch.c
+++ b/builtin-fetch.c
@@ -292,7 +292,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 rc = 0, url_len, i, note_len, shown_url = 0;
char note[1024];
const char *what, *kind;
struct ref *rm;
@@ -359,7 +359,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 if (verbose)
sprintf(note, "* %-*s %-*s -> FETCH_HEAD",
SUMMARY_WIDTH, *kind ? kind : "branch",
@@ -376,7 +376,7 @@ static int store_updated_refs(const char *url, struct ref *ref_map)
}
}
fclose(fp);
- return 0;
+ return rc;
}
/*
diff --git a/t/t5518-fetch-exit-status.sh b/t/t5518-fetch-exit-status.sh
new file mode 100644
index 0000000..c6bc65f
--- /dev/null
+++ b/t/t5518-fetch-exit-status.sh
@@ -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
--
ldv
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2008-05-28 15:30 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-05-27 20:53 [PATCH] builtin-fetch.c (store_updated_refs): Honor update_local_ref() return value Dmitry V. Levin
2008-05-28 5:43 ` Junio C Hamano
2008-05-28 15:29 ` Dmitry V. Levin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).