diff options
Diffstat (limited to 'Documentation')
39 files changed, 1576 insertions, 1098 deletions
diff --git a/Documentation/RelNotes-1.5.1.5.txt b/Documentation/RelNotes-1.5.1.5.txt new file mode 100644 index 0000000000..b0ab8eb371 --- /dev/null +++ b/Documentation/RelNotes-1.5.1.5.txt @@ -0,0 +1,42 @@ +GIT v1.5.1.5 Release Notes +========================== + +Fixes since v1.5.1.4 +-------------------- + +* Bugfixes + + - git-send-email did not understand aliases file for mutt, which + allows leading whitespaces. + + - git-format-patch emitted Content-Type and Content-Transfer-Encoding + headers for non ASCII contents, but failed to add MIME-Version. + + - git-name-rev had a buffer overrun with a deep history. + + - contributed script import-tars did not get the directory in + tar archives interpreted correctly. + + - git-svn was reported to segfault for many people on list and + #git; hopefully this has been fixed. + + - "git-svn clone" does not try to minimize the URL + (i.e. connect to higher level hierarchy) by default, as this + can prevent clone to fail if only part of the repository + (e.g. 'trunk') is open to public. + + - "git checkout branch^0" did not detach the head when you are + already on 'branch'; backported the fix from the 'master'. + + - "git-config section.var" did not correctly work when + existing configuration file had both [section] and [section "name"] + next to each other. + + - "git clone ../other-directory" was fooled if the current + directory $PWD points at is a symbolic link. + + - (build) tree_entry_extract() function was both static inline + and extern, which caused trouble compiling with Forte12 + compilers on Sun. + + - Many many documentation fixes and updates. diff --git a/Documentation/RelNotes-1.5.1.6.txt b/Documentation/RelNotes-1.5.1.6.txt new file mode 100644 index 0000000000..55f3ac13e3 --- /dev/null +++ b/Documentation/RelNotes-1.5.1.6.txt @@ -0,0 +1,45 @@ +GIT v1.5.1.6 Release Notes +========================== + +Fixes since v1.5.1.4 +-------------------- + +* Bugfixes + + - git-send-email did not understand aliases file for mutt, which + allows leading whitespaces. + + - git-format-patch emitted Content-Type and Content-Transfer-Encoding + headers for non ASCII contents, but failed to add MIME-Version. + + - git-name-rev had a buffer overrun with a deep history. + + - contributed script import-tars did not get the directory in + tar archives interpreted correctly. + + - git-svn was reported to segfault for many people on list and + #git; hopefully this has been fixed. + + - git-svn also had a bug to crash svnserve by sending a bad + sequence of requests. + + - "git-svn clone" does not try to minimize the URL + (i.e. connect to higher level hierarchy) by default, as this + can prevent clone to fail if only part of the repository + (e.g. 'trunk') is open to public. + + - "git checkout branch^0" did not detach the head when you are + already on 'branch'; backported the fix from the 'master'. + + - "git-config section.var" did not correctly work when + existing configuration file had both [section] and [section "name"] + next to each other. + + - "git clone ../other-directory" was fooled if the current + directory $PWD points at is a symbolic link. + + - (build) tree_entry_extract() function was both static inline + and extern, which caused trouble compiling with Forte12 + compilers on Sun. + + - Many many documentation fixes and updates. diff --git a/Documentation/RelNotes-1.5.2.txt b/Documentation/RelNotes-1.5.2.txt index 42e7fa5bec..6195715dc7 100644 --- a/Documentation/RelNotes-1.5.2.txt +++ b/Documentation/RelNotes-1.5.2.txt @@ -1,18 +1,18 @@ -GIT v1.5.2 Release Notes (draft) +GIT v1.5.2 Release Notes ======================== Updates since v1.5.1 -------------------- -* Plumbing level subproject support. +* Plumbing level superproject support. You can include a subdirectory that has an independent git - repository in your index and tree objects as a - "subproject". This plumbing (i.e. "core") level subproject - support explicitly excludes recursive behaviour. + repository in your index and tree objects of your project + ("superproject"). This plumbing (i.e. "core") level + superproject support explicitly excludes recursive behaviour. - The "subproject" entries in the index and trees are - incompatible with older versions of git. Experimenting with + The "subproject" entries in the index and trees of a superproject + are incompatible with older versions of git. Experimenting with the plumbing level support is encouraged, but be warned that unless everybody in your project updates to this release or later, using this feature would make your project @@ -26,28 +26,30 @@ Updates since v1.5.1 considered a binary or text (the former would be treated by 'git diff' not to produce textual output; the latter can go through the line endings conversion process in repositories - with core.autocrlf set), expand and unexpand '$ident$' keyword + with core.autocrlf set), expand and unexpand '$Id$' keyword with blob object name, specify a custom 3-way merge driver, and specify a custom diff driver. You can also apply arbitrary filter to contents on check-in/check-out codepath but this feature is an extremely sharp-edged razor and needs to be handled with caution (do not use it unless you understand the earlier mailing list discussion on keyword - expansion). + expansion). These conversions apply when checking files in + or out, and exporting via git-archive. * The packfile format now optionally suports 64-bit index. This release supports the "version 2" format of the .idx file. This is automatically enabled when a huge packfile needs more than 32-bit to express offsets of objects in the - pack + pack. -* Comes with an updated git-gui 0.7.0 +* Comes with an updated git-gui 0.7.1 * Updated gitweb: - can show combined diff for merges; - uses font size of user's preference, not hardcoded in pixels; + - can now 'grep'; * New commands and options. @@ -114,7 +116,7 @@ Updates since v1.5.1 - Local "git fetch" from a repository whose object store is one of the alternates (e.g. fetching from the origin in a repository created with "git clone -l -s") avoids - downloading objects unnecessary. + downloading objects unnecessarily. - "git blame" uses .mailmap to canonicalize the author name just like "git shortlog" does. @@ -124,7 +126,7 @@ Updates since v1.5.1 - "git cherry-pick" and "git revert" does not use .msg file in the working tree to prepare commit message; instead it uses - $GIT_DIR/MERGE_MSG as other commands. + $GIT_DIR/MERGE_MSG as other commands do. * Builds @@ -134,7 +136,7 @@ Updates since v1.5.1 - gitk and git-gui can be configured out. - Generated documentation pages automatically get version - information from GIT_VERSION + information from GIT_VERSION. - Parallel build with "make -j" descending into subdirectory was fixed. @@ -151,11 +153,13 @@ Updates since v1.5.1 - The recursive merge strategy updated a worktree file that was changed identically in two branches, when one of them renamed it. We do not do that when there is no rename, so - match that behaviour. + match that behaviour. This avoids excessive rebuilds. - The default pack depth has been increased to 50, as the recent addition of delta_base_cache makes deeper delta chains - much less expensive to access. + much less expensive to access. Depending on the project, it was + reported that this reduces the resulting pack file by 10% + or so. Fixes since v1.5.1 @@ -188,12 +192,6 @@ this release, unless otherwise noted. - "git clean -d -X" now does not remove non-excluded directories. -* Documentation updates - -* Performance Tweaks - --- -exec >/var/tmp/1 -O=v1.5.2-rc2-91-g616e40b -echo O=`git describe refs/heads/master` -git shortlog --no-merges $O..refs/heads/master ^refs/heads/maint + - rebasing (without -m) a series that changes a symlink to a directory + in the middle of a path confused git-apply greatly and refused to + operate. diff --git a/Documentation/config.txt b/Documentation/config.txt index d6d89ba463..b8d48d1013 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -371,6 +371,11 @@ format.suffix:: `.patch`. Use this variable to change that suffix (make sure to include the dot if you want it). +gc.aggressiveWindow:: + The window size parameter used in the delta compression + algorithm used by 'git gc --aggressive'. This defaults + to 10. + gc.packrefs:: `git gc` does not run `git pack-refs` in a bare repository by default so that older dumb-transport clients can still fetch diff --git a/Documentation/git-add.txt b/Documentation/git-add.txt index ea2701846f..a0c9f68580 100644 --- a/Documentation/git-add.txt +++ b/Documentation/git-add.txt @@ -57,8 +57,11 @@ OPTIONS the index. -u:: - Update all files that git already knows about. This is what - "git commit -a" does in preparation for making a commit. + Update only files that git already knows about. This is similar + to what "git commit -a" does in preparation for making a commit, + except that the update is limited to paths specified on the + command line. If no paths are specified, all tracked files are + updated. \--:: This option can be used to separate command-line options from @@ -66,6 +69,15 @@ OPTIONS for command-line options). +Configuration +------------- + +The optional configuration variable 'core.excludesfile' indicates a path to a +file containing patterns of file names to exclude from git-add, similar to +$GIT_DIR/info/exclude. Patterns in the exclude file are used in addition to +those in info/exclude. See link:repository-layout.html[repository layout]. + + EXAMPLES -------- git-add Documentation/\\*.txt:: diff --git a/Documentation/git-am.txt b/Documentation/git-am.txt index f0405a35e9..ba79773f79 100644 --- a/Documentation/git-am.txt +++ b/Documentation/git-am.txt @@ -9,9 +9,10 @@ git-am - Apply a series of patches from a mailbox SYNOPSIS -------- [verse] -'git-am' [--signoff] [--dotest=<dir>] [--utf8 | --no-utf8] [--binary] [--3way] - [--interactive] [--whitespace=<option>] [-C<n>] [-p<n>] - <mbox>... +'git-am' [--signoff] [--dotest=<dir>] [--keep] [--utf8 | --no-utf8] + [--3way] [--interactive] [--binary] + [--whitespace=<option>] [-C<n>] [-p<n>] + <mbox>... 'git-am' [--skip | --resolved] DESCRIPTION @@ -40,7 +41,7 @@ OPTIONS -u, --utf8:: Pass `-u` flag to `git-mailinfo` (see gitlink:git-mailinfo[1]). The proposed commit log message taken from the e-mail - are re-coded into UTF-8 encoding (configuration variable + is re-coded into UTF-8 encoding (configuration variable `i18n.commitencoding` can be used to specify project's preferred encoding if it is not UTF-8). + @@ -51,30 +52,32 @@ default. You could use `--no-utf8` to override this. Pass `-n` flag to `git-mailinfo` (see gitlink:git-mailinfo[1]). --b, --binary:: - Pass `--allow-binary-replacement` flag to `git-apply` - (see gitlink:git-apply[1]). - -3, --3way:: When the patch does not apply cleanly, fall back on 3-way merge, if the patch records the identity of blobs it is supposed to apply to, and we have those blobs - locally. + available locally. ---skip:: - Skip the current patch. This is only meaningful when - restarting an aborted patch. +-b, --binary:: + Pass `--allow-binary-replacement` flag to `git-apply` + (see gitlink:git-apply[1]). --whitespace=<option>:: - This flag is passed to the `git-apply` program that applies + This flag is passed to the `git-apply` (see gitlink:git-apply[1]) + program that applies the patch. -C<n>, -p<n>:: - These flags are passed to the `git-apply` program that applies + These flags are passed to the `git-apply` (see gitlink:git-apply[1]) + program that applies the patch. -i, --interactive:: - Run interactively, just like git-applymbox. + Run interactively. + +--skip:: + Skip the current patch. This is only meaningful when + restarting an aborted patch. -r, --resolved:: After a patch failure (e.g. attempting to apply @@ -126,7 +129,7 @@ to crunch. Upon seeing the first patch that does not apply, it aborts in the middle, just like 'git-applymbox' does. You can recover from this in one of two ways: -. skip the current one by re-running the command with '--skip' +. skip the current patch by re-running the command with '--skip' option. . hand resolve the conflict in the working directory, and update diff --git a/Documentation/git-applymbox.txt b/Documentation/git-applymbox.txt index 3bc92d8cf1..ea919ba5d7 100644 --- a/Documentation/git-applymbox.txt +++ b/Documentation/git-applymbox.txt @@ -31,7 +31,7 @@ OPTIONS whitespaces, (3) '[' up to ']', typically '[PATCH]', and then prepends "[PATCH] ". This flag forbids this munging, and is most useful when used to read back 'git - format-patch --mbox' output. + format-patch -k' output. -m:: Patches are applied with `git-apply` command, and unless diff --git a/Documentation/git-archive.txt b/Documentation/git-archive.txt index d3ca9a90ce..721e0351c3 100644 --- a/Documentation/git-archive.txt +++ b/Documentation/git-archive.txt @@ -8,6 +8,7 @@ git-archive - Creates an archive of files from a named tree SYNOPSIS -------- +[verse] 'git-archive' --format=<fmt> [--list] [--prefix=<prefix>/] [<extra>] [--remote=<repo>] <tree-ish> [path...] diff --git a/Documentation/git-branch.txt b/Documentation/git-branch.txt index 603f87f3b5..8dc5171f5e 100644 --- a/Documentation/git-branch.txt +++ b/Documentation/git-branch.txt @@ -136,7 +136,7 @@ $ git branch -D test <2> + <1> delete remote-tracking branches "todo", "html", "man" <2> delete "test" branch even if the "master" branch does not have all -commits from todo branch. +commits from test branch. Notes diff --git a/Documentation/git-bundle.txt b/Documentation/git-bundle.txt index 92e7a68722..5051e2bada 100644 --- a/Documentation/git-bundle.txt +++ b/Documentation/git-bundle.txt @@ -8,6 +8,7 @@ git-bundle - Move objects and refs by archive SYNOPSIS -------- +[verse] 'git-bundle' create <file> [git-rev-list args] 'git-bundle' verify <file> 'git-bundle' list-heads <file> [refname...] diff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt index 6d32c491a5..644bf126fb 100644 --- a/Documentation/git-clone.txt +++ b/Documentation/git-clone.txt @@ -132,7 +132,7 @@ Make a local clone that borrows from the current directory, without checking thi + ------------ $ git clone -l -s -n . ../copy -$ cd copy +$ cd ../copy $ git show-branch ------------ diff --git a/Documentation/git-diff-tree.txt b/Documentation/git-diff-tree.txt index 5d6e9dc751..6e660e2d08 100644 --- a/Documentation/git-diff-tree.txt +++ b/Documentation/git-diff-tree.txt @@ -73,7 +73,7 @@ separated with a single space are given. This flag causes "git-diff-tree --stdin" to also show the commit message before the differences. -include::pretty-formats.txt[] +include::pretty-options.txt[] --no-commit-id:: git-diff-tree outputs a line with the commit ID when @@ -104,6 +104,9 @@ include::pretty-formats.txt[] if the diff itself is empty. +include::pretty-formats.txt[] + + Limiting Output --------------- If you're only interested in differences in a subset of files, for diff --git a/Documentation/git-fmt-merge-msg.txt b/Documentation/git-fmt-merge-msg.txt index e560b30c57..4913c2552f 100644 --- a/Documentation/git-fmt-merge-msg.txt +++ b/Documentation/git-fmt-merge-msg.txt @@ -8,6 +8,7 @@ git-fmt-merge-msg - Produce a merge commit message SYNOPSIS -------- +[verse] git-fmt-merge-msg [--summary | --no-summary] <$GIT_DIR/FETCH_HEAD git-fmt-merge-msg [--summary | --no-summray] -F <file> diff --git a/Documentation/git-for-each-ref.txt b/Documentation/git-for-each-ref.txt index f49b0d944c..6df8e85004 100644 --- a/Documentation/git-for-each-ref.txt +++ b/Documentation/git-for-each-ref.txt @@ -7,7 +7,10 @@ git-for-each-ref - Output information on each ref SYNOPSIS -------- -'git-for-each-ref' [--count=<count>]\* [--shell|--perl|--python|--tcl] [--sort=<key>]\* [--format=<format>] [<pattern>] +[verse] +'git-for-each-ref' [--count=<count>]\* + [--shell|--perl|--python|--tcl] + [--sort=<key>]\* [--format=<format>] [<pattern>] DESCRIPTION ----------- diff --git a/Documentation/git-gc.txt b/Documentation/git-gc.txt index bc1658434a..4ac839f938 100644 --- a/Documentation/git-gc.txt +++ b/Documentation/git-gc.txt @@ -8,7 +8,7 @@ git-gc - Cleanup unnecessary files and optimize the local repository SYNOPSIS -------- -'git-gc' [--prune] +'git-gc' [--prune] [--aggressive] DESCRIPTION ----------- @@ -35,6 +35,13 @@ OPTIONS repository at the same time (e.g. never use this option in a cron script). +--aggressive:: + Usually 'git-gc' runs very quickly while providing good disk + space utilization and performance. This option will cause + git-gc to more aggressive optimize the repository at the expense + of taking much more time. The effects of this optimization are + persistent, so this option only needs to be sporadically; every + few hundred changesets or so. Configuration ------------- @@ -67,6 +74,13 @@ The optional configuration variable 'gc.packrefs' determines if is not run in bare repositories by default, to allow older dumb-transport clients fetch from the repository, but this will change in the future. +The optional configuration variable 'gc.aggressiveWindow' controls how +much time is spent optimizing the delta compression of the objects in +the repository when the --aggressive option is specified. The larger +the value, the more time is spent optimizing the delta compression. See +the documentation for the --window' option in gitlink:git-repack[1] for +more details. This defaults to 10. + See Also -------- gitlink:git-prune[1] diff --git a/Documentation/git-index-pack.txt b/Documentation/git-index-pack.txt index b7a49b9f58..226926964e 100644 --- a/Documentation/git-index-pack.txt +++ b/Documentation/git-index-pack.txt @@ -8,8 +8,10 @@ git-index-pack - Build pack index file for an existing packed archive SYNOPSIS -------- +[verse] 'git-index-pack' [-v] [-o <index-file>] <pack-file> -'git-index-pack' --stdin [--fix-thin] [--keep] [-v] [-o <index-file>] [<pack-file>] +'git-index-pack' --stdin [--fix-thin] [--keep] [-v] [-o <index-file>] + [<pack-file>] DESCRIPTION diff --git a/Documentation/git-instaweb.txt b/Documentation/git-instaweb.txt index 52a6aa6e82..9df0ab2d76 100644 --- a/Documentation/git-instaweb.txt +++ b/Documentation/git-instaweb.txt @@ -7,8 +7,9 @@ git-instaweb - Instantly browse your working repository in gitweb SYNOPSIS -------- -'git-instaweb' [--local] [--httpd=<httpd>] [--port=<port>] [--browser=<browser>] - +[verse] +'git-instaweb' [--local] [--httpd=<httpd>] [--port=<port>] + [--browser=<browser>] 'git-instaweb' [--start] [--stop] [--restart] DESCRIPTION diff --git a/Documentation/git-local-fetch.txt b/Documentation/git-local-fetch.txt index dd9e2387fc..51389ef37d 100644 --- a/Documentation/git-local-fetch.txt +++ b/Documentation/git-local-fetch.txt @@ -8,7 +8,9 @@ git-local-fetch - Duplicate another git repository on a local system SYNOPSIS -------- -'git-local-fetch' [-c] [-t] [-a] [-d] [-v] [-w filename] [--recover] [-l] [-s] [-n] commit-id path +[verse] +'git-local-fetch' [-c] [-t] [-a] [-d] [-v] [-w filename] [--recover] [-l] [-s] [-n] + commit-id path DESCRIPTION ----------- diff --git a/Documentation/git-log.txt b/Documentation/git-log.txt index dd06527a1e..0f353f6558 100644 --- a/Documentation/git-log.txt +++ b/Documentation/git-log.txt @@ -25,7 +25,7 @@ This manual page describes only the most frequently used options. OPTIONS ------- -include::pretty-formats.txt[] +include::pretty-options.txt[] -<n>:: Limits the number of commits to show. @@ -58,6 +58,9 @@ include::pretty-formats.txt[] Show only commits that affect the specified paths. +include::pretty-formats.txt[] + + Examples -------- git log --no-merges:: diff --git a/Documentation/git-mailinfo.txt b/Documentation/git-mailinfo.txt index ba18133ead..8eadcebfcf 100644 --- a/Documentation/git-mailinfo.txt +++ b/Documentation/git-mailinfo.txt @@ -30,7 +30,7 @@ OPTIONS whitespaces, (3) '[' up to ']', typically '[PATCH]', and then prepends "[PATCH] ". This flag forbids this munging, and is most useful when used to read back 'git - format-patch --mbox' output. + format-patch -k' output. -u:: The commit log message, author name and author email are diff --git a/Documentation/git-name-rev.txt b/Documentation/git-name-rev.txt index 5b5c4c865f..d6c8bf800f 100644 --- a/Documentation/git-name-rev.txt +++ b/Documentation/git-name-rev.txt @@ -8,6 +8,7 @@ git-name-rev - Find symbolic names for given revs SYNOPSIS -------- +[verse] 'git-name-rev' [--tags] [--refs=<pattern>] ( --all | --stdin | <committish>... ) diff --git a/Documentation/git-p4import.txt b/Documentation/git-p4import.txt index 6edb9f12b8..714abbe28e 100644 --- a/Documentation/git-p4import.txt +++ b/Documentation/git-p4import.txt @@ -8,10 +8,10 @@ git-p4import - Import a Perforce repository into git SYNOPSIS -------- -`git-p4import` [-q|-v] [--notags] [--authors <file>] [-t <timezone>] <//p4repo/path> <branch> - +[verse] +`git-p4import` [-q|-v] [--notags] [--authors <file>] [-t <timezone>] + <//p4repo/path> <branch> `git-p4import` --stitch <//p4repo/path> - `git-p4import` diff --git a/Documentation/git-push.txt b/Documentation/git-push.txt index f8cc2b5432..e9ad10672a 100644 --- a/Documentation/git-push.txt +++ b/Documentation/git-push.txt @@ -8,7 +8,9 @@ git-push - Update remote refs along with associated objects SYNOPSIS -------- -'git-push' [--all] [--tags] [--receive-pack=<git-receive-pack>] [--repo=all] [-f | --force] [-v] [<repository> <refspec>...] +[verse] +'git-push' [--all] [--tags] [--receive-pack=<git-receive-pack>] + [--repo=all] [-f | --force] [-v] [<repository> <refspec>...] DESCRIPTION ----------- diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt index 2f417a8f85..753b275a0f 100644 --- a/Documentation/git-rebase.txt +++ b/Documentation/git-rebase.txt @@ -7,8 +7,8 @@ git-rebase - Forward-port local commits to the updated upstream head SYNOPSIS -------- +[verse] 'git-rebase' [-v] [--merge] [-C<n>] [--onto <newbase>] <upstream> [<branch>] - 'git-rebase' --continue | --skip | --abort DESCRIPTION |