summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Documentation/SubmittingPatches4
-rw-r--r--Documentation/core-tutorial.txt2
-rw-r--r--Documentation/diff-options.txt4
-rw-r--r--Documentation/git-add.txt5
-rw-r--r--Documentation/git-clean.txt5
-rw-r--r--Documentation/git-cvsexportcommit.txt9
-rw-r--r--Documentation/git-grep.txt85
-rw-r--r--Documentation/git-merge-base.txt18
-rw-r--r--Documentation/git-quiltimport.txt61
-rw-r--r--Documentation/git-rebase.txt11
-rw-r--r--Documentation/git-repo-config.txt9
-rw-r--r--Documentation/git-rev-list.txt7
-rw-r--r--Documentation/git-rev-parse.txt9
-rw-r--r--Documentation/git-update-index.txt6
-rwxr-xr-xDocumentation/install-webdoc.sh8
-rw-r--r--Makefile60
-rw-r--r--apply.c398
-rw-r--r--base85.c140
-rw-r--r--builtin-check-ref-format.c14
-rw-r--r--builtin-diff.c13
-rw-r--r--builtin-grep.c902
-rw-r--r--builtin-init-db.c (renamed from init-db.c)12
-rw-r--r--builtin-log.c7
-rw-r--r--builtin-rev-list.c (renamed from rev-list.c)5
-rw-r--r--builtin.h4
-rw-r--r--cache.h10
-rw-r--r--cat-file.c7
-rw-r--r--check-ref-format.c17
-rw-r--r--checkout-index.c4
-rw-r--r--combine-diff.c1
-rw-r--r--commit-tree.c8
-rw-r--r--commit.c41
-rw-r--r--config.c110
-rw-r--r--contrib/remotes2config.sh35
-rw-r--r--convert-objects.c4
-rw-r--r--delta.h75
-rw-r--r--describe.c6
-rw-r--r--diff-delta.c354
-rw-r--r--diff-tree.c5
-rw-r--r--diff.c380
-rw-r--r--diff.h6
-rwxr-xr-xgit-am.sh49
-rwxr-xr-xgit-branch.sh3
-rwxr-xr-xgit-checkout.sh2
-rwxr-xr-xgit-clean.sh17
-rwxr-xr-xgit-clone.sh6
-rwxr-xr-xgit-commit.sh2
-rwxr-xr-xgit-cvsexportcommit.perl22
-rwxr-xr-xgit-cvsimport.perl2
-rwxr-xr-xgit-cvsserver.perl253
-rwxr-xr-xgit-format-patch.sh2
-rwxr-xr-xgit-grep.sh62
-rwxr-xr-xgit-merge.sh3
-rwxr-xr-xgit-parse-remote.sh28
-rwxr-xr-xgit-quiltimport.sh118
-rwxr-xr-xgit-rebase.sh21
-rwxr-xr-xgit-repack.sh14
-rwxr-xr-xgit-request-pull.sh2
-rwxr-xr-xgit-reset.sh50
-rwxr-xr-xgit-revert.sh2
-rwxr-xr-xgit-send-email.perl123
-rwxr-xr-xgit-tag.sh8
-rw-r--r--git.c4
-rw-r--r--git.spec.in4
-rw-r--r--ls-tree.c4
-rw-r--r--merge-base.c17
-rw-r--r--merge-tree.c2
-rw-r--r--pack-objects.c85
-rw-r--r--patch-delta.c2
-rw-r--r--read-cache.c119
-rw-r--r--read-tree.c62
-rw-r--r--refs.c28
-rw-r--r--refs.h3
-rw-r--r--repo-config.c11
-rw-r--r--rev-parse.c17
-rw-r--r--revision.c4
-rw-r--r--sha1_file.c180
-rw-r--r--sha1_name.c55
-rw-r--r--ssh-upload.c2
-rwxr-xr-xt/t1002-read-tree-m-u-2way.sh66
-rwxr-xr-xt/t1300-repo-config.sh8
-rwxr-xr-xt/t2101-update-index-reupdate.sh82
-rwxr-xr-xt/t3500-cherry.sh1
-rwxr-xr-xt/t4002-diff-basic.sh6
-rwxr-xr-xt/t4012-diff-binary.sh85
-rwxr-xr-xt/t5700-clone-reference.sh78
-rwxr-xr-xt/t5710-info-alternate.sh105
-rwxr-xr-xt/t6022-merge-rename.sh1
-rw-r--r--t/test4012.pngbin0 -> 5660 bytes
-rw-r--r--tar-tree.c4
-rw-r--r--unpack-file.c4
-rw-r--r--update-index.c192
-rw-r--r--update-ref.c4
93 files changed, 3881 insertions, 1004 deletions
diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches
index 318b04fdeb..8601949e80 100644
--- a/Documentation/SubmittingPatches
+++ b/Documentation/SubmittingPatches
@@ -266,8 +266,8 @@ This recipe appears to work with the current [*1*] Thunderbird from Suse.
The following Thunderbird extensions are needed:
AboutConfig 0.5
http://aboutconfig.mozdev.org/
- External Editor 0.5.4
- http://extensionroom.mozdev.org/more-info/exteditor
+ External Editor 0.7.2
+ http://globs.org/articles.php?lng=en&pg=8
1) Prepare the patch as a text file using your method of choice.
diff --git a/Documentation/core-tutorial.txt b/Documentation/core-tutorial.txt
index 4211c81972..d1360ecde2 100644
--- a/Documentation/core-tutorial.txt
+++ b/Documentation/core-tutorial.txt
@@ -971,7 +971,7 @@ $ git show-branch --topo-order master mybranch
The first two lines indicate that it is showing the two branches
and the first line of the commit log message from their
top-of-the-tree commits, you are currently on `master` branch
-(notice the asterisk `*` character), and the first column for
+(notice the asterisk `\*` character), and the first column for
the later output lines is used to show commits contained in the
`master` branch, and the second column for the `mybranch`
branch. Three commits are shown along with their log messages.
diff --git a/Documentation/diff-options.txt b/Documentation/diff-options.txt
index c183dc9da0..f523ec2fbe 100644
--- a/Documentation/diff-options.txt
+++ b/Documentation/diff-options.txt
@@ -10,6 +10,10 @@
--stat::
Generate a diffstat instead of a patch.
+--summary::
+ Output a condensed summary of extended header information
+ such as creations, renames and mode changes.
+
--patch-with-stat::
Generate patch and prepend its diffstat.
diff --git a/Documentation/git-add.txt b/Documentation/git-add.txt
index 5e3112943d..6342ea33e4 100644
--- a/Documentation/git-add.txt
+++ b/Documentation/git-add.txt
@@ -14,11 +14,13 @@ DESCRIPTION
A simple wrapper for git-update-index to add files to the index,
for people used to do "cvs add".
+It only adds non-ignored files, to add ignored files use
+"git update-index --add".
OPTIONS
-------
<file>...::
- Files to add to the index.
+ Files to add to the index (see gitlink:git-ls-files[1]).
-n::
Don't actually add the file(s), just show if they exist.
@@ -68,6 +70,7 @@ git-add git-*.sh::
See Also
--------
gitlink:git-rm[1]
+gitlink:git-ls-files[1]
Author
------
diff --git a/Documentation/git-clean.txt b/Documentation/git-clean.txt
index 36890c543d..c61afbcdba 100644
--- a/Documentation/git-clean.txt
+++ b/Documentation/git-clean.txt
@@ -8,7 +8,7 @@ git-clean - Remove untracked files from the working tree
SYNOPSIS
--------
[verse]
-'git-clean' [-d] [-n] [-q] [-x | -X]
+'git-clean' [-d] [-n] [-q] [-x | -X] [--] <paths>...
DESCRIPTION
-----------
@@ -16,6 +16,9 @@ Removes files unknown to git. This allows to clean the working tree
from files that are not under version control. If the '-x' option is
specified, ignored files are also removed, allowing to remove all
build products.
+When optional `<paths>...` arguments are given, the paths
+affected are further limited to those that match them.
+
OPTIONS
-------
diff --git a/Documentation/git-cvsexportcommit.txt b/Documentation/git-cvsexportcommit.txt
index d30435a9e4..56bd3e517d 100644
--- a/Documentation/git-cvsexportcommit.txt
+++ b/Documentation/git-cvsexportcommit.txt
@@ -8,7 +8,7 @@ git-cvsexportcommit - Export a commit to a CVS checkout
SYNOPSIS
--------
-'git-cvsexportcommmit' [-h] [-v] [-c] [-p] [PARENTCOMMIT] COMMITID
+'git-cvsexportcommmit' [-h] [-v] [-c] [-p] [-f] [-m msgprefix] [PARENTCOMMIT] COMMITID
DESCRIPTION
@@ -39,6 +39,13 @@ OPTIONS
Be pedantic (paranoid) when applying patches. Invokes patch with
--fuzz=0
+-f::
+ Force the merge even if the files are not up to date.
+
+-m::
+ Prepend the commit message with the provided prefix.
+ Useful for patch series and the like.
+
-v::
Verbose.
diff --git a/Documentation/git-grep.txt b/Documentation/git-grep.txt
index d55456ae93..74102b7944 100644
--- a/Documentation/git-grep.txt
+++ b/Documentation/git-grep.txt
@@ -8,43 +8,82 @@ git-grep - Print lines matching a pattern
SYNOPSIS
--------
-'git-grep' [<option>...] [-e] <pattern> [--] [<path>...]
+[verse]
+'git-grep' [--cached]
+ [-a | --text] [-I] [-i | --ignore-case] [-w | --word-regexp]
+ [-v | --invert-match]
+ [-E | --extended-regexp] [-G | --basic-regexp] [-F | --fixed-strings]
+ [-n] [-l | --files-with-matches] [-L | --files-without-match]
+ [-c | --count]
+ [-A <post-context>] [-B <pre-context>] [-C <context>]
+ [-f <file>] [-e <pattern>]
+ [<tree>...]
+ [--] [<path>...]
DESCRIPTION
-----------
-Searches list of files `git-ls-files` produces for lines
-containing a match to the given pattern.
+Look for specified patterns in the working tree files, blobs
+registered in the index file, or given tree objects.
OPTIONS
-------
-`--`::
- Signals the end of options; the rest of the parameters
- are <path> limiters.
+--cached::
+ Instead of searching in the working tree files, check
+ the blobs registerd in the index file.
+
+-a | --text::
+ Process binary files as if they were text.
+
+-i | --ignore-case::
+ Ignore case differences between the patterns and the
+ files.
+
+-w | --word-regexp::
+ Match the pattern only at word boundary (either begin at the
+ beginning of a line, or preceded by a non-word character; end at
+ the end of a line or followed by a non-word character).
+
+-v | --invert-match::
+ Select non-matching lines.
+
+-E | --extended-regexp | -G | --basic-regexp::
+ Use POSIX extended/basic regexp for patterns. Default
+ is to use basic regexp.
-<option>...::
- Either an option to pass to `grep` or `git-ls-files`.
-+
-The following are the specific `git-ls-files` options
-that may be given: `-o`, `--cached`, `--deleted`, `--others`,
-`--killed`, `--ignored`, `--modified`, `--exclude=\*`,
-`--exclude-from=\*`, and `--exclude-per-directory=\*`.
-+
-All other options will be passed to `grep`.
+-n::
+ Prefix the line number to matching lines.
-<pattern>::
- The pattern to look for. The first non option is taken
- as the pattern; if your pattern begins with a dash, use
- `-e <pattern>`.
+-l | --files-with-matches | -L | --files-without-match::
+ Instead of showing every matched line, show only the
+ names of files that contain (or do not contain) matches.
-<path>...::
- Optional paths to limit the set of files to be searched;
- passed to `git-ls-files`.
+-c | --count::
+ Instead of showing every matched line, show the number of
+ lines that match.
+
+-[ABC] <context>::
+ Show `context` trailing (`A` -- after), or leading (`B`
+ -- before), or both (`C` -- context) lines, and place a
+ line containing `--` between continguous groups of
+ matches.
+
+-f <file>::
+ Read patterns from <file>, one per line.
+
+`<tree>...`::
+ Search blobs in the trees for specified patterns.
+
+`--`::
+ Signals the end of options; the rest of the parameters
+ are <path> limiters.
Author
------
-Written by Linus Torvalds <torvalds@osdl.org>
+Originally written by Linus Torvalds <torvalds@osdl.org>, later
+revamped by Junio C Hamano.
+
Documentation
--------------
diff --git a/Documentation/git-merge-base.txt b/Documentation/git-merge-base.txt
index d1d56f194a..6099be2add 100644
--- a/Documentation/git-merge-base.txt
+++ b/Documentation/git-merge-base.txt
@@ -8,16 +8,26 @@ git-merge-base - Finds as good a common ancestor as possible for a merge
SYNOPSIS
--------
-'git-merge-base' <commit> <commit>
+'git-merge-base' [--all] <commit> <commit>
DESCRIPTION
-----------
-"git-merge-base" finds as good a common ancestor as possible. Given a
-selection of equally good common ancestors it should not be relied on
-to decide in any particular way.
+
+"git-merge-base" finds as good a common ancestor as possible between
+the two commits. That is, given two commits A and B 'git-merge-base A
+B' will output a commit which is reachable from both A and B through
+the parent relationship.
+
+Given a selection of equally good common ancestors it should not be
+relied on to decide in any particular way.
The "git-merge-base" algorithm is still in flux - use the source...
+OPTIONS
+-------
+--all::
+ Output all common ancestors for the two commits instead of
+ just one.
Author
------
diff --git a/Documentation/git-quiltimport.txt b/Documentation/git-quiltimport.txt
new file mode 100644
index 0000000000..6e9a8c369a
--- /dev/null
+++ b/Documentation/git-quiltimport.txt
@@ -0,0 +1,61 @@
+git-quiltimport(1)
+================
+
+NAME
+----
+git-quiltimport - Applies a quilt patchset onto the current branch
+
+
+SYNOPSIS
+--------
+[verse]
+'git-quiltimport' [--dry-run] [--author <author>] [--patches <dir>]
+
+
+DESCRIPTION
+-----------
+Applies a quilt patchset onto the current git branch, preserving
+the patch boundaries, patch order, and patch descriptions present
+in the quilt patchset.
+
+For each patch the code attempts to extract the author from the
+patch description. If that fails it falls back to the author
+specified with --author. If the --author flag was not given
+the patch description is displayed and the user is asked to
+interactively enter the author of the patch.
+
+If a subject is not found in the patch description the patch name is
+preserved as the 1 line subject in the git description.
+
+OPTIONS
+-------
+--dry-run::
+ Walk through the patches in the series and warn
+ if we cannot find all of the necessary information to commit
+ a patch. At the time of this writing only missing author
+ information is warned about.
+
+--author Author Name <Author Email>::
+ The author name and email address to use when no author
+ information can be found in the patch description.
+
+--patches <dir>::
+ The directory to find the quilt patches and the
+ quilt series file.
+
+ The default for the patch directory is patches
+ or the value of the $QUILT_PATCHES environment
+ variable.
+
+Author
+------
+Written by Eric Biederman <ebiederm@lnxi.com>
+
+Documentation
+--------------
+Documentation by Eric Biederman <ebiederm@lnxi.com>
+
+GIT
+---
+Part of the gitlink:git[7] suite
+
diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt
index 1b482abecd..08ee4aabaf 100644
--- a/Documentation/git-rebase.txt
+++ b/Documentation/git-rebase.txt
@@ -9,9 +9,7 @@ SYNOPSIS
--------
'git-rebase' [--onto <newbase>] <upstream> [<branch>]
-'git-rebase' --continue
-
-'git-rebase' --abort
+'git-rebase' --continue | --skip | --abort
DESCRIPTION
-----------
@@ -23,9 +21,10 @@ not exist in the <upstream> branch.
It is possible that a merge failure will prevent this process from being
completely automatic. You will have to resolve any such merge failure
-and run `git rebase --continue`. If you can not resolve the merge
-failure, running `git rebase --abort` will restore the original <branch>
-and remove the working files found in the .dotest directory.
+and run `git rebase --continue`. Another option is to bypass the commit
+that caused the merge failure with `git rebase --skip`. To restore the
+original <branch> and remove the .dotest working files, use the command
+`git rebase --abort` instead.
Note that if <branch> is not specified on the command line, the currently
checked out branch is used.
diff --git a/Documentation/git-repo-config.txt b/Documentation/git-repo-config.txt
index fd44f629f5..660c18ff8d 100644
--- a/Documentation/git-repo-config.txt
+++ b/Documentation/git-repo-config.txt
@@ -23,10 +23,11 @@ You can query/set/replace/unset options with this command. The name is
actually the section and the key separated by a dot, and the value will be
escaped.
-If you want to set/unset an option which can occur on multiple lines, you
-should provide a POSIX regex for the value. If you want to handle the lines
-*not* matching the regex, just prepend a single exclamation mark in front
-(see EXAMPLES).
+If you want to set/unset an option which can occur on multiple
+lines, a POSIX regexp `value_regex` needs to be given. Only the
+existing values that match the regexp are updated or unset. If
+you want to handle the lines that do *not* match the regex, just
+prepend a single exclamation mark in front (see EXAMPLES).
The type specifier can be either '--int' or '--bool', which will make
'git-repo-config' ensure that the variable(s) are of the given type and
diff --git a/Documentation/git-rev-list.txt b/Documentation/git-rev-list.txt
index 8255ae1bce..ad6d14c55a 100644
--- a/Documentation/git-rev-list.txt
+++ b/Documentation/git-rev-list.txt
@@ -68,9 +68,10 @@ OPTIONS
--bisect::
Limit output to the one commit object which is roughly halfway
between the included and excluded commits.