Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/RelNotes/1.7.6.2.txt8
-rw-r--r--Documentation/RelNotes/1.7.6.3.txt20
-rw-r--r--Documentation/RelNotes/1.7.7.txt74
-rw-r--r--Documentation/SubmittingPatches3
-rw-r--r--Documentation/git-clean.txt10
-rw-r--r--Documentation/git-daemon.txt10
-rw-r--r--Documentation/git-format-patch.txt9
-rw-r--r--Documentation/git-log.txt11
-rw-r--r--Documentation/git-notes.txt7
-rw-r--r--Documentation/git-push.txt6
-rw-r--r--Documentation/git-receive-pack.txt5
-rw-r--r--Documentation/git-send-pack.txt5
-rw-r--r--Documentation/git-svn.txt16
-rw-r--r--Documentation/git.txt5
-rw-r--r--Documentation/howto/maintain-git.txt13
-rw-r--r--Documentation/technical/api-string-list.txt10
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
---------------