From: Jeff Hostetler Date: Tue, 26 Jul 2016 21:11:22 GMT Subject: [PATCH v3 7/8] status: update git-status.txt for --porcelain=v2 Message-ID: <1469567483-58794-8-git-send-email-git@jeffhostetler.com> In-Reply-To: <1469567483-58794-1-git-send-email-git@jeffhostetler.com> From: Jeff Hostetler Update status manpage to include information about porcelain v2 format. Signed-off-by: Jeff Hostetler Signed-off-by: Jeff Hostetler --- Documentation/git-status.txt | 93 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 90 insertions(+), 3 deletions(-) diff --git a/Documentation/git-status.txt b/Documentation/git-status.txt index 6b1454b..ed3590d 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,93 @@ 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 +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Version 2 format adds more detailed information about the state of +the worktree and changed items. + +If `--branch` is given, a series of header lines are printed with +information about the current branch. + + Line Notes + -------------------------------------------------------- + # branch.oid | (initial) Current commit + # branch.head | (detached) Current branch + # branch.upstream If set + # branch.ab + - If set and present + -------------------------------------------------------- + +A series of lines are then displayed for the tracked entries. +Ordinary changed entries have the following format: + + 1 + +Renamed or copied entries have the following format: + + 2 \t + + Field Meaning + -------------------------------------------------------- + A 2 character field containing the staged and + unstaged XY values described in the short format, + with unchanged indicated by a "." rather than + a space. + A 4 character field describing the submodule state. + "N..." when the entry is not a submodule. + "S" when the entry is a submodule. + is "C" if the commit changed; otherwise ".". + is "M" if it has tracked changes; otherwise ".". + is "U" if there are untracked changes; otherwise ".". + The 6 character octal file mode in the HEAD. + The octal file mode in the index. + The octal file mode in the worktree. + The SHA1 value in the HEAD. + The SHA1 value in the index. + The rename or copied percentage score. For example "R100" + or "C75". + The current pathname. + The original path. This is only present when the entry + has been renamed or copied. + -------------------------------------------------------- + +Unmerged entries have the following format; the first character is +a "u" to distinguish from ordinary changed entries. + + u

+ + Field Meaning + -------------------------------------------------------- + A 2 character field describing the conflict type + as described in the short format. + A 4 character field describing the submodule state + as described above. + The octal file mode for stage 1. + The octal file mode for stage 2. + The octal file mode for stage 3. + The octal file mode in the worktree. +

The SHA1 value for stage 1. +

The SHA1 value for stage 2. +

The SHA1 value for stage 3. + The current pathname. + -------------------------------------------------------- + +A series of lines are then displayed for untracked and ignored entries. + + + +Where is "?" for untracked entries and "!" for ignored entries. + +In all 3 line formats, pathnames will be "C Quoted" if they contain +any of the following characters: TAB, LF, double quotes, or backslashes. +These characters will be replaced with \t, \n, \", and \\, respectively, +and the pathname will be enclosed in double quotes. + +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