summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 2835925)
raw | patch | inline | side by side (parent: 2835925)
author | Simon Hausmann <simon@lst.de> | |
Mon, 7 May 2007 18:14:17 +0000 (20:14 +0200) | ||
committer | Simon Hausmann <simon@lst.de> | |
Mon, 7 May 2007 18:14:17 +0000 (20:14 +0200) |
Signed-off-by: Simon Hausmann <simon@lst.de>
contrib/fast-import/git-p4.txt | patch | blob | history |
index d36a1cf18c09785dd6a44b85837877dfb8c912d9..ff0da9d0c8339ce0c6fadda2c1f5b423627d3f1f 100644 (file)
git-p4 rebase
+Implementation Details...
+=========================
+
+* Changesets from Perforce are imported using git fast-import.
+* The import does not require anything from the Perforce client view as it just uses
+ "p4 print //depot/path/file#revision" to get the actual file contents.
+* Every imported changeset has a special [git-p4...] line at the
+ end of the log message that gives information about the corresponding
+ Perforce change number and is also used by git-p4 itself to find out
+ where to continue importing when doing incremental imports.
+ Basically when syncing it extracts the perforce change number of the
+ latest commit in the "p4" branch and uses "p4 changes //depot/path/...@changenum,#head"
+ to find out which changes need to be imported.
+* git-p4 submit uses "git rev-list" to pick the commits between the "p4" branch
+ and the current branch.
+ The commits themselves are applied using git diff-tree ... | patch -p1
+