Re: [PATCH v2 4/4] contrib: add convert-grafts-to-replace-refs.sh
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Jun 1, 2014, 19:42 UTC
- Message-ID
- <CAPig+cTjJHRDQFckLqRCW0xHkMFLVbuYGrLCWHXZQoFsYY5WwA@mail.gmail.com>
- In-Reply-To
- <20140601151038.15428.20661.chriscool@tuxfamily.org>
On Sun, Jun 1, 2014 at 11:10 AM, Christian Couder <chriscool@tuxfamily.org> wrote:
Show 35 quoted lines
> This patch adds into contrib/ an example script to convert
> grafts from an existing grafts file into replace refs using
> the new --graft option of "git replace".
>
> While at it let's mention this new script in the
> "git replace" documentation for the --graft option.
>
> Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
> ---
> diff --git a/contrib/convert-grafts-to-replace-refs.sh b/contrib/convert-grafts-to-replace-refs.sh
> new file mode 100755
> index 0000000..7718a53
> --- /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
> +}
> +
> +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
> + test -n "$definition" && {
> + echo "Converting: $definition"
> + git replace --graft $definition ||
> + die "Convertion failed for: $definition"s/Convertion/Conversion/ [1]
[1]: http://git.661346.n2.nabble.com/Re-PATCH-contrib-add-convert-grafts-to-replace-refs-sh-tp7611822.html
Show 5 quoted lines
> + } > +done > + > +mv "$GRAFTS_FILE" "$GRAFTS_FILE.bak" || > + die "Could not mv '$GRAFTS_FILE' to '$GRAFTS_FILE.bak'"
"Could not rename..." might be a bit more friendly to non-Unixy folk.
Show 5 quoted lines
> +echo "Success!" > +echo "All the grafts in '$GRAFTS_FILE' have been converted to replace refs!" > +echo "The grafts file '$GRAFTS_FILE' has been renamed: '$GRAFTS_FILE.bak'" > -- > 2.0.0.rc0.40.gd30ccc4