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

Re: Using filter-branch to move repo contents in subdirectory

From
Jeff King <peff@peff.net>
Date
Aug 11, 2010, 19:32 UTC
Message-ID
<20100811193214.GB8106@coredump.intra.peff.net>
In-Reply-To
<AANLkTimu+V8zJeBV65nhqw0zaQHVHzZZahw2q-20SaWO@mail.gmail.com>
On Wed, Aug 11, 2010 at 10:01:15AM -0500, Adam Mercer wrote:
Show 23 quoted lines
> On Mon, Aug 9, 2010 at 14:36, Adam Mercer <ramercer@gmail.com> wrote:
> 
> > I'm trying to do this with another repo now and am getting a different
> > error message:
> >
> > $ git filter-branch --index-filter \
> >    'git ls-files -s | gsed "s-\t\"*-&sftlib/-" |
> >        GIT_INDEX_FILE=$GIT_INDEX_FILE.new \
> >            git update-index --index-info &&
> >    mv $GIT_INDEX_FILE.new $GIT_INDEX_FILE' HEAD
> > Rewrite b3100fb24a7eb2f349801f3b87cf995dc3d14bba (1/44)mv:
> > /Users/ram/git/eah2/.git-rewrite/t/../index.new: No such file or
> > directory
> > index filter failed: git ls-files -s | gsed "s-\t\"*-&sftlib/-" |
> > GIT_INDEX_FILE=$GIT_INDEX_FILE.new git update-index --index-info && mv
> > $GIT_INDEX_FILE.new $GIT_INDEX_FILE
> > $
> >
> > Any ideas?
> >
> > This is on Mac OS X 10.6.4, with git-1.7.2.1, and GNU sed 4.2.1
> 
> Anyone?

It looks like git-update-index will not create $GIT_INDEX_FILE at all if you have no actual input lines to --index-info. So perhaps you have some commit in your repo that has no actual content in it. Either that or for some reason your "ls-files -s | gsed" invocation is producing no output.

Try adding a "touch $GIT_INDEX_FILE.new" at the beginning of your index filter and see if that helps. Then the file will always exist to be moved, even if we write nothing to it. If it works, then problem solved. If you get a repo full of empty commits, then something is wrong with your gsed pipeline.

-Peff
Previous: Adam MercerNext: Adam Mercer
Message 12 of 13 in “Using filter-branch to move repo contents in subdirectory”
  1. Adam MercerJul 29, 2010
  2. Thomas RastJul 29, 2010
  3. Adam MercerJul 29, 2010
  4. filter-branch tests/docs: avoid \t in sed regexesThomas Rast, Jul 29, 2010
  5. Tomas CarneckyJul 29, 2010
  6. Thomas RastJul 29, 2010
  7. Tomas CarneckyJul 29, 2010
  8. t7005: fix subdirectory-filter testThomas Rast, Jul 29, 2010
  9. Thomas RastJul 29, 2010
  10. Adam MercerAug 9, 2010
  11. Adam MercerAug 11, 2010
  12. Jeff KingAug 11, 2010
  13. Adam MercerAug 11, 2010

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.