<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/git-pull.sh, branch gitk-resize-error</title>
<subtitle>Fork of git SCM with my patches.</subtitle>
<id>http://git.kilabit.info/git/atom?h=gitk-resize-error</id>
<link rel='self' href='http://git.kilabit.info/git/atom?h=gitk-resize-error'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/'/>
<updated>2015-06-18T20:18:59Z</updated>
<entry>
<title>pull: remove redirection to git-pull.sh</title>
<updated>2015-06-18T20:18:59Z</updated>
<author>
<name>Paul Tan</name>
<email>pyokagan@gmail.com</email>
</author>
<published>2015-06-18T10:54:12Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=b1456605c26eb6bd991b70b0ca0a3ce0f02473e9'/>
<id>urn:sha1:b1456605c26eb6bd991b70b0ca0a3ce0f02473e9</id>
<content type='text'>
At the beginning of the rewrite of git-pull.sh to C, we introduced a
redirection to git-pull.sh if the environment variable
_GIT_USE_BUILTIN_PULL was not defined in order to not break test scripts
that relied on a functional git-pull.

Now that all of git-pull's functionality has been re-implemented in
builtin/pull.c, remove this redirection, and retire the old git-pull.sh
into contrib/examples/.

Signed-off-by: Paul Tan &lt;pyokagan@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'pt/pull-ff-vs-merge-ff'</title>
<updated>2015-05-26T20:24:44Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-05-26T20:24:43Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=22a1ae6ef2ba77a20113bbee6f706ec47e6440c5'/>
<id>urn:sha1:22a1ae6ef2ba77a20113bbee6f706ec47e6440c5</id>
<content type='text'>
The pull.ff configuration was supposed to override the merge.ff
configuration, but it didn't.

* pt/pull-ff-vs-merge-ff:
  pull: parse pull.ff as a bool or string
  pull: make pull.ff=true override merge.ff
</content>
</entry>
<entry>
<title>Merge branch 'pt/pull-log-n'</title>
<updated>2015-05-26T20:24:43Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-05-26T20:24:43Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=14230580af96353b911ec1de85517d71c8cfe6b8'/>
<id>urn:sha1:14230580af96353b911ec1de85517d71c8cfe6b8</id>
<content type='text'>
"git pull --log" and "git pull --no-log" worked as expected, but
"git pull --log=20" did not.

* pt/pull-log-n:
  pull: handle --log=&lt;n&gt;
</content>
</entry>
<entry>
<title>Merge branch 'pt/pull-tags-error-diag'</title>
<updated>2015-05-22T19:41:56Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-05-22T19:41:56Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=cc77b996120c548fd52799eee28c802358e260a7'/>
<id>urn:sha1:cc77b996120c548fd52799eee28c802358e260a7</id>
<content type='text'>
There was a dead code that used to handle "git pull --tags" and
show special-cased error message, which was made irrelevant when
the semantics of the option changed back in Git 1.9 days.

* pt/pull-tags-error-diag:
  pull: remove --tags error in no merge candidates case
</content>
</entry>
<entry>
<title>Merge branch 'jc/merge'</title>
<updated>2015-05-19T20:17:57Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-05-19T20:17:57Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=bcd1ecd08a644a19adfebb31a72a4e608e077c6d'/>
<id>urn:sha1:bcd1ecd08a644a19adfebb31a72a4e608e077c6d</id>
<content type='text'>
"git merge FETCH_HEAD" learned that the previous "git fetch" could
be to create an Octopus merge, i.e. recording multiple branches
that are not marked as "not-for-merge"; this allows us to lose an
old style invocation "git merge &lt;msg&gt; HEAD $commits..." in the
implementation of "git pull" script; the old style syntax can now
be deprecated.

* jc/merge:
  merge: deprecate 'git merge &lt;message&gt; HEAD &lt;commit&gt;' syntax
  merge: handle FETCH_HEAD internally
  merge: decide if we auto-generate the message early in collect_parents()
  merge: make collect_parents() auto-generate the merge message
  merge: extract prepare_merge_message() logic out
  merge: narrow scope of merge_names
  merge: split reduce_parents() out of collect_parents()
  merge: clarify collect_parents() logic
  merge: small leakfix and code simplification
  merge: do not check argc to determine number of remote heads
  merge: clarify "pulling into void" special case
  t5520: test pulling an octopus into an unborn branch
  t5520: style fixes
  merge: simplify code flow
  merge: test the top-level merge driver
</content>
</entry>
<entry>
<title>pull: parse pull.ff as a bool or string</title>
<updated>2015-05-18T18:22:38Z</updated>
<author>
<name>Paul Tan</name>
<email>pyokagan@gmail.com</email>
</author>
<published>2015-05-18T13:45:42Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=db9bb280ed7df7858a2de5d1d0334114dd837be0'/>
<id>urn:sha1:db9bb280ed7df7858a2de5d1d0334114dd837be0</id>
<content type='text'>
Since b814da8 (pull: add pull.ff configuration, 2014-01-15) git-pull
supported setting --(no-)ff via the pull.ff configuration value.
However, as it only matches the string values of "true" and "false", it
does not support other boolean aliases such as "on", "off", "1", "0".
This is inconsistent with the merge.ff setting, which supports these
aliases.

