author | Shawn O. Pearce <spearce@spearce.org> | |
Tue, 10 Jul 2007 02:58:23 +0000 (22:58 -0400) | ||
committer | Shawn O. Pearce <spearce@spearce.org> | |
Tue, 10 Jul 2007 03:06:16 +0000 (23:06 -0400) | ||
commit | f39a946a1fb0fa4856cd0027b9da3603a1b06fdc | |
tree | 0a2dd51b906ef674ac94b08cfe85506da9cb7c12 | tree | snapshot |
parent | 11a264050f61bb15c413cced058db2ac96fd96f9 | commit | diff |
Support wholesale directory renames in fast-import
Some source material (e.g. Subversion dump files) perform directory
renames without telling us exactly which files in that subdirectory
were moved. This makes it hard for a frontend to convert such data
formats to a fast-import stream, as all the frontend has on hand
is "Rename a/ to b/" with no details about what files are in a/,
unless the frontend also kept track of all files.
The new 'R' subcommand within a commit allows the frontend to
rename either a file or an entire subdirectory, without needing to
know the object's SHA-1 or the specific files contained within it.
The rename is performed as efficiently as possible internally,
making it cheaper than a 'D'/'M' pair for a file rename.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Some source material (e.g. Subversion dump files) perform directory
renames without telling us exactly which files in that subdirectory
were moved. This makes it hard for a frontend to convert such data
formats to a fast-import stream, as all the frontend has on hand
is "Rename a/ to b/" with no details about what files are in a/,
unless the frontend also kept track of all files.
The new 'R' subcommand within a commit allows the frontend to
rename either a file or an entire subdirectory, without needing to
know the object's SHA-1 or the specific files contained within it.
The rename is performed as efficiently as possible internally,
making it cheaper than a 'D'/'M' pair for a file rename.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Documentation/git-fast-import.txt | diff | blob | history | |
fast-import.c | diff | blob | history | |
t/t9300-fast-import.sh | diff | blob | history |