Christian Couder <chriscool@xxxxxxxxxxxxx> writes: > diff --git a/contrib/convert-grafts-to-replace-refs.sh b/contrib/convert-grafts-to-replace-refs.sh > new file mode 100755 > index 0000000..8472879 > --- /dev/null > +++ b/contrib/convert-grafts-to-replace-refs.sh > @@ -0,0 +1,29 @@ > +#!/bin/sh > + > +# You should execute this script in the repository where you > +# want to convert grafts to replace refs. > + > +die () { > + echo >&2 "$@" > + exit 1 > +} Don't we install git-sh-setup in GIT_EXEC_PATH, in order to allow these third-party scripts to begin with: . $(git --exec-path)/git-sh-setup just like our own scripted Porcelains? > +GRAFTS_FILE="${GIT_DIR:-.git}/info/grafts" > + > +test -f "$GRAFTS_FILE" || die "Could not find graft file: '$GRAFTS_FILE'" > + > +grep '^[^# ]' "$GRAFTS_FILE" | while read definition > +do Format the above like so: grep '^[^# ]' "$GRAFTS_FILE" | while read definition do which is easier to see what that "do" is doing. > + test -n "$definition" && { > + echo "Converting: $definition" > + git replace --graft $definition || > + die "Conversion failed for: $definition" > + } Hmph, why not if/then/fi? -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html