summaryrefslogtreecommitdiff
path: root/Documentation/git-pickaxe.txt
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <junkio@cox.net>2006-11-08 18:47:54 -0800
committerLibravatar Junio C Hamano <junkio@cox.net>2006-11-08 18:49:37 -0800
commitacca687fa9db8eaa380b65d63c3f0d4364892acf (patch)
tree93190f338cbb862eacaf8bddf09e93af458783a7 /Documentation/git-pickaxe.txt
parentMerge git://git.kernel.org/pub/scm/gitk/gitk (diff)
downloadtgif-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/git-pickaxe.txt')
-rw-r--r--Documentation/git-pickaxe.txt162
1 files changed, 0 insertions, 162 deletions
diff --git a/Documentation/git-pickaxe.txt b/Documentation/git-pickaxe.txt
deleted file mode 100644
index c08fdec191..0000000000
--- 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