Fix this by using the bool_or_string_config function to retrieve the
value of pull.ff.

Signed-off-by: Paul Tan &lt;pyokagan@gmail.com&gt;
Reviewed-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>pull: make pull.ff=true override merge.ff</title>
<updated>2015-05-18T18:22:27Z</updated>
<author>
<name>Paul Tan</name>
<email>pyokagan@gmail.com</email>
</author>
<published>2015-05-18T13:45:41Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=eb8dc05c3d364174a6b694e2850ffd6cfe32c6d3'/>
<id>urn:sha1:eb8dc05c3d364174a6b694e2850ffd6cfe32c6d3</id>
<content type='text'>
Since b814da8 (pull: add pull.ff configuration, 2014-01-15), running
git-pull with the configuration pull.ff=false or pull.ff=only is
equivalent to passing --no-ff and --ff-only to git-merge. However, if
pull.ff=true, no switch is passed to git-merge. This leads to the
confusing behavior where pull.ff=false or pull.ff=only is able to
override merge.ff, while pull.ff=true is unable to.

Fix this by adding the --ff switch if pull.ff=true, and add a test to
catch future regressions.

Furthermore, clarify in the documentation that pull.ff overrides
merge.ff.

Signed-off-by: Paul Tan &lt;pyokagan@gmail.com&gt;
Reviewed-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>pull: handle --log=&lt;n&gt;</title>
<updated>2015-05-18T18:19:36Z</updated>
<author>
<name>Paul Tan</name>
<email>pyokagan@gmail.com</email>
</author>
<published>2015-05-18T13:39:56Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=5061a44bcc7bfab0764b3854b8b2df69a93675ad'/>
<id>urn:sha1:5061a44bcc7bfab0764b3854b8b2df69a93675ad</id>
<content type='text'>
Since efb779f (merge, pull: add '--(no-)log' command line option,
2008-04-06) git-pull supported the (--no-)log switch and would pass it
to git-merge.

96e9420 (merge: Make '--log' an integer option for number of shortlog
entries, 2010-09-08) implemented support for the --log=&lt;n&gt; switch, which
would explicitly set the number of shortlog entries. However, git-pull
does not recognize this option, and will instead pass it to git-fetch,
leading to "unknown option" errors.

Fix this by matching --log=* in addition to --log and --no-log.

Implement a test for this use case.

Signed-off-by: Paul Tan &lt;pyokagan@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>pull: remove --tags error in no merge candidates case</title>
<updated>2015-05-14T16:52:51Z</updated>
<author>
<name>Paul Tan</name>
<email>pyokagan@gmail.com</email>
</author>
<published>2015-05-13T10:06:47Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=19d122bf1b119a759267076fead332fb857af87e'/>
<id>urn:sha1:19d122bf1b119a759267076fead332fb857af87e</id>
<content type='text'>
Since 441ed41 ("git pull --tags": error out with a better message.,
2007-12-28), git pull --tags would print a different error message if
git-fetch did not return any merge candidates:

   It doesn't make sense to pull all tags; you probably meant:
        git fetch --tags

This is because at that time, git-fetch --tags would override any
configured refspecs, and thus there would be no merge candidates. The
error message was thus introduced to prevent confusion.

However, since c5a84e9 (fetch --tags: fetch tags *in addition to*
other stuff, 2013-10-30), git fetch --tags would fetch tags in addition
to any configured refspecs. Hence, if any no merge candidates situation
occurs, it is not because --tags was set. As such, this special error
message is now irrelevant.

To prevent confusion, remove this error message.

Signed-off-by: Paul Tan &lt;pyokagan@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>merge: deprecate 'git merge &lt;message&gt; HEAD &lt;commit&gt;' syntax</title>
<updated>2015-04-29T20:28:10Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-03-26T04:58:45Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=d45366e8aa922037e7e84c3f35924d2b1399a453'/>
<id>urn:sha1:d45366e8aa922037e7e84c3f35924d2b1399a453</id>
<content type='text'>
We had this in "git merge" manual for eternity:

    'git merge' &lt;msg&gt; HEAD &lt;commit&gt;...

    [This] syntax (&lt;msg&gt; `HEAD` &lt;commit&gt;...) is supported for
    historical reasons.  Do not use it from the command line or in
    new scripts.  It is the same as `git merge -m &lt;msg&gt; &lt;commit&gt;...`.

With the update to "git merge" to make it understand what is
recorded in FETCH_HEAD directly, including Octopus merge cases, we
now can rewrite the use of this syntax in "git pull" with a simple
"git merge FETCH_HEAD".

Also there are quite a few fallouts in the test scripts, and it
turns out that "git cvsimport" also uses this old syntax to record
a merge.

Judging from this result, I would not be surprised if dropping the
support of the old syntax broke scripts people have written and been
relying on for the past ten years.  But at least we can start the
deprecation process by throwing a warning message when the syntax is
used.

With luck, we might be able to drop the support in a few years.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
