Skip to content

Commit 8cbfc11

Browse files
committed
Merge branch 'pw/p4-view-updates'
* 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
2 parents 21c6a18 + 896a681 commit 8cbfc11

File tree

3 files changed

+564
-82
lines changed

3 files changed

+564
-82
lines changed

Documentation/git-p4.txt

Lines changed: 27 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -230,12 +230,7 @@ git repository:
230230

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

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

306301

302+
CLIENT SPEC
303+
-----------
304+
The p4 client specification is maintained with the 'p4 client' command
305+
and contains among other fields, a View that specifies how the depot
306+
is mapped into the client repository. Git-p4 can consult the client
307+
spec when given the '--use-client-spec' option or useClientSpec
308+
variable.
309+
310+
The full syntax for a p4 view is documented in 'p4 help views'. Git-p4
311+
knows only a subset of the view syntax. It understands multi-line
312+
mappings, overlays with '+', exclusions with '-' and double-quotes
313+
around whitespace. Of the possible wildcards, git-p4 only handles
314+
'...', and only when it is at the end of the path. Git-p4 will complain
315+
if it encounters an unhandled wildcard.
316+
317+
The name of the client can be given to git-p4 in multiple ways. The
318+
variable 'git-p4.client' takes precedence if it exists. Otherwise,
319+
normal p4 mechanisms of determining the client are used: environment
320+
variable P4CLIENT, a file referenced by P4CONFIG, or the local host name.
321+
322+
307323
BRANCH DETECTION
308324
----------------
309325
P4 does not have the same concept of a branch as git. Instead,
@@ -387,9 +403,7 @@ git-p4.host::
387403

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

394408
Clone and sync variables
395409
~~~~~~~~~~~~~~~~~~~~~~~~
@@ -417,10 +431,10 @@ git config --add git-p4.branchList main:branchB
417431
-------------
418432

419433
git-p4.useClientSpec::
420-
Specify that the p4 client spec to be used to identify p4 depot
421-
paths of interest. This is equivalent to specifying the option
422-
'--use-client-spec'. The variable 'git-p4.client' can be used
423-
to specify the name of the client.
434+
Specify that the p4 client spec should be used to identify p4
435+
depot paths of interest. This is equivalent to specifying the
436+
option '--use-client-spec'. See the "CLIENT SPEC" section above.
437+
This variable is a boolean, not the name of a p4 client.
424438

425439
Submit variables
426440
~~~~~~~~~~~~~~~~

0 commit comments

Comments
 (0)