git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v1 5/6] Add porcelain V2 documentation to status manpage

From
Jeff Hostetler <jeffhost@microsoft.com>
Date
Jul 19, 2016, 22:10 UTC
Message-ID
<1468966258-11191-6-git-send-email-jeffhost@microsoft.com>
In-Reply-To
<1468966258-11191-1-git-send-email-jeffhost@microsoft.com>

This commit updates the status manpage to include information about porcelain format V2.

Signed-off-by: Jeff Hostetler <jeffhost@microsoft.com>
---
 Documentation/git-status.txt | 62 +++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 59 insertions(+), 3 deletions(-)
diff --git a/Documentation/git-status.txt b/Documentation/git-status.txt
index de97729..01c42c0 100644
--- a/Documentation/git-status.txt
+++ b/Documentation/git-status.txt
@@ -185,10 +185,10 @@ If -b is used the short-format status is preceded by a line
 
 ## branchname tracking info
 
-Porcelain Format
-~~~~~~~~~~~~~~~~
+Porcelain Format Version 1
+~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-The porcelain format is similar to the short format, but is guaranteed
+Version 1 porcelain format is similar to the short format, but is guaranteed
 not to change in a backwards-incompatible way between Git versions or
 based on user configuration. This makes it ideal for parsing by scripts.
 The description of the short format above also describes the porcelain
@@ -210,6 +210,62 @@ field from the first filename).  Third, filenames containing special
 characters are not specially formatted; no quoting or
 backslash-escaping is performed.
 
+Porcelain Format Version 2
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+
+If `--branch` is given, a header line showing branch tracking information
+is printed.  This line begins with "### branch: ".  Fields are separated
+by a single space.
+
+    Field                    Meaning
+    --------------------------------------------------------
+    <sha> | (initial)        Current commit
+    <branch> | (detached)    Current branch
+    <upstream>               Upstream branch, if set
+    +<ahead>                 Ahead count, if upstream present
+    -<behind>                Behind count, if upstream present
+    --------------------------------------------------------
+
+A series of lines are then displayed for the tracked entries.
+
+    <xy> <sub> <mA> <mB> <mC> <mD> <shaA> <shaB> <shaC> R<nr> <path>[\t<pathSrc>]
+
+    Field       Meaning
+    --------------------------------------------------------
+    <xy>        The staged and unstaged values described earlier, with
+                unchanged indicated by a "." rather than a space.
+    <sub>       The submodule state. "N" when the entry is not a submodule.
+                "S[C][M][U]" when the entry is a submodule.
+                "C" indicates the submodule commit has changed.
+                "M" indicates the submodule has tracked changes.
+                "U" indicates the submodule has untracked changes.
+    <m*>        The file modes for the entry.
+                For unmerged entries, these are the stage 1, 2, and 3,
+                and the worktree modes.
+                For regular entries, these are the head, index, and
+                worktree modes; the fourth is zero.
+    <sha*>      The SHA1 values for the entry.
+                For unmerged entries, these are the stage 1,2, and 3 values.
+                For regular entries, these are the head and index values;
+                the third entry is zero.
+    R<nr>       The rename percentage score.
+    <path>      The current pathname. It is C-Quoted if necessary.
+    <pathSrc>   The original path. This is only present for staged renames.
+                It is C-Quoted if necessary.
+    --------------------------------------------------------
+
+A series of lines are then displayed for untracked and ignored entries.
+
+    <xx> <path>
+
+Where <xx> is "??" for untracked entries and "!!" for ignored entries.
+
+When the `-z` option is given, a NUL (zero) byte follows each pathname;
+serving as both a separator and line termination. No pathname quoting
+or backslash escaping is performed. All fields are output in the same
+order.
+
 CONFIGURATION
 -------------
 
-- 
2.8.0.rc4.17.gac42084.dirty
Previous: Johannes SchindelinNext: Jakub Narębski
Message 33 of 41 in “Porcelain Status V2”
  1. 0/6 Porcelain Status V2Jeff Hostetler, Jul 19, 2016
  2. 1/6 Allow --porcelain[=<n>] in status and commit commandsJeff Hostetler, Jul 19, 2016
  3. Johannes SchindelinJul 20, 2016
  4. Jeff HostetlerJul 20, 2016
  5. Johannes SchindelinJul 21, 2016
  6. Jeff KingJul 20, 2016
  7. Jeff HostetlerJul 20, 2016
  8. Junio C HamanoJul 20, 2016
  9. 2/6 Status and checkout unit tests for --porcelain[=<n>]Jeff Hostetler, Jul 19, 2016
  10. Johannes SchindelinJul 20, 2016
  11. Jeff HostetlerJul 20, 2016
  12. Jeff KingJul 20, 2016
  13. Jeff KingJul 20, 2016
  14. Jeff HostetlerJul 20, 2016
  15. Jeff HostetlerJul 20, 2016
  16. 3/6 Per-file output for Porcelain Status V2Jeff Hostetler, Jul 19, 2016
  17. Junio C HamanoJul 20, 2016
  18. Johannes SchindelinJul 21, 2016
  19. Junio C HamanoJul 20, 2016
  20. Jeff HostetlerJul 21, 2016
  21. Junio C HamanoJul 22, 2016
  22. 4/6 Expanded branch header for Porcelain Status V2Jeff Hostetler, Jul 19, 2016
  23. Jeff KingJul 20, 2016
  24. Jeff HostetlerJul 20, 2016
  25. Jeff KingJul 20, 2016
  26. Johannes SchindelinJul 21, 2016
  27. Jeff HostetlerJul 21, 2016
  28. 6/6 Unit tests for V2 porcelain statusJeff Hostetler, Jul 19, 2016
  29. Jakub NarębskiJul 20, 2016
  30. Jeff HostetlerJul 20, 2016
  31. Jakub NarębskiJul 20, 2016
  32. Johannes SchindelinJul 21, 2016
  33. 5/6 Add porcelain V2 documentation to status manpageJeff Hostetler, Jul 19, 2016
  34. Jakub NarębskiJul 20, 2016
  35. Jeff HostetlerJul 20, 2016
  36. Jakub NarębskiJul 20, 2016
  37. Junio C HamanoJul 20, 2016
  38. Jeff KingJul 20, 2016
  39. Jeff HostetlerJul 20, 2016
  40. Jeff KingJul 20, 2016
  41. Johannes SchindelinJul 21, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.