Permalink
Browse files

Autogenerated HTML docs for v1.8.5.2-192-g7794

  • Loading branch information...
1 parent 4c8f2d9 commit cf77b0414a44eadfcd0c74dfcae739427b7d2cce @gitster committed Dec 17, 2013
Showing with 205 additions and 8 deletions.
  1. +20 −0 RelNotes/1.8.5.2.txt
  2. +37 −0 RelNotes/1.9.txt
  3. +3 −1 git-fetch.html
  4. +3 −0 git-fetch.txt
  5. +7 −0 git-merge.html
  6. +7 −0 git-pull.html
  7. +7 −0 git-rebase.html
  8. +2 −1 git.txt
  9. +17 −3 gitignore.html
  10. +17 −2 gitignore.txt
  11. +40 −1 gitweb.conf.html
  12. +37 −0 gitweb.conf.txt
  13. +8 −0 merge-strategies.txt
View
@@ -0,0 +1,20 @@
+Git v1.8.5.2 Release Notes
+==========================
+
+Fixes since v1.8.5.1
+--------------------
+
+ * "git diff -- ':(icase)makefile'" was unnecessarily rejected at the
+ command line parser.
+
+ * "git cat-file --batch-check=ok" did not check the existence of
+ the named object.
+
+ * "git am --abort" sometimes complained about not being able to write
+ a tree with an 0{40} object in it.
+
+ * Two processes creating loose objects at the same time could have
+ failed unnecessarily when the name of their new objects started
+ with the same byte value, due to a race condition.
+
+Also contains typofixes, documentation updates and trivial code clean-ups.
View
@@ -84,6 +84,10 @@ Foreign interfaces, subsystems and ports.
UI, Workflows & Features
+ * "gitweb" learned to treat ref hierarchies other than refs/heads as
+ if they are additional branch namespaces (e.g. refs/changes/ in
+ Gerrit).
+
* "git for-each-ref --format=..." learned a few formatting directives;
e.g. "%(color:red)%(HEAD)%(color:reset) %(refname:short) %(subject)".
@@ -105,6 +109,12 @@ UI, Workflows & Features
Performance, Internal Implementation, etc.
+ * The deprecated parse-options macro OPT_BOOLEAN has been removed;
+ use OPT_BOOL or OPT_COUNTUP in new code.
+
+ * A few duplicate implementations of prefix/suffix string comparison
+ functions have been unified to starts_with() and ends_with().
+
* The new PERLLIB_EXTRA makefile variable can be used to specify
additional directories Perl modules (e.g. the ones necessary to run
git-svn) are installed on the platform when building.
@@ -131,6 +141,33 @@ Unless otherwise noted, all the fixes since v1.8.5 in the maintenance
track are contained in this release (see the maintenance releases' notes
for details).
+ * "git mv A B/", when B does not exist as a directory, should error
+ out, but it didn't.
+ (merge c57f628 mm/mv-file-to-no-such-dir-with-slash later to maint).
+
+ * A workaround to an old bug in glibc prior to glibc 2.17 has been
+ retired; this would remove a side effect of the workaround that
+ corrupts system error messages in non-C locales.
+
+ * SSL-related options were not passed correctly to underlying socket
+ layer in "git send-email".
+ (merge 5508f3e tr/send-email-ssl later to maint).
+
+ * "git commit -v" appends the patch to the log message before
+ editing, and then removes the patch when the editor returned
+ control. However, the patch was not stripped correctly when the
+ first modified path was a submodule.
+ (merge 1a72cfd jl/commit-v-strip-marker later to maint).
+
+ * "git fetch --depth=0" was a no-op, and was silently ignored.
+ Diagnose it as an error.
+ (merge 5594bca nd/transport-positive-depth-only later to maint).
+
+ * Remote repository URL expressed in scp-style host:path notation are
+ parsed more carefully (e.g. "foo/bar:baz" is local, "[::1]:/~user" asks
+ to connect to user's home directory on host at address ::1.
+ (merge a2036d7 tb/clone-ssh-with-colon-for-port later to maint).
+
* "git diff -- ':(icase)makefile'" was unnecessarily rejected at the
command line parser.
(merge 887c6c1 nd/magic-pathspec later to maint).
View
@@ -773,6 +773,8 @@ <h2 id="_description">DESCRIPTION</h2>
or from several repositories at once if &lt;group&gt; is given and
there is a remotes.&lt;group&gt; entry in the configuration file.
(See <a href="git-config.html">git-config(1)</a>).</p></div>
+<div class="paragraph"><p>When no remote is specified, by default the <code>origin</code> remote will be used,
+unless there&#8217;s an upstream branch configured for the current branch.</p></div>
</div>
</div>
<div class="sect1">
@@ -1424,7 +1426,7 @@ <h2 id="_git">GIT</h2>
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-Last updated 2013-12-12 16:55:14 PST
+Last updated 2013-12-17 15:53:46 PST
</div>
</div>
</body>
View
@@ -37,6 +37,9 @@ or from several repositories at once if <group> is given and
there is a remotes.<group> entry in the configuration file.
(See linkgit:git-config[1]).
+When no remote is specified, by default the `origin` remote will be used,
+unless there's an upstream branch configured for the current branch.
+
OPTIONS
-------
include::fetch-options.txt[]
View
@@ -1539,6 +1539,13 @@ <h2 id="_merge_strategies">MERGE STRATEGIES</h2>
</p>
</dd>
</dl></div>
+<div class="paragraph"><p>With the strategies that use 3-way merge (including the default, <em>recursive</em>),
+if a change is made on both branches, but later reverted on one of the
+branches, that change will be present in the merged result; some people find
+this behavior confusing. It occurs because only the heads and the merge base
+are considered when performing a merge, not the individual commits. The merge
+algorithm therefore considers the reverted change as no change at all, and
+substitutes the changed version instead.</p></div>
</div>
</div>
<div class="sect1">
View
@@ -1762,6 +1762,13 @@ <h2 id="_merge_strategies">MERGE STRATEGIES</h2>
</p>
</dd>
</dl></div>
+<div class="paragraph"><p>With the strategies that use 3-way merge (including the default, <em>recursive</em>),
+if a change is made on both branches, but later reverted on one of the
+branches, that change will be present in the merged result; some people find
+this behavior confusing. It occurs because only the heads and the merge base
+are considered when performing a merge, not the individual commits. The merge
+algorithm therefore considers the reverted change as no change at all, and
+substitutes the changed version instead.</p></div>
</div>
</div>
<div class="sect1">
View
@@ -1527,6 +1527,13 @@ <h2 id="_merge_strategies">MERGE STRATEGIES</h2>
</p>
</dd>
</dl></div>
+<div class="paragraph"><p>With the strategies that use 3-way merge (including the default, <em>recursive</em>),
+if a change is made on both branches, but later reverted on one of the
+branches, that change will be present in the merged result; some people find
+this behavior confusing. It occurs because only the heads and the merge base
+are considered when performing a merge, not the individual commits. The merge
+algorithm therefore considers the reverted change as no change at all, and
+substitutes the changed version instead.</p></div>
</div>
</div>
<div class="sect1">
View
@@ -43,9 +43,10 @@ unreleased) version of Git, that is available from 'master'
branch of the `git.git` repository.
Documentation for older releases are available here:
-* link:v1.8.5.1/git.html[documentation for release 1.8.5.1]
+* link:v1.8.5.2/git.html[documentation for release 1.8.5.2]
* release notes for
+ link:RelNotes/1.8.5.2.txt[1.8.5.2],
link:RelNotes/1.8.5.1.txt[1.8.5.1],
link:RelNotes/1.8.5.txt[1.8.5].
View
@@ -850,8 +850,10 @@ <h2 id="_pattern_format">PATTERN FORMAT</h2>
<p>
An optional prefix "<code>!</code>" which negates the pattern; any
matching file excluded by a previous pattern will become
- included again. If a negated pattern matches, this will
- override lower precedence patterns sources.
+ included again. It is not possible to re-include a file if a parent
+ directory of that file is excluded. Git doesn&#8217;t list excluded
+ directories for performance reasons, so any patterns on contained
+ files have no effect, no matter where they are defined.
Put a backslash ("<code>\</code>") in front of the first "<code>!</code>" for patterns
that begin with a literal "<code>!</code>", for example, "<code>\!important!.txt</code>".
</p>
@@ -979,6 +981,18 @@ <h2 id="_examples">EXAMPLES</h2>
</div></div>
<div class="paragraph"><p>The second .gitignore prevents Git from ignoring
<code>arch/foo/kernel/vmlinux.lds.S</code>.</p></div>
+<div class="paragraph"><p>Example to exclude everything except a specific directory <code>foo/bar</code>
+(note the <code>/*</code> - without the slash, the wildcard would also exclude
+everything within <code>foo/bar</code>):</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code> $ cat .gitignore
+ # exclude everything except directory foo/bar
+ /*
+ !/foo
+ /foo/*
+ !/foo/bar</code></pre>
+</div></div>
</div>
</div>
<div class="sect1">
@@ -1000,7 +1014,7 @@ <h2 id="_git">GIT</h2>
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-Last updated 2013-11-07 16:30:38 PST
+Last updated 2013-12-17 15:53:46 PST
</div>
</div>
</body>
View
@@ -79,8 +79,10 @@ PATTERN FORMAT
- An optional prefix "`!`" which negates the pattern; any
matching file excluded by a previous pattern will become
- included again. If a negated pattern matches, this will
- override lower precedence patterns sources.
+ included again. It is not possible to re-include a file if a parent
+ directory of that file is excluded. Git doesn't list excluded
+ directories for performance reasons, so any patterns on contained
+ files have no effect, no matter where they are defined.
Put a backslash ("`\`") in front of the first "`!`" for patterns
that begin with a literal "`!`", for example, "`\!important!.txt`".
@@ -182,6 +184,19 @@ Another example:
The second .gitignore prevents Git from ignoring
`arch/foo/kernel/vmlinux.lds.S`.
+Example to exclude everything except a specific directory `foo/bar`
+(note the `/*` - without the slash, the wildcard would also exclude
+everything within `foo/bar`):
+
+--------------------------------------------------------------
+ $ cat .gitignore
+ # exclude everything except directory foo/bar
+ /*
+ !/foo
+ /foo/*
+ !/foo/bar
+--------------------------------------------------------------
+
SEE ALSO
--------
linkgit:git-rm[1],
View
@@ -1823,6 +1823,45 @@ <h3 id="_features_in_code_feature_code">Features in <code>%feature</code></h3>
time zones in the form of "+/-HHMM", such as "+0200".</p></div>
<div class="paragraph"><p>Project specific override is not supported.</p></div>
</dd>
+<dt class="hdlist1">
+extra-branch-refs
+</dt>
+<dd>
+<p>
+ List of additional directories under "refs" which are going to
+ be used as branch refs. For example if you have a gerrit setup
+ where all branches under refs/heads/ are official,
+ push-after-review ones and branches under refs/sandbox/,
+ refs/wip and refs/other are user ones where permissions are
+ much wider, then you might want to set this variable as
+ follows:
+</p>
+<div class="listingblock">
+<div class="content">
+<pre><code>$feature{'extra-branch-refs'}{'default'} =
+ ['sandbox', 'wip', 'other'];</code></pre>
+</div></div>
+<div class="paragraph"><p>This feature can be configured on per-repository basis after setting
+$feature{<em>extra-branch-refs</em>}{<em>override</em>} to true, via repository&#8217;s
+<code>gitweb.extraBranchRefs</code> configuration variable, which contains a
+space separated list of refs. An example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[gitweb]
+ extraBranchRefs = sandbox wip other</code></pre>
+</div></div>
+<div class="paragraph"><p>The gitweb.extraBranchRefs is actually a multi-valued configuration
+variable, so following example is also correct and the result is the
+same as of the snippet above:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[gitweb]
+ extraBranchRefs = sandbox
+ extraBranchRefs = wip other</code></pre>
+</div></div>
+<div class="paragraph"><p>It is an error to specify a ref that does not pass "git check-ref-format"
+scrutiny. Duplicated values are filtered.</p></div>
+</dd>
</dl></div>
</div>
</div>
@@ -1955,7 +1994,7 @@ <h2 id="_git">GIT</h2>
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-Last updated 2013-11-12 15:22:25 PST
+Last updated 2013-12-17 15:53:46 PST
</div>
</div>
</body>
View
@@ -849,6 +849,43 @@ time zones in the form of "+/-HHMM", such as "+0200".
+
Project specific override is not supported.
+extra-branch-refs::
+ List of additional directories under "refs" which are going to
+ be used as branch refs. For example if you have a gerrit setup
+ where all branches under refs/heads/ are official,
+ push-after-review ones and branches under refs/sandbox/,
+ refs/wip and refs/other are user ones where permissions are
+ much wider, then you might want to set this variable as
+ follows:
++
+--------------------------------------------------------------------------------
+$feature{'extra-branch-refs'}{'default'} =
+ ['sandbox', 'wip', 'other'];
+--------------------------------------------------------------------------------
++
+This feature can be configured on per-repository basis after setting
+$feature{'extra-branch-refs'}{'override'} to true, via repository's
+`gitweb.extraBranchRefs` configuration variable, which contains a
+space separated list of refs. An example:
++
+--------------------------------------------------------------------------------
+[gitweb]
+ extraBranchRefs = sandbox wip other
+--------------------------------------------------------------------------------
++
+The gitweb.extraBranchRefs is actually a multi-valued configuration
+variable, so following example is also correct and the result is the
+same as of the snippet above:
++
+--------------------------------------------------------------------------------
+[gitweb]
+ extraBranchRefs = sandbox
+ extraBranchRefs = wip other
+--------------------------------------------------------------------------------
++
+It is an error to specify a ref that does not pass "git check-ref-format"
+scrutiny. Duplicated values are filtered.
+
EXAMPLES
--------
@@ -113,3 +113,11 @@ subtree::
match the tree structure of A, instead of reading the trees at
the same level. This adjustment is also done to the common
ancestor tree.
+
+With the strategies that use 3-way merge (including the default, 'recursive'),
+if a change is made on both branches, but later reverted on one of the
+branches, that change will be present in the merged result; some people find
+this behavior confusing. It occurs because only the heads and the merge base
+are considered when performing a merge, not the individual commits. The merge
+algorithm therefore considers the reverted change as no change at all, and
+substitutes the changed version instead.

0 comments on commit cf77b04

Please sign in to comment.