-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
contrib: add convert-grafts-to-replace-refs.sh
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> Signed-off-by: Junio C Hamano <gitster@pobox.com>
- Loading branch information
Christian Couder
authored and
Junio C Hamano
committed
Jul 21, 2014
1 parent
78024c4
commit b0ab2b7
Showing
2 changed files
with
31 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
#!/bin/sh | ||
|
||
# You should execute this script in the repository where you | ||
# want to convert grafts to replace refs. | ||
|
||
GRAFTS_FILE="${GIT_DIR:-.git}/info/grafts" | ||
|
||
. $(git --exec-path)/git-sh-setup | ||
|
||
test -f "$GRAFTS_FILE" || die "Could not find graft file: '$GRAFTS_FILE'" | ||
|
||
grep '^[^# ]' "$GRAFTS_FILE" | | ||
while read definition | ||
do | ||
if test -n "$definition" | ||
then | ||
echo "Converting: $definition" | ||
git replace --graft $definition || | ||
die "Conversion failed for: $definition" | ||
fi | ||
done | ||
|
||
mv "$GRAFTS_FILE" "$GRAFTS_FILE.bak" || | ||
die "Could not rename '$GRAFTS_FILE' to '$GRAFTS_FILE.bak'" | ||
|
||
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'" |