# [PATCH] Fix unconditional early exit in cg-fetch v2

1 messages from 2005-12-20 to 2005-12-20. Participants: Paolo 'Blaisorblade' Giarrusso.
Thread: https://gitlist.dev/t/2885

## Paolo 'Blaisorblade' Giarrusso, 2005-12-20 15:24

Subject: [PATCH] Fix unconditional early exit in cg-fetch v2
Message-ID: <20051220152458.1302.84228.stgit@zion.home.lan>
URL: https://gitlist.dev/e/20051220152458.1302.84228.stgit%40zion.home.lan

```

From: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>

When invoking cg-fetch, after fetching tags it exits here, for an overlooked
error handling. Replace the exit with an early return.

This means, for instance, we exit without reporting the tag updates and without
removing the "fetch in progress" marker - leading to unconditional "Recovering
from interrupted fetch" at the very beginning with rsync transport. Indeed, this
is fixed by this patch.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
---

 cg-fetch |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/cg-fetch b/cg-fetch
index a2865ae..074aa14 100755
--- a/cg-fetch
+++ b/cg-fetch
@@ -189,9 +189,10 @@ fetch_tags()
 	[ -d "$_git/refs/tags" ] || mkdir -p "$_git/refs/tags"
 
 	if [ "$get" = "get_rsync" ]; then
-		$get -i -s -u -d "$uri/refs/tags" "$_git/refs/tags" ||
+		if ! $get -i -s -u -d "$uri/refs/tags" "$_git/refs/tags"; then
 			echo "unable to get tags list (non-fatal)" >&2
-		exit $?
+			return $?
+		fi
 	fi
 
 	git-ls-remote --tags "$uri" |

```
