rerere.c: remove implicit dependency on the_index
[gitweb.git] / Documentation / git-p4.txt
index 6646d5e6cc1cc1ebceba98d1c984e6a6fe9b2602..41780a5aa970fb46538373afbf6684a526803f63 100644 (file)
@@ -149,6 +149,12 @@ To specify a branch other than the current one, use:
 $ git p4 submit topicbranch
 ------------
 
+To specify a single commit or a range of commits, use:
+------------
+$ git p4 submit --commit <sha1>
+$ git p4 submit --commit <sha1..sha1>
+------------
+
 The upstream reference is generally 'refs/remotes/p4/master', but can
 be overridden using the `--origin=` command-line option.
 
@@ -355,6 +361,27 @@ These options can be used to modify 'git p4 submit' behavior.
        p4/master.  See the "Sync options" section above for more
        information.
 
+--commit <sha1>|<sha1..sha1>::
+    Submit only the specified commit or range of commits, instead of the full
+    list of changes that are in the current Git branch.
+
+--disable-rebase::
+    Disable the automatic rebase after all commits have been successfully
+    submitted. Can also be set with git-p4.disableRebase.
+
+--disable-p4sync::
+    Disable the automatic sync of p4/master from Perforce after commits have
+    been submitted. Implies --disable-rebase. Can also be set with
+    git-p4.disableP4Sync. Sync with origin/master still goes ahead if possible.
+
+Hook for submit
+~~~~~~~~~~~~~~~
+The `p4-pre-submit` hook is executed if it exists and is executable.
+The hook takes no parameters and nothing from standard input. Exiting with
+non-zero status from this script prevents `git-p4 submit` from launching.
+
+One usage scenario is to run unit tests in the hook.
+
 Rebase options
 ~~~~~~~~~~~~~~
 These options can be used to modify 'git p4 rebase' behavior.
@@ -424,7 +451,7 @@ dedicating a client spec just for 'git p4'.
 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.
+variable `P4CLIENT`, a file referenced by `P4CONFIG`, or the local host name.
 
 
 BRANCH DETECTION
@@ -493,22 +520,22 @@ General variables
 ~~~~~~~~~~~~~~~~~
 git-p4.user::
        User specified as an option to all p4 commands, with '-u <user>'.
-       The environment variable 'P4USER' can be used instead.
+       The environment variable `P4USER` can be used instead.
 
 git-p4.password::
        Password specified as an option to all p4 commands, with
        '-P <password>'.
-       The environment variable 'P4PASS' can be used instead.
+       The environment variable `P4PASS` can be used instead.
 
 git-p4.port::
        Port specified as an option to all p4 commands, with
        '-p <port>'.
-       The environment variable 'P4PORT' can be used instead.
+       The environment variable `P4PORT` can be used instead.
 
 git-p4.host::
        Host specified as an option to all p4 commands, with
        '-h <host>'.
-       The environment variable 'P4HOST' can be used instead.
+       The environment variable `P4HOST` can be used instead.
 
 git-p4.client::
        Client specified as an option to all p4 commands, with
@@ -676,6 +703,12 @@ git-p4.conflict::
        Specify submit behavior when a conflict with p4 is found, as per
        --conflict.  The default behavior is 'ask'.
 
+git-p4.disableRebase::
+    Do not rebase the tree against p4/master following a submit.
+
+git-p4.disableP4Sync::
+    Do not sync p4/master with Perforce following a submit. Implies git-p4.disableRebase.
+
 IMPLEMENTATION DETAILS
 ----------------------
 * Changesets from p4 are imported using Git fast-import.