diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines index 46f8a3fab13..1b1c45df5ce 100644 --- a/Documentation/CodingGuidelines +++ b/Documentation/CodingGuidelines @@ -143,3 +143,55 @@ For C programs: - When we pass pair to functions, we should try to pass them in that order. + +Writing Documentation: + + Every user-visible change should be reflected in the documentation. + The same general rule as for code applies -- imitate the existing + conventions. A few commented examples follow to provide reference + when writing or modifying command usage strings and synopsis sections + in the manual pages: + + Placeholders are enclosed in angle brackets: + + --sort= + --abbrev[=] + + Possibility of multiple occurences is indicated by three dots: + ... + (One or more of .) + + Optional parts are enclosed in square brackets: + [] + (Zero or one .) + + --exec-path[=] + (Option with an optional argument. Note that the "=" is inside the + brackets.) + + [...] + (Zero or more of . Note that the dots are inside, not + outside the brackets.) + + Multiple alternatives are indicated with vertical bar: + [-q | --quiet] + [--utf8 | --no-utf8] + + Parentheses are used for grouping: + [(|)...] + (Any number of either or . Parens are needed to make + it clear that "..." pertains to both and .) + + [(-p )...] + (Any number of option -p, each with one argument.) + + git remote set-head (-a | -d | ) + (One and only one of "-a", "-d" or "" _must_ (no square + brackets) be provided.) + + And a somewhat more contrived example: + --diff-filter=[(A|C|D|M|R|T|U|X|B)...[*]] + Here "=" is outside the brackets, because "--diff-filter=" is a + valid usage. "*" has its own pair of brackets, because it can + (optionally) be specified only when one or more of the letters is + also provided. diff --git a/Documentation/git-diff.txt b/Documentation/git-diff.txt index dd1fb32786f..f6ac847507a 100644 --- a/Documentation/git-diff.txt +++ b/Documentation/git-diff.txt @@ -8,12 +8,17 @@ git-diff - Show changes between commits, commit and working tree, etc SYNOPSIS -------- -'git diff' [] {0,2} [--] [...] +[verse] +'git diff' [options] [] [--] [...] +'git diff' [options] --cached [] [--] [...] +'git diff' [options] [--] [...] +'git diff' [options] [--no-index] [--] DESCRIPTION ----------- -Show changes between two trees, a tree and the working tree, a -tree and the index file, or the index file and the working tree. +Show changes between the working tree and the index or a tree, changes +between the index and a tree, changes between two trees, or changes +between two files on disk. 'git diff' [--options] [--] [...]:: diff --git a/Documentation/git-difftool.txt b/Documentation/git-difftool.txt index 8250bad2ce9..6fffbc7bf89 100644 --- a/Documentation/git-difftool.txt +++ b/Documentation/git-difftool.txt @@ -7,13 +7,14 @@ git-difftool - Show changes using common diff tools SYNOPSIS -------- -'git difftool' [] {0,2} [--] [...] +'git difftool' [] [ []] [--] [...] DESCRIPTION ----------- 'git difftool' is a git command that allows you to compare and edit files between revisions using common diff tools. 'git difftool' is a frontend -to 'git diff' and accepts the same options and arguments. +to 'git diff' and accepts the same options and arguments. See +linkgit:git-diff[1]. OPTIONS ------- diff --git a/builtin/diff.c b/builtin/diff.c index a43d3263638..945e7583a82 100644 --- a/builtin/diff.c +++ b/builtin/diff.c @@ -22,7 +22,7 @@ struct blobinfo { }; static const char builtin_diff_usage[] = -"git diff {0,2} -- *"; +"git diff [] [ []] [--] [...]"; static void stuff_change(struct diff_options *opt, unsigned old_mode, unsigned new_mode,