Document some implementation details, for the curious... :)

Signed-off-by: Simon Hausmann <simon@lst.de>
This commit is contained in:
Simon Hausmann 2007-05-07 20:14:17 +02:00
Родитель 2835925139
Коммит a844b7406f
1 изменённых файлов: 17 добавлений и 0 удалений

Просмотреть файл

@ -121,3 +121,20 @@ Example
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