diff options
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/RelNotes/1.7.6.2.txt | 8 | ||||
-rw-r--r-- | Documentation/RelNotes/1.7.6.3.txt | 20 | ||||
-rw-r--r-- | Documentation/RelNotes/1.7.7.txt | 74 | ||||
-rw-r--r-- | Documentation/SubmittingPatches | 3 | ||||
-rw-r--r-- | Documentation/git-clean.txt | 10 | ||||
-rw-r--r-- | Documentation/git-daemon.txt | 10 | ||||
-rw-r--r-- | Documentation/git-format-patch.txt | 9 | ||||
-rw-r--r-- | Documentation/git-log.txt | 11 | ||||
-rw-r--r-- | Documentation/git-notes.txt | 7 | ||||
-rw-r--r-- | Documentation/git-push.txt | 6 | ||||
-rw-r--r-- | Documentation/git-receive-pack.txt | 5 | ||||
-rw-r--r-- | Documentation/git-send-pack.txt | 5 | ||||
-rw-r--r-- | Documentation/git-svn.txt | 16 | ||||
-rw-r--r-- | Documentation/git.txt | 5 | ||||
-rw-r--r-- | Documentation/howto/maintain-git.txt | 13 | ||||
-rw-r--r-- | Documentation/technical/api-string-list.txt | 10 |
16 files changed, 151 insertions, 61 deletions
diff --git a/Documentation/RelNotes/1.7.6.2.txt b/Documentation/RelNotes/1.7.6.2.txt new file mode 100644 index 0000000000..67ae414965 --- /dev/null +++ b/Documentation/RelNotes/1.7.6.2.txt @@ -0,0 +1,8 @@ +Git v1.7.6.2 Release Notes +========================== + +Fixes since v1.7.6.1 +-------------------- + + * v1.7.6.1 broke "git push --quiet"; it used to be a no-op against an old + version of Git running on the other end, but v1.7.6.1 made it abort. diff --git a/Documentation/RelNotes/1.7.6.3.txt b/Documentation/RelNotes/1.7.6.3.txt new file mode 100644 index 0000000000..c05efb2439 --- /dev/null +++ b/Documentation/RelNotes/1.7.6.3.txt @@ -0,0 +1,20 @@ +Git v1.7.6.3 Release Notes +========================== + +Fixes since v1.7.6.2 +-------------------- + + * "git -c var=value subcmd" misparsed the custom configuration when + value contained an equal sign. + + * "git reflog $refname" did not default to the "show" subcommand as + the documentation advertised the command to do. + + * "git reset" did not leave meaningful log message in the reflog. + + * "git status --ignored" did not show ignored items when there is no + untracked items. + + * "git tag --contains $commit" was unnecessarily inefficient. + +Also contains minor fixes and documentation updates. diff --git a/Documentation/RelNotes/1.7.7.txt b/Documentation/RelNotes/1.7.7.txt index 82dc9292c3..6e83082c14 100644 --- a/Documentation/RelNotes/1.7.7.txt +++ b/Documentation/RelNotes/1.7.7.txt @@ -8,7 +8,7 @@ Updates since v1.7.6 * Interix, Cygwin and Minix ports got updated. - * Various updates git-p4 (in contrib/) and "git fast-import". + * Various updates to git-p4 (in contrib/), fast-import, and git-svn. * Gitweb learned to read from /etc/gitweb-common.conf when it exists, before reading from gitweb_config.perl or from /etc/gitweb.conf @@ -20,7 +20,7 @@ Updates since v1.7.6 platforms with 64-bit long, which has been corrected. * Git now recognizes loose objects written by other implementations that - uses non-standard window size for zlib deflation (e.g. Agit running on + use a non-standard window size for zlib deflation (e.g. Agit running on Android with 4kb window). We used to reject anything that was not deflated with 32kb window. @@ -28,71 +28,88 @@ Updates since v1.7.6 been improved, especially when a command that is not built-in was involved. - * "git am" learned to pass "--exclude=<path>" option through to underlying + * "git am" learned to pass the "--exclude=<path>" option through to underlying "git apply". - * You can now feed many empty lines before feeding a mbox file to + * You can now feed many empty lines before feeding an mbox file to "git am". * "git archive" can be told to pass the output to gzip compression and produce "archive.tar.gz". - * "git bisect" can be used in a bare repository (provided if the test + * "git bisect" can be used in a bare repository (provided that the test you perform per each iteration does not need a working tree, of course). * The length of abbreviated object names in "git branch -v" output - now honors core.abbrev configuration variable. + now honors the core.abbrev configuration variable. * "git check-attr" can take relative paths from the command line. - * "git check-attr" learned "--all" option to list the attributes for a + * "git check-attr" learned an "--all" option to list the attributes for a given path. * "git checkout" (both the code to update the files upon checking out a - different branch, the code to checkout specific set of files) learned + different branch and the code to checkout a specific set of files) learned to stream the data from object store when possible, without having to - read the entire contents of a file in memory first. An earlier round + read the entire contents of a file into memory first. An earlier round of this code that is not in any released version had a large leak but now it has been plugged. - * "git clone" can now take "--config key=value" option to set the + * "git clone" can now take a "--config key=value" option to set the repository configuration options that affect the initial checkout. * "git commit <paths>..." now lets you feed relative pathspecs that - refer outside your current subdirectory. + refer to outside your current subdirectory. - * "git diff --stat" learned --stat-count option to limit the output of - diffstat report. + * "git diff --stat" learned a --stat-count option to limit the output of + a diffstat report. - * "git diff" learned "--histogram" option, to use a different diff + * "git diff" learned a "--histogram" option to use a different diff generation machinery stolen from jgit, which might give better performance. + * "git diff" had a weird worst case behaviour that can be triggered + when comparing files with potentially many places that could match. + * "git fetch", "git push" and friends no longer show connection - errors for addresses that couldn't be connected when at least one + errors for addresses that couldn't be connected to when at least one address succeeds (this is arguably a regression but a deliberate one). - * "git grep" learned --break and --heading options, to let users mimic - output format of "ack". + * "git grep" learned "--break" and "--heading" options, to let users mimic + the output format of "ack". - * "git grep" learned "-W" option that shows wider context using the same + * "git grep" learned a "-W" option that shows wider context using the same logic used by "git diff" to determine the hunk header. + * Invoking the low-level "git http-fetch" without "-a" option (which + git itself never did---normal users should not have to worry about + this) is now deprecated. + * The "--decorate" option to "git log" and its family learned to highlight grafted and replaced commits. * "git rebase master topci" no longer spews usage hints after giving - "fatal: no such branch: topci" error message. + the "fatal: no such branch: topci" error message. + + * The recursive merge strategy implementation got a fairly large + fix for many corner cases that may rarely happen in real world + projects (it has been verified that none of the 16000+ merges in + the Linux kernel history back to v2.6.12 is affected with the + corner case bugs this update fixes). - * "git stash" learned --include-untracked option. + * "git stash" learned an "--include-untracked option". * "git submodule update" used to stop at the first error updating a submodule; it now goes on to update other submodules that can be updated, and reports the ones with errors at the end. - * "git upload-pack" and "git receive-pack" learned to pretend only a + * "git push" can be told with the "--recurse-submodules=check" option to + refuse pushing of the supermodule, if any of its submodules' + commits hasn't been pushed out to their remotes. + + * "git upload-pack" and "git receive-pack" learned to pretend that only a subset of the refs exist in a repository. This may help a site to put many tiny repositories into one repository (this would not be useful for larger repositories as repacking would be problematic). @@ -101,7 +118,7 @@ Updates since v1.7.6 that is more efficient in reading objects in packfiles. * test scripts for gitweb tried to run even when CGI-related perl modules - are not installed; it now exits early when they are unavailable. + are not installed; they now exit early when the latter are unavailable. Also contains various documentation updates and minor miscellaneous changes. @@ -110,9 +127,13 @@ changes. Fixes since v1.7.6 ------------------ -Unless otherwise noted, all the fixes in 1.7.6.X maintenance track are +Unless otherwise noted, all fixes in the 1.7.6.X maintenance track are included in this release. + * The error reporting logic of "git am" when the command is fed a file + whose mail-storage format is unknown was fixed. + (merge dff4b0e gb/maint-am-patch-format-error-message later to 'maint'). + * "git branch --set-upstream @{-1} foo" did not expand @{-1} correctly. (merge e9d4f74 mg/branch-set-upstream-previous later to 'maint'). @@ -120,6 +141,11 @@ included in this release. of the branch that is currently checked out updated. (merge 55c4a67 ci/forbid-unwanted-current-branch-update later to 'maint'). + * "git check-ref-format --print" used to parrot a candidate string that + began with a slash (e.g. /refs/heads/master) without stripping it, to make + the result a suitably normalized string the caller can append to "$GIT_DIR/". + (merge f3738c1 mh/check-ref-format-print-normalize later to 'maint'). + * "git clone" failed to clone locally from a ".git" file that itself is not a directory but is a pointer to one. (merge 9b0ebc7 nd/maint-clone-gitdir later to 'maint'). @@ -140,7 +166,7 @@ included in this release. -- exec >/var/tmp/1 echo O=$(git describe master) -O=v1.7.6.1-415-g284daf2 +O=v1.7.7-rc0-185-gb648557 git log --first-parent --oneline $O..master echo git shortlog --no-merges ^maint ^$O master diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches index 938eccf2a5..0dbf2c9843 100644 --- a/Documentation/SubmittingPatches +++ b/Documentation/SubmittingPatches @@ -134,8 +134,7 @@ Another thing: NULL pointers shall be written as NULL, not as 0. (2) Generate your patch using git tools out of your commits. -git based diff tools (git, Cogito, and StGIT included) generate -unidiff which is the preferred format. +git based diff tools generate unidiff which is the preferred format. You do not have to be afraid to use -M option to "git diff" or "git format-patch", if your patch involves file renames. The diff --git a/Documentation/git-clean.txt b/Documentation/git-clean.txt index 974e04ef1a..79fb984144 100644 --- a/Documentation/git-clean.txt +++ b/Documentation/git-clean.txt @@ -47,12 +47,14 @@ OPTIONS -e <pattern>:: --exclude=<pattern>:: - Specify special exceptions to not be cleaned. Each <pattern> is - the same form as in $GIT_DIR/info/excludes and this option can be - given multiple times. + In addition to those found in .gitignore (per directory) and + $GIT_DIR/info/exclude, also consider these patterns to be in the + set of the ignore rules in effect. -x:: - Don't use the ignore rules. This allows removing all untracked + Don't use the standard ignore rules read from .gitignore (per + directory) and $GIT_DIR/info/exclude, but do still use the ignore + rules given with `-e` options. This allows removing all untracked files, including build products. This can be used (possibly in conjunction with 'git reset') to create a pristine working directory to test a clean build. diff --git a/Documentation/git-daemon.txt b/Documentation/git-daemon.txt index ebd13be72e..69a1e4af9e 100644 --- a/Documentation/git-daemon.txt +++ b/Documentation/git-daemon.txt @@ -93,14 +93,14 @@ OPTIONS Listen on an alternative port. Incompatible with '--inetd' option. --init-timeout=<n>:: - Timeout between the moment the connection is established and the - client request is received (typically a rather low value, since + Timeout (in seconds) between the moment the connection is established + and the client request is received (typically a rather low value, since that should be basically immediate). --timeout=<n>:: - Timeout for specific client sub-requests. This includes the time - it takes for the server to process the sub-request and the time spent - waiting for the next client's request. + Timeout (in seconds) for specific client sub-requests. This includes + the time it takes for the server to process the sub-request and the + time spent waiting for the next client's request. --max-connections=<n>:: Maximum number of concurrent clients, defaults to 32. Set it to diff --git a/Documentation/git-format-patch.txt b/Documentation/git-format-patch.txt index d13c9b23f7..6ea9be775c 100644 --- a/Documentation/git-format-patch.txt +++ b/Documentation/git-format-patch.txt @@ -166,15 +166,22 @@ will want to ensure that threading is disabled for `git send-email`. --to=<email>:: Add a `To:` header to the email headers. This is in addition to any configured headers, and may be used multiple times. + The negated form `--no-to` discards all `To:` headers added so + far (from config or command line). --cc=<email>:: Add a `Cc:` header to the email headers. This is in addition to any configured headers, and may be used multiple times. + The negated form `--no-cc` discards all `Cc:` headers added so + far (from config or command line). --add-header=<header>:: Add an arbitrary header to the email headers. This is in addition to any configured headers, and may be used multiple times. - For example, `--add-header="Organization: git-foo"` + For example, `--add-header="Organization: git-foo"`. + The negated form `--no-add-header` discards *all* (`To:`, + `Cc:`, and custom) headers added so far from config or command + line. --cover-letter:: In addition to the patches, generate a cover letter file diff --git a/Documentation/git-log.txt b/Documentation/git-log.txt index 6c934660d7..249fc878ec 100644 --- a/Documentation/git-log.txt +++ b/Documentation/git-log.txt @@ -69,10 +69,13 @@ produced by --stat etc. its size is not included. [\--] <path>...:: - Show only commits that affect any of the specified paths. To - prevent confusion with options and branch names, paths may need - to be prefixed with "\-- " to separate them from options or - refnames. + Show only commits that are enough to explain how the files + that match the specified paths came to be. See "History + Simplification" below for details and other simplification + modes. ++ +To prevent confusion with options and branch names, paths may need to +be prefixed with "\-- " to separate them from options or refnames. include::rev-list-options.txt[] diff --git a/Documentation/git-notes.txt b/Documentation/git-notes.txt index 6a187f2e23..e8319eac69 100644 --- a/Documentation/git-notes.txt +++ b/Documentation/git-notes.txt @@ -142,8 +142,9 @@ OPTIONS -C <object>:: --reuse-message=<object>:: - Take the note message from the given blob object (for - example, another note). + Take the given blob object (for example, another note) as the + note message. (Use `git notes copy <object>` instead to + copy notes between objects.) -c <object>:: --reedit-message=<object>:: @@ -285,6 +286,8 @@ $ blob=$(git hash-object -w a.out) $ git notes --ref=built add -C "$blob" HEAD ------------ +(You cannot simply use `git notes --ref=built add -F a.out HEAD` +because that is not binary-safe.) Of course, it doesn't make much sense to display non-text-format notes with 'git log', so if you use such notes, you'll probably need to write some special-purpose tools to do something useful with them. diff --git a/Documentation/git-push.txt b/Documentation/git-push.txt index 49c6e9fa51..aede48877f 100644 --- a/Documentation/git-push.txt +++ b/Documentation/git-push.txt @@ -162,6 +162,12 @@ useful if you write an alias or script around 'git push'. is specified. This flag forces progress status even if the standard error stream is not directed to a terminal. +--recurse-submodules=check:: + Check whether all submodule commits used by the revisions to be + pushed are available on a remote tracking branch. Otherwise the + push will be aborted and the command will exit with non-zero status. + + include::urls-remotes.txt[] OUTPUT diff --git a/Documentation/git-receive-pack.txt b/Documentation/git-receive-pack.txt index a3a1d8eea3..b1f7dc643a 100644 --- a/Documentation/git-receive-pack.txt +++ b/Documentation/git-receive-pack.txt @@ -9,7 +9,7 @@ git-receive-pack - Receive what is pushed into the repository SYNOPSIS -------- [verse] -'git-receive-pack' [--quiet] <directory> +'git-receive-pack' <directory> DESCRIPTION ----------- @@ -35,9 +35,6 @@ are not fast-forwards. OPTIONS ------- ---quiet:: - Print only error messages. - <directory>:: The repository to sync into. diff --git a/Documentation/git-send-pack.txt b/Documentation/git-send-pack.txt index bed9e1f097..bd3eaa69bf 100644 --- a/Documentation/git-send-pack.txt +++ b/Documentation/git-send-pack.txt @@ -9,7 +9,7 @@ git-send-pack - Push objects over git protocol to another repository SYNOPSIS -------- [verse] -'git send-pack' [--all] [--dry-run] [--force] [--receive-pack=<git-receive-pack>] [--quiet] [--verbose] [--thin] [<host>:]<directory> [<ref>...] +'git send-pack' [--all] [--dry-run] [--force] [--receive-pack=<git-receive-pack>] [--verbose] [--thin] [<host>:]<directory> [<ref>...] DESCRIPTION ----------- @@ -45,9 +45,6 @@ OPTIONS the remote repository can lose commits; use it with care. ---quiet:: - Print only error messages. - --verbose:: Run verbosely. diff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt index ed5eca1fce..e75fc191d3 100644 --- a/Documentation/git-svn.txt +++ b/Documentation/git-svn.txt @@ -157,6 +157,17 @@ Skip "branches" and "tags" of first level directories;; affecting the working tree; and the 'rebase' command will be able to update the working tree with the latest changes. +--preserve-empty-dirs;; + Create a placeholder file in the local Git repository for each + empty directory fetched from Subversion. This includes directories + that become empty by removing all entries in the Subversion + repository (but not the directory itself). The placeholder files + are also tracked and removed when no longer necessary. + +--placeholder-filename=<filename>;; + Set the name of placeholder files created by --preserve-empty-dirs. + Default: ".gitignore" + 'rebase':: This fetches revisions from the SVN parent of the current HEAD and rebases the current (uncommitted to SVN) work against it. @@ -211,8 +222,9 @@ discouraged. Add the given merge information during the dcommit (e.g. `--mergeinfo="/branches/foo:1-10"`). All svn server versions can store this information (as a property), and svn clients starting from - version 1.5 can make use of it. 'git svn' currently does not use it - and does not set it automatically. + version 1.5 can make use of it. To specify merge information from multiple + branches, use a single space character between the branches + (`--mergeinfo="/branches/foo:1-10 /branches/bar:3,5-6,8"`) 'branch':: Create a branch in the SVN repository. diff --git a/Documentation/git.txt b/Documentation/git.txt index d08a8bb4f2..651e155d1d 100644 --- a/Documentation/git.txt +++ b/Documentation/git.txt @@ -44,10 +44,11 @@ unreleased) version of git, that is available from 'master' branch of the `git.git` repository. Documentation for older releases are available here: -* link:v1.7.6.1/git.html[documentation for release 1.7.6.1] +* link:v1.7.6.2/git.html[documentation for release 1.7.6.2] * release notes for - link:RelNotes/1.7.6.1.txt[1.7.6.1]. + link:RelNotes/1.7.6.2.txt[1.7.6.2], + link:RelNotes/1.7.6.1.txt[1.7.6.1], link:RelNotes/1.7.6.txt[1.7.6]. * link:v1.7.5.4/git.html[documentation for release 1.7.5.4] diff --git a/Documentation/howto/maintain-git.txt b/Documentation/howto/maintain-git.txt index d527b30770..8823a37067 100644 --- a/Documentation/howto/maintain-git.txt +++ b/Documentation/howto/maintain-git.txt @@ -176,7 +176,7 @@ by doing the following: - Update "What's cooking" message to review the updates to existing topics, newly added topics and graduated topics. - This step is helped with Meta/UWC script (where Meta/ contains + This step is helped with Meta/cook script (where Meta/ contains a checkout of the 'todo' branch). - Merge topics to 'next'. For each branch whose tip is not @@ -197,10 +197,9 @@ by doing the following: - Nothing is next-worthy; do not do anything. - - Rebase topics that do not have any commit in next yet. This - step is optional but sometimes is worth doing when an old - series that is not in next can take advantage of low-level - framework change that is merged to 'master' already. + - [** OBSOLETE **] Optionally rebase topics that do not have any commit + in next yet, when they can take advantage of low-level framework + change that is merged to 'master' already. $ git rebase master ai/topic @@ -209,7 +208,7 @@ by doing the following: pre-rebase hook to make sure that topics that are already in 'next' are not rebased beyond the merged commit. - - Rebuild "pu" to merge the tips of topics not in 'next'. + - [** OBSOLETE **] Rebuild "pu" to merge the tips of topics not in 'next'. $ git checkout pu $ git reset --hard next @@ -241,7 +240,7 @@ by doing the following: - Fetch html and man branches back from k.org, and push four integration branches and the two documentation branches to - repo.or.cz + repo.or.cz and other mirrors. Some observations to be made. diff --git a/Documentation/technical/api-string-list.txt b/Documentation/technical/api-string-list.txt index 3f575bdcff..ce24eb96f5 100644 --- a/Documentation/technical/api-string-list.txt +++ b/Documentation/technical/api-string-list.txt @@ -29,6 +29,9 @@ member (you need this if you add things later) and you should set the . Can sort an unsorted list using `sort_string_list`. +. Can remove individual items of an unsorted list using + `unsorted_string_list_delete_item`. + . Finally it should free the list using `string_list_clear`. Example: @@ -112,6 +115,13 @@ write `string_list_insert(...)->util = ...;`. The above two functions need to look through all items, as opposed to their counterpart for sorted lists, which performs a binary search. +`unsorted_string_list_delete_item`:: + + Remove an item from a string_list. The `string` pointer of the items + will be freed in case the `strdup_strings` member of the string_list + is set. The third parameter controls if the `util` pointer of the + items should be freed or not. + Data structures --------------- |