git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] docs: fix filter-branch subdir example for exotic repo names

From
Jeff King <peff@peff.net>
Date
Apr 1, 2011, 14:46 UTC
Message-ID
<20110401144627.GA3686@sigill.intra.peff.net>
In-Reply-To
<20110401144107.GA3103@sigill.intra.peff.net>

The GIT_INDEX_FILE variable we get from git has the full path to the repo, which may contain spaces. When we use it in our shell snippet, it needs to be quoted.

Signed-off-by: Jeff King <peff@peff.net>
---
This version tests fine for me with:
#!/bin/sh
repo='repo with space'
rm -rf "$repo"
git init "$repo" && cd "$repo" &&
echo content >file &&
git add file &&
git commit -m file &&
git filter-branch --index-filter \
  'git ls-files -s | sed "s-\t\"*-&newsubdir/-" |
    GIT_INDEX_FILE=$GIT_INDEX_FILE.new \
      git update-index --index-info &&
   mv "$GIT_INDEX_FILE.new" "$GIT_INDEX_FILE"' HEAD
 Documentation/git-filter-branch.txt |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/Documentation/git-filter-branch.txt b/Documentation/git-filter-branch.txt
index 03c76c7..9dc1f2a 100644
--- a/Documentation/git-filter-branch.txt
+++ b/Documentation/git-filter-branch.txt
@@ -359,11 +359,11 @@ To move the whole tree into a subdirectory, or remove it from there:
 ---------------------------------------------------------------
 git filter-branch --index-filter \
 	'git ls-files -s | sed "s-\t\"*-&newsubdir/-" |
 		GIT_INDEX_FILE=$GIT_INDEX_FILE.new \
 			git update-index --index-info &&
-	 mv $GIT_INDEX_FILE.new $GIT_INDEX_FILE' HEAD
+	 mv "$GIT_INDEX_FILE.new" "$GIT_INDEX_FILE"' HEAD
 ---------------------------------------------------------------
 
 
 
 Checklist for Shrinking a Repository
-- 
1.7.4.13.g8566c
Previous: Jeff KingNext: Jean-François Burdet
Message 3 of 4 in “Problem using git-filter-branch to move tree when repository name contains space”
  1. Jean-François BurdetApr 1, 2011
  2. Jeff KingApr 1, 2011
  3. docs: fix filter-branch subdir example for exotic repo namesJeff King, Apr 1, 2011
  4. Jean-François BurdetApr 1, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.