Re: [PATCH v3 4/4] contrib: add convert-grafts-to-replace-refs.sh
- From
Christian Couder <christian.couder@gmail.com>
- Date
- Jun 6, 2014, 15:47 UTC
- Message-ID
- <CAP8UFD2kSP-ONaANhXhmr5-USC4af9RHEkeTOAhH6Jm-1TNdiA@mail.gmail.com>
- In-Reply-To
- <xmqqa99rrpgx.fsf@gitster.dls.corp.google.com>
On Thu, Jun 5, 2014 at 11:55 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 24 quoted lines
> Christian Couder <chriscool@tuxfamily.org> 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?Ok, I will use that.
Show 14 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
>> +do
>
> Format the above like so:
>
> grep '^[^# ]' "$GRAFTS_FILE" |
> while read definition
> do
>
> which is easier to see what that "do" is doing.Ok.
Show 7 quoted lines
>> + test -n "$definition" && {
>> + echo "Converting: $definition"
>> + git replace --graft $definition ||
>> + die "Conversion failed for: $definition"
>> + }
>
> Hmph, why not if/then/fi?Ok, I will use if/then/fi.
Thanks, Christian.