diff options
author | Junio C Hamano <junkio@cox.net> | 2005-06-03 01:36:43 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-03 11:23:03 -0700 |
commit | ce24067549a8554b214e723d7aa4bc063c54409e (patch) | |
tree | 3dfaf2756f55a43a2e87092550cdc5dab4c82e9b | |
parent | [PATCH] Tweak count-delta interface (diff) | |
download | tgif-ce24067549a8554b214e723d7aa4bc063c54409e.tar.xz |
[PATCH] diff: Fix docs and add -O to diff-helper.
This patch updates diff documentation and usage strings:
- clarify the semantics of -R. It is not "output in reverse";
rather, it is "I will feed diff backwards". Semantically
they are different when -C is involved.
- describe -O in usage strings of diff-* brothers. It was
implemented, documented but not described in usage text.
Also it adds -O to diff-helper. Like -S (and unlike -M/-C/-B),
this option can work on sanitized diff-raw output produced by
the diff-* brothers. While we are at it, the call it makes to
diffcore is cleaned up to use the diffcore_std() like everybody
else, and the declaration for the low level diffcore routines
are moved from diff.h (public) to diffcore.h (private between
diff.c and diffcore backends).
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | Documentation/git-diff-cache.txt | 3 | ||||
-rw-r--r-- | Documentation/git-diff-files.txt | 3 | ||||
-rw-r--r-- | Documentation/git-diff-helper.txt | 5 | ||||
-rw-r--r-- | Documentation/git-diff-tree.txt | 2 | ||||
-rw-r--r-- | diff-cache.c | 2 | ||||
-rw-r--r-- | diff-files.c | 2 | ||||
-rw-r--r-- | diff-helper.c | 25 | ||||
-rw-r--r-- | diff-tree.c | 2 | ||||
-rw-r--r-- | diff.h | 10 | ||||
-rw-r--r-- | diffcore.h | 6 |
10 files changed, 33 insertions, 27 deletions
diff --git a/Documentation/git-diff-cache.txt b/Documentation/git-diff-cache.txt index 9c7832f6e2..14041f3df8 100644 --- a/Documentation/git-diff-cache.txt +++ b/Documentation/git-diff-cache.txt @@ -57,7 +57,8 @@ OPTIONS <orderfile>, which has one shell glob pattern per line. -R:: - Output diff in reverse. + Swap two inputs; that is, show differences from cache or + on-disk file to tree contents. --cached:: do not consider the on-disk file at all diff --git a/Documentation/git-diff-files.txt b/Documentation/git-diff-files.txt index 8439355b06..58137b3b9e 100644 --- a/Documentation/git-diff-files.txt +++ b/Documentation/git-diff-files.txt @@ -27,7 +27,8 @@ OPTIONS Remain silent even on nonexisting files -R:: - Output diff in reverse. + 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. diff --git a/Documentation/git-diff-helper.txt b/Documentation/git-diff-helper.txt index 90342c9125..29c5967d13 100644 --- a/Documentation/git-diff-helper.txt +++ b/Documentation/git-diff-helper.txt @@ -9,7 +9,7 @@ git-diff-helper - Generates patch format output for git-diff-* SYNOPSIS -------- -'git-diff-helper' [-z] [-S<string>] +'git-diff-helper' [-z] [-S<string>] [-O<orderfile>] DESCRIPTION ----------- @@ -24,6 +24,9 @@ OPTIONS -S<string>:: Look for differences 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. See Also -------- diff --git a/Documentation/git-diff-tree.txt b/Documentation/git-diff-tree.txt index 9e038856e3..762546bfe9 100644 --- a/Documentation/git-diff-tree.txt +++ b/Documentation/git-diff-tree.txt @@ -43,7 +43,7 @@ OPTIONS Detect copies as well as renames. -R:: - Output diff in reverse. + Swap two input trees. -S<string>:: Look for differences that contains the change in <string>. diff --git a/diff-cache.c b/diff-cache.c index 2aaf16a39d..8e5f72bf3f 100644 --- a/diff-cache.c +++ b/diff-cache.c @@ -157,7 +157,7 @@ static void mark_merge_entries(void) } static char *diff_cache_usage = -"git-diff-cache [-p] [-r] [-z] [-m] [-M] [-C] [-R] [-S<string>] [--cached] <tree-ish> [<path>...]"; +"git-diff-cache [-p] [-r] [-z] [-m] [-M] [-C] [-R] [-S<string>] [-O<orderfile>] [--cached] <tree-ish> [<path>...]"; int main(int argc, const char **argv) { diff --git a/diff-files.c b/diff-files.c index 3b05497a85..a425112c9e 100644 --- a/diff-files.c +++ b/diff-files.c @@ -7,7 +7,7 @@ #include "diff.h" static const char *diff_files_usage = -"git-diff-files [-p] [-q] [-r] [-z] [-M] [-C] [-R] [-S<string>] [paths...]"; +"git-diff-files [-p] [-q] [-r] [-z] [-M] [-C] [-R] [-S<string>] [-O<orderfile>] [paths...]"; static int diff_output_format = DIFF_FORMAT_HUMAN; static int detect_rename = 0; diff --git a/diff-helper.c b/diff-helper.c index c9e287f652..04e6f2cd72 100644 --- a/diff-helper.c +++ b/diff-helper.c @@ -7,11 +7,22 @@ static const char *pickaxe = NULL; static int pickaxe_opts = 0; +static const char *orderfile = NULL; static int line_termination = '\n'; static int inter_name_termination = '\t'; +static void flush_them(int ac, const char **av) +{ + diffcore_std(av + 1, + 0, 0, /* no renames */ + pickaxe, pickaxe_opts, + -1, /* no breaks */ + orderfile); + diff_flush(DIFF_FORMAT_PATCH, 0); +} + static const char *diff_helper_usage = - "git-diff-helper [-z] [-S<string>] paths..."; + "git-diff-helper [-z] [-S<string>] [-O<orderfile>] paths..."; int main(int ac, const char **av) { struct strbuf sb; @@ -131,17 +142,9 @@ int main(int ac, const char **av) { new_path); continue; } - if (1 < ac) - diffcore_pathspec(av + 1); - if (pickaxe) - diffcore_pickaxe(pickaxe, pickaxe_opts); - diff_flush(DIFF_FORMAT_PATCH, 0); + flush_them(ac, av); printf(garbage_flush_format, sb.buf); } - if (1 < ac) - diffcore_pathspec(av + 1); - if (pickaxe) - diffcore_pickaxe(pickaxe, pickaxe_opts); - diff_flush(DIFF_FORMAT_PATCH, 0); + flush_them(ac, av); return 0; } diff --git a/diff-tree.c b/diff-tree.c index a6d358fb34..c3a5617c57 100644 --- a/diff-tree.c +++ b/diff-tree.c @@ -397,7 +397,7 @@ static int diff_tree_stdin(char *line) } static char *diff_tree_usage = -"git-diff-tree [-p] [-r] [-z] [--stdin] [-M] [-C] [-R] [-S<string>] [-m] [-s] [-v] [-t] <tree-ish> <tree-ish>"; +"git-diff-tree [-p] [-r] [-z] [--stdin] [-M] [-C] [-R] [-S<string>] [-O<orderfile>] [-m] [-s] [-v] [-t] <tree-ish> <tree-ish>"; int main(int argc, const char **argv) { @@ -35,21 +35,13 @@ extern int diff_scoreopt_parse(const char *opt); #define DIFF_SETUP_REVERSE 1 #define DIFF_SETUP_USE_CACHE 2 #define DIFF_SETUP_USE_SIZE_CACHE 4 + extern void diff_setup(int flags); #define DIFF_DETECT_RENAME 1 #define DIFF_DETECT_COPY 2 -extern void diffcore_rename(int rename_copy, int minimum_score); - #define DIFF_PICKAXE_ALL 1 -extern void diffcore_pickaxe(const char *needle, int opts); - -extern void diffcore_pathspec(const char **pathspec); - -extern void diffcore_order(const char *orderfile); - -extern void diffcore_break(int max_score); extern void diffcore_std(const char **paths, int detect_rename, int rename_score, diff --git a/diffcore.h b/diffcore.h index 1f4b32c1c1..2e613ebe89 100644 --- a/diffcore.h +++ b/diffcore.h @@ -73,6 +73,12 @@ extern struct diff_filepair *diff_queue(struct diff_queue_struct *, struct diff_filespec *); extern void diff_q(struct diff_queue_struct *, struct diff_filepair *); +extern void diffcore_pathspec(const char **pathspec); +extern void diffcore_break(int); +extern void diffcore_rename(int rename_copy, int); +extern void diffcore_pickaxe(const char *needle, int opts); +extern void diffcore_order(const char *orderfile); + #define DIFF_DEBUG 0 #if DIFF_DEBUG void diff_debug_filespec(struct diff_filespec *, int, const char *); |