[PATCH] Clean up diff option descriptions.

I got tired of maintaining almost duplicated descriptions in
diff-* brothers, both in usage string and documentation.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Junio C Hamano 2005-07-13 12:52:35 -07:00 committed by Linus Torvalds
parent 52f28529f4
commit dda2d79af2
11 changed files with 96 additions and 180 deletions

View File

@ -25,7 +25,7 @@ man1: $(DOC_MAN1)
man7: $(DOC_MAN7) man7: $(DOC_MAN7)
# 'include' dependencies # 'include' dependencies
git-diff-%.txt: diff-format.txt git-diff-%.txt: diff-format.txt diff-options.txt
touch $@ touch $@
clean: clean:

View File

@ -0,0 +1,53 @@
-p::
Generate patch (see section on generating patches)
-u::
Synonym for "-p".
-r::
Look recursivelly in subdirectories; this flag does not
mean anything to commands other than "git-diff-tree";
other commands always looks at all the subdirectories.
-z::
\0 line termination on output
--name-only::
Show only names of changed files.
--name-only-z::
Same as --name-only, but terminate lines with NUL.
-B::
Break complete rewrite changes into pairs of delete and create.
-M::
Detect renames.
-C::
Detect copies as well as renames.
--find-copies-harder::
By default, -C option finds copies only if the original
file of the copy was modified in the same changeset for
performance reasons. This flag makes the command
inspect unmodified files as candidates for the source of
copy. This is a very expensive operation for large
projects, so use it with caution.
-S<string>::
Look for differences that contains the change in <string>.
--pickaxe-all::
When -S finds a change, show all the changes in that
changeset, not just the files that contains the change
in <string>.
-O<orderfile>::
Output the patch in the order specified in the
<orderfile>, which has one shell glob pattern per line.
-R::
Swap two inputs; that is, show differences from cache or
on-disk file to tree contents.

View File

@ -9,7 +9,7 @@ git-diff-cache - Compares content and mode of blobs between the cache and reposi
SYNOPSIS SYNOPSIS
-------- --------
'git-diff-cache' [-p] [-r] [-z] [-m] [--cached] [-R] [-B] [-M] [-C] [--find-copies-harder] [-O<orderfile>] [-S<string>] [--pickaxe-all] <tree-ish> [<path>...] 'git-diff-cache' [-m] [--cached] [<common diff options>] <tree-ish> [<path>...]
DESCRIPTION DESCRIPTION
----------- -----------
@ -21,53 +21,11 @@ entries in the cache are compared.
OPTIONS OPTIONS
------- -------
include::diff-options.txt[]
<tree-ish>:: <tree-ish>::
The id of a tree object to diff against. The id of a tree object to diff against.
-p::
Generate patch (see section on generating patches)
-r::
This flag does not mean anything. It is there only to match
"git-diff-tree". Unlike "git-diff-tree", "git-diff-cache"
always looks at all the subdirectories.
-z::
\0 line termination on output
-B::
Break complete rewrite changes into pairs of delete and create.
-M::
Detect renames.
-C::
Detect copies as well as renames.
--find-copies-harder::
By default, -C option finds copies only if the original
file of the copy was modified in the same changeset for
performance reasons. This flag makes the command
inspect unmodified files as candidates for the source of
copy. This is a very expensive operation for large
projects, so use it with caution.
-S<string>::
Look for differences that contains the change in <string>.
--pickaxe-all::
When -S finds a change, show all the changes in that
changeset, not just the files that contains the change
in <string>.
-O<orderfile>::
Output the patch in the order specified in the
<orderfile>, which has one shell glob pattern per line.
-R::
Swap two inputs; that is, show differences from cache or
on-disk file to tree contents.
--cached:: --cached::
do not consider the on-disk file at all do not consider the on-disk file at all

View File

