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

Re: Filter-branch's "move tree to subdirectory" example fails with BSD sed?

From
Junio C Hamano <gitster@pobox.com>
Date
Apr 16, 2012, 17:03 UTC
Message-ID
<7vr4vnwqwo.fsf@alter.siamese.dyndns.org>
In-Reply-To
<20120416152737.GB14724@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 14 quoted lines
> I wish we could also get rid of the temporary index. It exists solely
> for the side effect of removing the existing entries (otherwise, you get
> both "foo" and "newsubdir/foo" in the resulting history). It would be
> nice if there was some flag to update-index to say "before you do
> anything, clear the existing index" (or I guess, "don't bother reading
> the existing index"). And then result could look like:
>
>   git filter-branch --index-filter '
>     git ls-files -sz |
>     perl -0pe "s{\t}{\tnewsubdir/}" |
>     git update-index --from-scratch -z --index-info
>   ' HEAD
>
> which is IMHO much easier to read and understand.

Wouldn't "git read-tree --prefix=newsubdir/" suffice without the pipeline? I.e.

        git filter-branch --index-filter '
		rm -f "$GIT_INDEX_FILE"
                git read-tree --prefix=newsubdir/ "$GIT_COMMIT"
	' HEAD
Previous: Jeff KingNext: Jeff King
Message 8 of 9 in “Filter-branch's "move tree to subdirectory" example fails with BSD sed?”
  1. Christopher TiwaldApr 14, 2012
  2. Johannes SixtApr 14, 2012
  3. Jeff KingApr 16, 2012
  4. 1/2 update-index: add --clear optionJeff King, Apr 16, 2012
  5. Christopher TiwaldApr 16, 2012
  6. Christopher TiwaldApr 17, 2012
  7. 2/2 docs/filter-branch: clean up newsubdir exampleJeff King, Apr 16, 2012
  8. Junio C HamanoApr 16, 2012
  9. Jeff KingApr 16, 2012

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.