Skip to content

Commit

Permalink
Merge branch 'pw/p4-view-updates'
Browse files Browse the repository at this point in the history
* pw/p4-view-updates:
  git-p4: view spec documentation
  git-p4: rewrite view handling
  git-p4: support single file p4 client view maps
  git-p4: sort client views by reverse View number
  git-p4: fix test for unsupported P4 Client Views
  git-p4: test client view handling
  • Loading branch information
Junio C Hamano committed Jan 6, 2012
2 parents 21c6a18 + 896a681 commit 8cbfc11
Show file tree
Hide file tree
Showing 3 changed files with 564 additions and 82 deletions.
40 changes: 27 additions & 13 deletions Documentation/git-p4.txt
Original file line number Diff line number Diff line change
Expand Up @@ -230,12 +230,7 @@ git repository:

--use-client-spec::
Use a client spec to find the list of interesting files in p4.
The client spec is discovered using 'p4 client -o' which checks
the 'P4CLIENT' environment variable and returns a mapping of
depot files to workspace files. Note that a depot path is
still required, but files found in the path that match in
the client spec view will be laid out according to the client
spec.
See the "CLIENT SPEC" section below.

Clone options
~~~~~~~~~~~~~
Expand Down Expand Up @@ -304,6 +299,27 @@ p4 revision specifier on the end:
See 'p4 help revisions' for the full syntax of p4 revision specifiers.


CLIENT SPEC
-----------
The p4 client specification is maintained with the 'p4 client' command
and contains among other fields, a View that specifies how the depot
is mapped into the client repository. Git-p4 can consult the client
spec when given the '--use-client-spec' option or useClientSpec
variable.

The full syntax for a p4 view is documented in 'p4 help views'. Git-p4
knows only a subset of the view syntax. It understands multi-line
mappings, overlays with '+', exclusions with '-' and double-quotes
around whitespace. Of the possible wildcards, git-p4 only handles
'...', and only when it is at the end of the path. Git-p4 will complain
if it encounters an unhandled wildcard.

The name of the client can be given to git-p4 in multiple ways. The
variable 'git-p4.client' takes precedence if it exists. Otherwise,
normal p4 mechanisms of determining the client are used: environment
variable P4CLIENT, a file referenced by P4CONFIG, or the local host name.


BRANCH DETECTION
----------------
P4 does not have the same concept of a branch as git. Instead,
Expand Down Expand Up @@ -387,9 +403,7 @@ git-p4.host::

git-p4.client::
Client specified as an option to all p4 commands, with
'-c <client>'. This can also be used as a way to find
the client spec for the 'useClientSpec' option.
The environment variable 'P4CLIENT' can be used instead.
'-c <client>', including the client spec.

Clone and sync variables
~~~~~~~~~~~~~~~~~~~~~~~~
Expand Down Expand Up @@ -417,10 +431,10 @@ git config --add git-p4.branchList main:branchB
-------------

git-p4.useClientSpec::
Specify that the p4 client spec to be used to identify p4 depot
paths of interest. This is equivalent to specifying the option
'--use-client-spec'. The variable 'git-p4.client' can be used
to specify the name of the client.
Specify that the p4 client spec should be used to identify p4
depot paths of interest. This is equivalent to specifying the
option '--use-client-spec'. See the "CLIENT SPEC" section above.
This variable is a boolean, not the name of a p4 client.

Submit variables
~~~~~~~~~~~~~~~~
Expand Down
Loading

0 comments on commit 8cbfc11

Please sign in to comment.