@ -9,7 +9,7 @@ git-diff-files - Compares files in the working tree and the cache
SYNOPSIS SYNOPSIS
-------- --------
'git-diff-files' [-p] [-q] [-r] [-z] [-R] [-B] [-M] [-C] [--find-copies-harder] [-O<orderfile>] [-S<string>] [--pickaxe-all] [<path>...] 'git-diff-files' [-q] [<common diff options>] [<path>...]
DESCRIPTION DESCRIPTION
----------- -----------
@ -20,51 +20,11 @@ same as "git-diff-cache" and "git-diff-tree".
OPTIONS OPTIONS
------- -------
-p:: include::diff-options.txt[]
generate patch (see section on generating patches).
-q:: -q::
Remain silent even on nonexisting files Remain silent even on nonexisting files
-R::
Swap two inputs; that is, show differences from on-disk files
to cache contents.
-B::
Break complete rewrite changes into pairs of delete and create.
-M::
Detect renames.
-C::
Detect copies as well as renames.
--find-copies-harder::
By default, -C option finds copies only if the original
file of the copy was modified in the same changeset for
performance reasons. This flag makes the command
inspect unmodified files as candidates for the source of
copy. This is a very expensive operation for large
projects, so use it with caution.
-S<string>::
Look for differences that contains the change in <string>.
--pickaxe-all::
When -S finds a change, show all the changes in that
changeset, not just the files that contains the change
in <string>.
-O<orderfile>::
Output the patch in the order specified in the
<orderfile>, which has one shell glob pattern per line.
-r::
This flag does not mean anything. It is there only to match
git-diff-tree. Unlike git-diff-tree, git-diff-files always looks
at all the subdirectories.
Output format Output format
------------- -------------
include::diff-format.txt[] include::diff-format.txt[]

View File

@ -9,7 +9,7 @@ git-diff-stages - Compares content and mode of blobs between stages in an unmerg
SYNOPSIS SYNOPSIS
-------- --------
'git-diff-stages' [-p] [-r] [-z] [-R] [-B] [-M] [-C] [--find-copies-harder] [-O<orderfile>] [-S<string>] [--pickaxe-all] <stage1> <stage2> [<path>...] 'git-diff-stages' [<common diff options>] <stage1> <stage2> [<path>...]
DESCRIPTION DESCRIPTION
----------- -----------
@ -18,53 +18,11 @@ unmerged index file.
OPTIONS OPTIONS
------- -------
include::diff-options.txt[]
<stage1>,<stage2>:: <stage1>,<stage2>::
The stage number to be compared. The stage number to be compared.
-p::
Generate patch (see section on generating patches)
-r::
This flag does not mean anything. It is there only to match
"git-diff-tree". Unlike "git-diff-tree", "git-diff-stages"
always looks at all the subdirectories.
-z::
\0 line termination on output
-B::
Break complete rewrite changes into pairs of delete and create.
-M::
Detect renames.
-C::
Detect copies as well as renames.
--find-copies-harder::
By default, -C option finds copies only if the original
file of the copy was modified in the same changeset for
performance reasons. This flag makes the command
inspect unmodified files as candidates for the source of
copy. This is a very expensive operation for large
projects, so use it with caution.
-S<string>::
Look for differences that contains the change in <string>.
--pickaxe-all::
When -S finds a change, show all the changes in that
changeset, not just the files that contains the change
in <string>.
-O<orderfile>::
Output the patch in the order specified in the
<orderfile>, which has one shell glob pattern per line.
-R::
Swap two inputs; that is, show differences from <stage2> to
<stage1>.
Output format Output format
------------- -------------
include::diff-format.txt[] include::diff-format.txt[]

View File

@ -9,7 +9,7 @@ git-diff-tree - Compares the content and mode of blobs found via two tree object
SYNOPSIS SYNOPSIS
-------- --------
'git-diff-tree' [-p] [-r] [-z] [--stdin] [-m] [-s] [-v] [-t] [-R] [-B] [-M] [-C] [--find-copies-harder] [-O<orderfile>] [-S<string>] [--pickaxe-all] <tree-ish> <tree-ish> [<path>...] 'git-diff-tree' [--stdin] [-m] [-s] [-v] [--pretty] [-t] [<common diff options>] <tree-ish> <tree-ish> [<path>...]
DESCRIPTION DESCRIPTION
----------- -----------
@ -19,6 +19,8 @@ Note that "git-diff-tree" can use the tree encapsulated in a commit object.
OPTIONS OPTIONS
------- -------
include::diff-options.txt[]
<tree-ish>:: <tree-ish>::
The id of a tree object. The id of a tree object.
@ -29,51 +31,9 @@ OPTIONS
Note that this parameter does not provide any wildcard or regexp Note that this parameter does not provide any wildcard or regexp
features. features.
-p::
generate patch (see section on generating patches). For
git-diff-tree, this flag implies '-r' as well.
-B::
Break complete rewrite changes into pairs of delete and create.
-M::
Detect renames.
-C::
Detect copies as well as renames.
--find-copies-harder::
By default, -C option finds copies only if the original
file of the copy was modified in the same changeset for
performance reasons. This flag makes the command
inspect unmodified files as candidates for the source of
copy. This is a very expensive operation for large
projects, so use it with caution.
-R::
Swap two input trees.
-S<string>::
Look for differences that contains the change in <string>.
--pickaxe-all::
When -S finds a change, show all the changes in that
changeset, not just the files that contains the change
in <string>.
-O<orderfile>::
Output the patch in the order specified in the
<orderfile>, which has one shell glob pattern per line.
-r::
recurse
-t:: -t::
show tree entry itself as well as subtrees. Implies -r. show tree entry itself as well as subtrees. Implies -r.
-z::
\0 line termination on output
--root:: --root::
When '--root' is specified the initial commit will be showed as a big When '--root' is specified the initial commit will be showed as a big
creation event. This is equivalent to a diff against the NULL tree. creation event. This is equivalent to a diff against the NULL tree.

