aboutsummaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2006-11-08 18:47:54 -0800
committerJunio C Hamano <junkio@cox.net>2006-11-08 18:49:37 -0800
commitacca687fa9db8eaa380b65d63c3f0d4364892acf (patch)
tree93190f338cbb862eacaf8bddf09e93af458783a7 /Documentation
parent659db3f673fe199bad6ce9cc625d3a1b098bfbcf (diff)
downloadgit-acca687fa9db8eaa380b65d63c3f0d4364892acf.tar.gz
git-acca687fa9db8eaa380b65d63c3f0d4364892acf.tar.xz
git-pickaxe: retire pickaxe
Just make it take over blame's place. Documentation and command have all stopped mentioning "git-pickaxe". The built-in synonym is left in the command table, so you can still say "git pickaxe", but it probably is a good idea to retire it as well. Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/git-blame.txt70
-rw-r--r--Documentation/git-pickaxe.txt162
-rw-r--r--Documentation/git.txt3
3 files changed, 68 insertions, 167 deletions
diff --git a/Documentation/git-blame.txt b/Documentation/git-blame.txt
index 9891c1d37..ff54d29d7 100644
--- a/Documentation/git-blame.txt
+++ b/Documentation/git-blame.txt
@@ -7,7 +7,9 @@ git-blame - Show what revision and author last modified each line of a file
SYNOPSIS
--------
-'git-blame' [-c] [-l] [-t] [-f] [-n] [-p] [-S <revs-file>] [--] <file> [<rev>]
+[verse]
+'git-blame' [-c] [-l] [-t] [-f] [-n] [-p] [-L n,m] [-S <revs-file>]
+ [-M] [-C] [-C] [--since=<date>] [<rev>] [--] <file>
DESCRIPTION
-----------
@@ -15,6 +17,8 @@ DESCRIPTION
Annotates each line in the given file with information from the revision which
last modified the line. Optionally, start annotating from the given revision.
+Also it can limit the range of lines annotated.
+
This report doesn't tell you anything about lines which have been deleted or
replaced; you need to use a tool such as gitlink:git-diff[1] or the "pickaxe"
interface briefly mentioned in the following paragraph.
@@ -36,6 +40,12 @@ OPTIONS
-c, --compatibility::
Use the same output mode as gitlink:git-annotate[1] (Default: off).
+-L n,m::
+ Annotate only the specified line range (lines count from
+ 1). The range can be specified with a regexp. For
+ example, `-L '/^sub esc_html /,/^}$/'` limits the
+ annotation only to the body of `esc_html` subroutine.
+
-l, --long::
Show long rev (Default: off).
@@ -56,6 +66,24 @@ OPTIONS
-p, --porcelain::
Show in a format designed for machine consumption.
+-M::
+ Detect moving lines in the file as well. When a commit
+ moves a block of lines in a file (e.g. the original file
+ has A and then B, and the commit changes it to B and
+ then A), traditional 'blame' algorithm typically blames
+ the lines that were moved up (i.e. B) to the parent and
+ assigns blame to the lines that were moved down (i.e. A)
+ to the child commit. With this option, both groups of
+ lines are blamed on the parent.
+
+-C::
+ In addition to `-M`, detect lines copied from other
+ files that were modified in the same commit. This is
+ useful when you reorganize your program and move code
+ around across files. When this option is given twice,
+ the command looks for copies from all other files in the
+ parent for the commit that creates the file in addition.
+
-h, --help::
Show help message.
@@ -86,13 +114,51 @@ The contents of the actual line is output after the above
header, prefixed by a TAB. This is to allow adding more
header elements later.
+
+SPECIFIYING RANGES
+------------------
+
+Unlike `git-blame` and `git-annotate` in older git, the extent
+of annotation can be limited to both line ranges and revision
+ranges. When you are interested in finding the origin for
+ll. 40-60 for file `foo`, you can use `-L` option like this:
+
+ git blame -L 40,60 foo
+
+When you are not interested in changes older than the version
+v2.6.18, or changes older than 3 weeks, you can use revision
+range specifiers similar to `git-rev-list`:
+
+ git blame v2.6.18.. -- foo
+ git blame --since=3.weeks -- foo
+
+When revision range specifiers are used to limit the annotation,
+lines that have not changed since the range boundary (either the
+commit v2.6.18 or the most recent commit that is more than 3
+weeks old in the above example) are blamed for that range
+boundary commit.
+
+A particularly useful way is to see if an added file have lines
+created by copy-and-paste from existing files. Sometimes this
+indicates that the developer was being sloppy and did not
+refactor the code properly. You can first find the commit that
+introduced the file with:
+
+ git log --diff-filter=A --pretty=short -- foo
+
+and then annotate the change between the commit and its
+parents, using `commit{caret}!` notation:
+
+ git blame -C -C -f $commit^! -- foo
+
+
SEE ALSO
--------
gitlink:git-annotate[1]
AUTHOR
------
-Written by Fredrik Kuivinen <freku045@student.liu.se>.
+Written by Junio C Hamano <junkio@cox.net>
GIT
---
diff --git a/Documentation/git-pickaxe.txt b/Documentation/git-pickaxe.txt
deleted file mode 100644
index c08fdec19..000000000
--- a/Documentation/git-pickaxe.txt
+++ /dev/null
@@ -1,162 +0,0 @@
-git-pickaxe(1)
-==============
-
-NAME
-----
-git-pickaxe - Show what revision and author last modified each line of a file
-
-SYNOPSIS
---------
-[verse]
-'git-pickaxe' [-c] [-l] [-t] [-f] [-n] [-p] [-L n,m] [-S <revs-file>]
- [-M] [-C] [-C] [--since=<date>] [<rev>] [--] <file>
-
-DESCRIPTION
------------
-
-Annotates each line in the given file with information from the revision which
-last modified the line. Optionally, start annotating from the given revision.
-
-Also it can limit the range of lines annotated.
-
-This report doesn't tell you anything about lines which have been deleted or
-replaced; you need to use a tool such as gitlink:git-diff[1] or the "pickaxe"
-interface briefly mentioned in the following paragraph.
-
-Apart from supporting file annotation, git also supports searching the
-development history for when a code snippet occured in a change. This makes it
-possible to track when a code snippet was added to a file, moved or copied
-between files, and eventually deleted or replaced. It works by searching for
-a text string in the diff. A small example:
-
------------------------------------------------------------------------------
-$ git log --pretty=oneline -S'blame_usage'
-5040f17eba15504bad66b14a645bddd9b015ebb7 blame -S <ancestry-file>
-ea4c7f9bf69e781dd0cd88d2bccb2bf5cc15c9a7 git-blame: Make the output
------------------------------------------------------------------------------
-
-OPTIONS
--------
--c, --compatibility::
- Use the same output mode as gitlink:git-annotate[1] (Default: off).
-
--L n,m::
- Annotate only the specified line range (lines count from 1).
-
--l, --long::
- Show long rev (Default: off).
-
--t, --time::
- Show raw timestamp (Default: off).
-
--S, --rev-file <revs-file>::
- Use revs from revs-file instead of calling gitlink:git-rev-list[1].
-
--f, --show-name::
- Show filename in the original commit. By default
- filename is shown if there is any line that came from a
- file with different name, due to rename detection.
-
--n, --show-number::
- Show line number in the original commit (Default: off).
-
--p, --porcelain::
- Show in a format designed for machine consumption.
-
--M::
- Detect moving lines in the file as well. When a commit
- moves a block of lines in a file (e.g. the original file
- has A and then B, and the commit changes it to B and
- then A), traditional 'blame' algorithm typically blames
- the lines that were moved up (i.e. B) to the parent and
- assigns blame to the lines that were moved down (i.e. A)
- to the child commit. With this option, both groups of
- lines are blamed on the parent.
-
--C::
- In addition to `-M`, detect lines copied from other
- files that were modified in the same commit. This is
- useful when you reorganize your program and move code
- around across files. When this option is given twice,
- the command looks for copies from all other files in the
- parent for the commit that creates the file in addition.
-
--h, --help::
- Show help message.
-
-
-THE PORCELAIN FORMAT
---------------------
-
-In this format, each line is output after a header; the
-header at the minumum has the first line which has:
-
-- 40-byte SHA-1 of the commit the line is attributed to;
-- the line number of the line in the original file;
-- the line number of the line in the final file;
-- on a line that starts a group of line from a different
- commit than the previous one, the number of lines in this
- group. On subsequent lines this field is absent.
-
-This header line is followed by the following information
-at least once for each commit:
-
-- author name ("author"), email ("author-mail"), time
- ("author-time"), and timezone ("author-tz"); similarly
- for committer.
-- filename in the commit the line is attributed to.
-- the first line of the commit log message ("summary").
-
-The contents of the actual line is output after the above
-header, prefixed by a TAB. This is to allow adding more
-header elements later.
-
-
-SPECIFIYING RANGES
-------------------
-
-Unlike `git-blame` and `git-annotate` in older git, the extent
-of annotation can be limited to both line ranges and revision
-ranges. When you are interested in finding the origin for
-ll. 40-60 for file `foo`, you can use `-L` option like this:
-
- git pickaxe -L 40,60 foo
-
-When you are not interested in changes older than the version
-v2.6.18, or changes older than 3 weeks, you can use revision
-range specifiers similar to `git-rev-list`:
-
- git pickaxe v2.6.18.. -- foo
- git pickaxe --since=3.weeks -- foo
-
-When revision range specifiers are used to limit the annotation,
-lines that have not changed since the range boundary (either the
-commit v2.6.18 or the most recent commit that is more than 3
-weeks old in the above example) are blamed for that range
-boundary commit.
-
-A particularly useful way is to see if an added file have lines
-created by copy-and-paste from existing files. Sometimes this
-indicates that the developer was being sloppy and did not
-refactor the code properly. You can first find the commit that
-introduced the file with:
-
- git log --diff-filter=A --pretty=short -- foo
-
-and then annotate the change between the commit and its
-parents, using `commit{caret}!` notation:
-
- git pickaxe -C -C -f $commit^! -- foo
-
-
-SEE ALSO
---------
-gitlink:git-blame[1]
-
-AUTHOR
-------
-Written by Junio C Hamano <junkio@cox.net>
-
-GIT
----
-Part of the gitlink:git[7] suite
diff --git a/Documentation/git.txt b/Documentation/git.txt
index 4facf2309..52bc05ad5 100644
--- a/Documentation/git.txt
+++ b/Documentation/git.txt
@@ -252,9 +252,6 @@ gitlink:git-annotate[1]::
Annotate file lines with commit info.
gitlink:git-blame[1]::
- Blame file lines on commits.
-
-gitlink:git-pickaxe[1]::
Find out where each line in a file came from.
gitlink:git-check-ref-format[1]::