Re: [PATCH v3 4/4] contrib: add convert-grafts-to-replace-refs.sh
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jun 5, 2014, 21:55 UTC
- Message-ID
- <xmqqa99rrpgx.fsf@gitster.dls.corp.google.com>
- In-Reply-To
- <20140604194353.23903.58934.chriscool@tuxfamily.org>
Christian Couder <chriscool@tuxfamily.org> writes:
Show 15 quoted lines
> 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?
Show 6 quoted lines
> +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
> +doFormat the above like so:
grep '^[^# ]' "$GRAFTS_FILE" |
while read definition
dowhich is easier to see what that "do" is doing.
Show 5 quoted lines
> + test -n "$definition" && {
> + echo "Converting: $definition"
> + git replace --graft $definition ||
> + die "Conversion failed for: $definition"
> + }Hmph, why not if/then/fi?