View File

@ -159,7 +159,9 @@ static void mark_merge_entries(void)
} }
static char *diff_cache_usage = static char *diff_cache_usage =
"git-diff-cache [-p] [-r] [-z] [-m] [--cached] [-R] [-B] [-M] [-C] [--find-copies-harder] [-O<orderfile>] [-S<string>] [--pickaxe-all] <tree-ish> [<path>...]"; "git-diff-cache [-m] [--cached] "
"[<common diff options>] <tree-ish> [<path>...]"
COMMON_DIFF_OPTIONS_HELP;
int main(int argc, const char **argv) int main(int argc, const char **argv)
{ {

View File

@ -7,7 +7,9 @@
#include "diff.h" #include "diff.h"
static const char *diff_files_usage = static const char *diff_files_usage =
"git-diff-files [-p] [-q] [-r] [-z] [-R] [-B] [-M] [-C] [--find-copies-harder] [-O<orderfile>] [-S<string>] [--pickaxe-all] [<path>...]"; "git-diff-files [-q] "
"[<common diff options>] [<path>...]"
COMMON_DIFF_OPTIONS_HELP;
static int diff_output_format = DIFF_FORMAT_HUMAN; static int diff_output_format = DIFF_FORMAT_HUMAN;
static int detect_rename = 0; static int detect_rename = 0;

View File

@ -17,7 +17,8 @@ static const char *orderfile = NULL;
static const char *diff_filter = NULL; static const char *diff_filter = NULL;
static char *diff_stages_usage = static char *diff_stages_usage =
"git-diff-stages [-p] [-r] [-z] [-R] [-B] [-M] [-C] [--find-copies-harder] [-O<orderfile>] [-S<string>] [--pickaxe-all] <stage1> <stage2> [<path>...]"; "git-diff-stages [<common diff options>] <stage1> <stage2> [<path>...]"
COMMON_DIFF_OPTIONS_HELP;
static void diff_stages(int stage1, int stage2) static void diff_stages(int stage1, int stage2)
{ {

View File

@ -395,7 +395,9 @@ static int diff_tree_stdin(char *line)
} }
static char *diff_tree_usage = static char *diff_tree_usage =
"git-diff-tree [-p] [-r] [-z] [--stdin] [-m] [-s] [-v] [--pretty] [-t] [-R] [-B] [-M] [-C] [--find-copies-header] [-O<orderfile>] [-S<string>] [--pickaxe-all] <tree-ish> <tree-ish>"; "git-diff-tree [--stdin] [-m] [-s] [-v] [--pretty] [-t] "
"[<common diff options>] <tree-ish> <tree-ish>"
COMMON_DIFF_OPTIONS_HELP;
int main(int argc, const char **argv) int main(int argc, const char **argv)
{ {

20
diff.h
View File

@ -53,6 +53,26 @@ extern void diffcore_std_no_resolve(const char **paths,
const char *pickaxe, int pickaxe_opts, const char *pickaxe, int pickaxe_opts,
const char *orderfile, const char *filter); const char *orderfile, const char *filter);
#define COMMON_DIFF_OPTIONS_HELP \
"\ncommon diff options:\n" \
" -r diff recursively (only meaningful in diff-tree)\n" \
" -z output diff-raw with lines terminated with NUL.\n" \
" -p output patch format.\n" \
" -u synonym for -p.\n" \
" --name-only show only names of changed files.\n" \
" --name-only-z\n" \
" same as --name-only but terminate lines with NUL.\n" \
" -R swap input file pairs.\n" \
" -B detect complete rewrites.\n" \
" -M detect renames.\n" \
" -C detect copies.\n" \
" --find-copies-harder\n" \
" try unchanged files as candidate for copy detection.\n" \
" -O<file> reorder diffs according to the <file>.\n" \
" -S<string> find filepair whose only one side contains the string.\n" \
" --pickaxe-all\n" \
" show all files diff when -S is used and hit is found.\n"
extern int diff_queue_is_empty(void); extern int diff_queue_is_empty(void);
#define DIFF_FORMAT_HUMAN 0 #define DIFF_FORMAT_HUMAN 0