diff options
author | Luke Diamand <luke@diamand.org> | 2012-04-11 17:21:24 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-04-11 11:04:53 -0700 |
commit | 06804c76e8f7a61c7c9473decdf9b210d3238e9d (patch) | |
tree | 29aac73bce738cbd42fda4ae8c36b9894d1d86c4 /Documentation/git-p4.txt | |
parent | 7bbaf11f356c7ae731ed33e157f1fbe1a75aa6f0 (diff) | |
download | git-06804c76e8f7a61c7c9473decdf9b210d3238e9d.tar.gz |
git p4: import/export of labels to/from p4
The existing label import code looks at each commit being
imported, and then checks for labels at that commit. This
doesn't work in the real world though because it will drop
labels applied on changelists that have already been imported,
a common pattern.
This change adds a new --import-labels option. With this option,
at the end of the sync, git p4 gets sets of labels in p4 and git,
and then creates a git tag for each missing p4 label.
This means that tags created on older changelists are
still imported.
Tags that could not be imported are added to an ignore
list.
The same sets of git and p4 tags and labels can also be used to
derive a list of git tags to export to p4. This is enabled with
--export-labels in 'git p4 submit'.
Signed-off-by: Luke Diamand <luke@diamand.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/git-p4.txt')
-rw-r--r-- | Documentation/git-p4.txt | 43 |
1 files changed, 38 insertions, 5 deletions
diff --git a/Documentation/git-p4.txt b/Documentation/git-p4.txt index 3fac4137e2..612d51d4e7 100644 --- a/Documentation/git-p4.txt +++ b/Documentation/git-p4.txt @@ -198,7 +198,11 @@ git repository: --detect-labels:: Query p4 for labels associated with the depot paths, and add - them as tags in git. + them as tags in git. Limited usefulness as only imports labels + associated with new changelists. Deprecated. + +--import-labels:: + Import labels from p4 into git. --import-local:: By default, p4 branches are stored in 'refs/remotes/p4/', @@ -263,6 +267,16 @@ These options can be used to modify 'git p4 submit' behavior. Re-author p4 changes before submitting to p4. This option requires p4 admin privileges. +--export-labels: + Export tags from git as p4 labels. Tags found in git are applied + to the perforce working directory. + +Rebase options +~~~~~~~~~~~~~~ +These options can be used to modify 'git p4 rebase' behavior. + +--import-labels:: + Import p4 labels. DEPOT PATH SYNTAX ----------------- @@ -427,6 +441,18 @@ git-p4.branchList:: enabled. Each entry should be a pair of branch names separated by a colon (:). This example declares that both branchA and branchB were created from main: + +git-p4.ignoredP4Labels:: + List of p4 labels to ignore. This is built automatically as + unimportable labels are discovered. + +git-p4.importLabels:: + Import p4 labels into git, as per --import-labels. + +git-p4.validLabelRegexp:: + Only p4 labels matching this regular expression will be imported. The + default value is '[A-Z0-9_\-.]+$'. + ------------- git config git-p4.branchList main:branchA git config --add git-p4.branchList main:branchB @@ -481,10 +507,17 @@ git-p4.skipUserNameCheck:: submission regardless. git-p4.attemptRCSCleanup: - If enabled, 'git p4 submit' will attempt to cleanup RCS keywords - ($Header$, etc). These would otherwise cause merge conflicts and prevent - the submit going ahead. This option should be considered experimental at - present. + If enabled, 'git p4 submit' will attempt to cleanup RCS keywords + ($Header$, etc). These would otherwise cause merge conflicts and prevent + the submit going ahead. This option should be considered experimental at + present. + +git-p4.exportLabels:: + Export git tags to p4 labels, as per --export-labels. + +git-p4.validLabelRegexp:: + Only p4 labels matching this regular expression will be exported. The + default value is '[A-Z0-9_\-.]+$'. IMPLEMENTATION DETAILS ---------------------- |