From: Jon Seymour Date: Sun, 31 Jul 2011 19:40:35 GMT Subject: Re: [PATCH v8 4/7] bisect: introduce --no-checkout, --update-ref= support into porcelain. Message-ID: In-Reply-To: On Mon, Aug 1, 2011 at 5:21 AM, Christian Couder wrote: > On Sun, Jul 31, 2011 at 1:55 PM, Jon Seymour wrote: >> >> +       if test -n "$BISECT_UPDATE_REF"; then >> +           eval="$eval echo '$BISECT_UPDATE_REF' > '$GIT_DIR/BISECT_UPDATE_REF';" >> +       fi > > I don't like this very much. In fact I realize that the eval thing we > use is buggy because the result of 'eval "eval"' will be the result of > the last command in "eval", so we won't detect if one of the first > command in "eval" failed. How about I fix the eval stitching so that it uses && rather than ; to connect each statement with a final true at the end so there is no dangling &&? > > So perhaps something like: > >    eval "$eval" && > +  ( test -n "$BISECT_UPDATE_REF" || echo "$BISECT_UPDATE_REF" > > "$GIT_DIR/BISECT_UPDATE_REF" ) && >    echo "git bisect start$orig_args" >>"$GIT_DIR/BISECT_LOG" || exit > Probably this would be better :-) ( test -z "$BISECT_UPDATE_REF" || echo "$BISECT_UPDATE_REF" > "$GIT_DIR/BISECT_UPDATE_REF" ) && jon.