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

Re: [PATCH] Add 'git fast-export', the sister of 'git fast-import'

From
Shawn O. Pearce <spearce@spearce.org>
Date
Nov 27, 2007, 02:08 UTC
Message-ID
<20071127020842.GN14735@spearce.org>
In-Reply-To
<Pine.LNX.4.64.0711252236350.4725@wbgn129.biozentrum.uni-wuerzburg.de>
Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> This program dumps (parts of) a git repository in the format that
> fast-import understands.
...
Show 7 quoted lines
> +-------------------------------------------------------------------
> +$ git fast-export --all | (cd /empty/repository && git fast-import)
> +-------------------------------------------------------------------
> +
> +This will export the whole repository and import it into the existing
> +empty repository.  Except for reencoding commits that are not in
> +UTF-8, it would be a one-to-one mirror.
WTF?

Why are you reencoding the commits on output in fast-export? Why aren't you dumping them raw to the stream? fast-import takes them raw. Oh, it doesn't have a way to set the encoding header. DOH.

I think this should be prefixed by fast-import patch to teach it something like "encoding N" as a subcommand of commit, so that you can feed data in a non UTF-8 encoding and get it to include the proper encoding header in the commit object it creates. That way a pipeline like the above really does create a duplicate repository, with the same commit SHA-1s, even if the commits weren't in UTF-8.

-- 
Shawn.
Previous: Johannes SchindelinNext: Johannes Schindelin
Message 6 of 10 in “Add 'git fast-export', the sister of 'git fast-import'”
  1. Add 'git fast-export', the sister of 'git fast-import'Johannes Schindelin, Nov 25, 2007
  2. Junio C HamanoNov 26, 2007
  3. Johannes SchindelinNov 26, 2007
  4. Junio C HamanoNov 26, 2007
  5. Johannes SchindelinNov 27, 2007
  6. Shawn O. PearceNov 27, 2007
  7. Johannes SchindelinNov 27, 2007
  8. Jakub NarebskiNov 27, 2007
  9. Johannes SchindelinNov 28, 2007
  10. Jakub NarebskiNov 28, 2007

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.