Skip to content

Commit

Permalink
[PATCH] Update diff documentation.
Browse files Browse the repository at this point in the history
This updates diff documentation to discuss --find-copies-harder,
and adds descriptions for options that were not described
earlier.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Junio C Hamano authored and Linus Torvalds committed Jun 20, 2005
1 parent 4727f64 commit 232b75a
Show file tree
Hide file tree
Showing 7 changed files with 130 additions and 15 deletions.
16 changes: 7 additions & 9 deletions Documentation/diffcore.txt
Original file line number Diff line number Diff line change
Expand Up @@ -150,15 +150,13 @@ similarity score different from the default 50% by giving a
number after "-M" or "-C" option (e.g. "-M8" to tell it to use
8/10 = 80%).

Note. When the "-C" option is used, git-diff-cache and
git-diff-file commands feed not just modified filepairs but
unmodified ones to diffcore mechanism as well. This lets the
copy detector consider unmodified files as copy source
candidates at the expense of making it slower. Currently
git-diff-tree does not feed unmodified filepairs even when the
"-C" option is used, so it can detect copies only if the file
that was copied happened to have been modified in the same
changeset.
Note. When the "-C" option is used with --find-copies-harder
option, git-diff-* commands feed unmodified filepairs to
diffcore mechanism as well as modified ones. This lets the copy
detector consider unmodified files as copy source candidates at
the expense of making it slower. Without --find-copies-harder,
git-diff-* commands can detect copies only if the file that was
copied happened to have been modified in the same changeset.


diffcore-merge-broken
Expand Down
10 changes: 9 additions & 1 deletion Documentation/git-diff-cache.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ git-diff-cache - Compares content and mode of blobs between the cache and reposi

SYNOPSIS
--------
'git-diff-cache' [-p] [-r] [-z] [-m] [-B] [-M] [-R] [-C] [-O<orderfile>] [-S<string>] [--pickaxe-all] [--cached] <tree-ish> [<path>...]
'git-diff-cache' [-p] [-r] [-z] [-m] [--cached] [-R] [-B] [-M] [-C] [--find-copies-harder] [-O<orderfile>] [-S<string>] [--pickaxe-all] <tree-ish> [<path>...]

DESCRIPTION
-----------
Expand Down Expand Up @@ -44,6 +44,14 @@ OPTIONS
-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>.

Expand Down
10 changes: 9 additions & 1 deletion Documentation/git-diff-files.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ git-diff-files - Compares files in the working tree and the cache

SYNOPSIS
--------
'git-diff-files' [-p] [-q] [-r] [-z] [-B] [-M] [-C] [-R] [-O<orderfile>] [-S<string>] [--pickaxe-all] [<pattern>...]
'git-diff-files' [-p] [-q] [-r] [-z] [-R] [-B] [-M] [-C] [--find-copies-harder] [-O<orderfile>] [-S<string>] [--pickaxe-all] [<path>...]

DESCRIPTION
-----------
Expand Down Expand Up @@ -39,6 +39,14 @@ OPTIONS
-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>.

Expand Down
5 changes: 5 additions & 0 deletions Documentation/git-diff-helper.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,11 @@ OPTIONS
-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.
Expand Down
83 changes: 83 additions & 0 deletions Documentation/git-diff-stages.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
git-diff-stages(1)
==================
v0.1, June 2005

NAME
----
git-diff-stages - Compares content and mode of blobs between stages in an unmerged index file.


SYNOPSIS
--------
'git-diff-stages' [-p] [-r] [-z] [-R] [-B] [-M] [-C] [--find-copies-harder] [-O<orderfile>] [-S<string>] [--pickaxe-all] <stage1> <stage2> [<path>...]

DESCRIPTION
-----------
Compares the content and mode of the blobs in two stages in an
unmerged index file.

OPTIONS
-------
<stage1>,<stage2>::
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
-------------
include::diff-format.txt[]


Author
------
Written by Junio C Hamano <junkio@cox.net>

Documentation
--------------
Documentation by Junio C Hamano.

GIT
---
Part of the link:git.html[git] suite
19 changes: 16 additions & 3 deletions Documentation/git-diff-tree.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ git-diff-tree - Compares the content and mode of blobs found via two tree object

SYNOPSIS
--------
'git-diff-tree' [-p] [-r] [-z] [--stdin] [-B] [-M] [-R] [-C] [-O<orderfile>] [-S<string>] [--pickaxe-all] [-m] [-s] [-v] [-t] <tree-ish> <tree-ish> [<pattern>]\*
'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>...]

DESCRIPTION
-----------
Expand All @@ -22,11 +22,11 @@ OPTIONS
<tree-ish>::
The id of a tree object.

<pattern>::
<path>...::
If provided, the results are limited to a subset of files
matching one of these prefix strings.
ie file matches `/^<pattern1>|<pattern2>|.../`
Note that pattern does not provide any wildcard or regexp
Note that this parameter does not provide any wildcard or regexp
features.

-p::
Expand All @@ -42,6 +42,14 @@ OPTIONS
-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.

Expand Down Expand Up @@ -96,6 +104,11 @@ separated with a single space are given.
This flag causes "git-diff-tree --stdin" to also show
the commit message before the differences.

--pretty[=(raw|medium|short)]::
This is used to control "pretty printing" format of the
commit message. Without "=<style>", it defaults to
medium.


Limiting Output
---------------
Expand Down
2 changes: 1 addition & 1 deletion diff-helper.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ static void flush_them(int ac, const char **av)
}

static const char *diff_helper_usage =
"git-diff-helper [-z] [-S<string>] [-O<orderfile>] paths...";
"git-diff-helper [-z] [-O<orderfile>] [-S<string>] [--pickaxe-all] [<path>...]";

int main(int ac, const char **av) {
struct strbuf sb;
Expand Down

0 comments on commit 232b75a

Please sign in to comment.