[PATCH] filter-branch: use printf instead of echo -e
- From
Michele Locati <michele@locati.it>
- Date
- Mar 19, 2018, 14:49 UTC
- Message-ID
- <20180319144905.11564-1-michele@locati.it>
In order to echo a tab character, it's better to use printf instead of "echo -e", because it's more portable (for instance, "echo -e" doesn't work as expected on a Mac).
This solves the "fatal: Not a valid object name" error in git-filter-branch when using the --state-branch option.
Signed-off-by: Michele Locati <michele@locati.it> --- git-filter-branch.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/git-filter-branch.sh b/git-filter-branch.sh index 1b7e4b2cd..21d84eff3 100755 --- a/git-filter-branch.sh +++ b/git-filter-branch.sh @@ -627,7 +627,7 @@ then print H "$_:$f\n" or die; } close(H) or die;' || die "Unable to save state") - state_tree=$(/bin/echo -e "100644 blob $state_blob\tfilter.map" | git mktree) + state_tree=$(printf '100644 blob %s\tfilter.map\n' "$state_blob" | git mktree) if test -n "$state_commit" then state_commit=$(/bin/echo "Sync" | git commit-tree "$state_tree" -p "$state_commit")
-- 2.16.2.windows.1