From: Nicolas Pitre Date: Thu, 02 Nov 2006 15:09:49 GMT Subject: Re: [PATCH 6/6] remove .keep pack lock files when done with refs update Message-ID: In-Reply-To: <7vzmbav2n9.fsf@assigned-by-dhcp.cox.net> On Wed, 1 Nov 2006, Junio C Hamano wrote: > Nicolas Pitre writes: > > > --- a/git-fetch.sh > > +++ b/git-fetch.sh > > @@ -51,7 +51,7 @@ do > > verbose=Yes > > ;; > > -k|--k|--ke|--kee|--keep) > > - keep=--keep > > + keep=-k -k > > ;; > > --reflog-action=*) > > rloga=`expr "z$1" : 'z-[^=]*=\(.*\)'` > > Micronit. This cannot be right without quoting. OK. Shell programming isn't really my turf. Another area of that patch I'm not really sure of is this: @@ -408,6 +415,7 @@ fetch_main () { append_fetch_head "$sha1" "$remote" \ "$remote_name" "$remote_nick" "$local_name" "$not_for_merge" done + if [ "$pack_lockfile" ]; then rm -f "$pack_lockfile"; fi ) || exit ;; esac How can I make sure to not clobber a non-zero return code with the rm that would prevent the exit while still performing the rm in all cases?