<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/Documentation/git-pull.txt, branch v2.8.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.8.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.8.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2016-01-13T20:59:15Z</updated>
<entry>
<title>pull: allow interactive rebase with --rebase=interactive</title>
<updated>2016-01-13T20:59:15Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2016-01-13T12:17:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=f5eb87b98dd6aa587683057b9f5bd063e682e145'/>
<id>urn:sha1:f5eb87b98dd6aa587683057b9f5bd063e682e145</id>
<content type='text'>
A couple of years ago, I found the need to collaborate on topic
branches that were rebased all the time, and I really needed to see
what I was rebasing when pulling, so I introduced an
interactively-rebasing pull.

The way builtin pull works, this change also supports the value
'interactive' for the 'branch.&lt;name&gt;.rebase' config variable, which
is a neat thing because users can now configure given branches for
interactively-rebasing pulls without having to type out the complete
`--rebase=interactive` option every time they pull.

Signed-off-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 git-fetch's options as well</title>
<updated>2015-06-02T20:36:22Z</updated>
<author>
<name>Paul Tan</name>
<email>pyokagan@gmail.com</email>
</author>
<published>2015-06-02T14:22:52Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=eb2a8d9ed3fca2ba2f617b704992d483605f3bb6'/>
<id>urn:sha1:eb2a8d9ed3fca2ba2f617b704992d483605f3bb6</id>
<content type='text'>
While parsing the command-line arguments, git-pull stops parsing at the
first unrecognized option, assuming that any subsequent options are for
git-fetch, and can thus be kept in the shell's positional parameters
list, so that it can be passed to git-fetch via the expansion of "$@".

However, certain functions in git-pull assume that the positional
parameters do not contain any options:

* error_on_no_merge_candidates() uses the number of positional
  parameters to determine which error message to print out, and will
  thus print the wrong message if git-fetch's options are passed in as
  well.

* the call to get_remote_merge_branch() assumes that the positional
  parameters only contains the optional repo and refspecs, and will
  thus silently fail if git-fetch's options are passed in as well.

* --dry-run is a valid git-fetch option, but if provided after any
  git-fetch options, it is not recognized by git-pull and thus git-pull
  will continue to run the merge or rebase.

Fix these bugs by teaching git-pull to parse git-fetch's options as
well. Add tests to prevent regressions.

This removes the limitation where git-fetch's options have to come after
git-merge's and git-rebase's options on the command line. Update the
documentation to reflect this.

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 'ss/pull-rebase-preserve'</title>
<updated>2015-03-28T16:37:52Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-03-28T16:37:51Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3a183520b2f5cd3db708f8d6a5b7aaba2c1779e7'/>
<id>urn:sha1:3a183520b2f5cd3db708f8d6a5b7aaba2c1779e7</id>
<content type='text'>
* ss/pull-rebase-preserve:
  docs: clarify "preserve" option wording for git-pull
</content>
</entry>
<entry>
<title>docs: clarify "preserve" option wording for git-pull</title>
<updated>2015-03-26T20:19:26Z</updated>
<author>
<name>Sebastian Schuberth</name>
<email>sschuberth@gmail.com</email>
</author>
<published>2015-03-26T20:11:21Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=129260cbd42f2a9fb40055ac6ed32c7b75a5ec05'/>
<id>urn:sha1:129260cbd42f2a9fb40055ac6ed32c7b75a5ec05</id>
<content type='text'>
The "also" sounds as if "preserve" does a rebase as an additional
step that "true" would not do, but that is not the case.  Clarify
this by omitting "also", and rewording the sentence a bit.

Signed-off-by: Sebastian Schuberth &lt;sschuberth@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>*config.txt: stick to camelCase naming convention</title>
<updated>2015-03-14T05:13:46Z</updated>
<author>
<name>Nguyễn Thái Ngọc Duy</name>
<email>pclouds@gmail.com</email>
</author>
<published>2015-03-11T20:32:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=da0005b8853137c91e44867d899910d5c7eb4425'/>
<id>urn:sha1:da0005b8853137c91e44867d899910d5c7eb4425</id>
<content type='text'>
This should improve readability. Compare "thislongname" and
"thisLongName". The following keys are left in unchanged. We can
decide what to do with them later.

 - am.keepcr
 - core.autocrlf .safecrlf .trustctime
 - diff.dirstat .noprefix
 - gitcvs.usecrlfattr
 - gui.blamehistoryctx .trustmtime
 - pull.twohead
 - receive.autogc
 - sendemail.signedoffbycc .smtpsslcertpath .suppresscc

Helped-by: Eric Sunshine &lt;sunshine@sunshineco.com&gt;
Signed-off-by: Nguyễn Thái Ngọc Duy &lt;pclouds@gmail.com&gt;
Signed-off-by: Eric Sunshine &lt;sunshine@sunshineco.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jc/maint-pull-docfix'</title>
<updated>2014-01-27T18:44:00Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2014-01-27T18:44:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=6d73dba8f6ace2a6b794b75f4fc71bb8ab09eba2'/>
<id>urn:sha1:6d73dba8f6ace2a6b794b75f4fc71bb8ab09eba2</id>
<content type='text'>
* jc/maint-pull-docfix:
  Documentation: "git pull" does not have the "-m" option
  Documentation: exclude irrelevant options from "git pull"
</content>
</entry>
<entry>
<title>Merge branch 'jc/maint-pull-docfix-for-409b8d82' into jc/maint-pull-docfix</title>
<updated>2014-01-14T18:47:09Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2014-01-14T18:47:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=8be1d04a7e9251380a5de80564284f0099774038'/>
<id>urn:sha1:8be1d04a7e9251380a5de80564284f0099774038</id>
<content type='text'>
* jc/maint-pull-docfix-for-409b8d82:
  Documentation: exclude irrelevant options from "git pull"
</content>
</entry>
<entry>
<title>Documentation: exclude irrelevant options from "git pull"</title>
<updated>2014-01-14T18:46:17Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2014-01-14T18:26:21Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d51a47552a913dcd4ba436d529d092e4f38a3182'/>
<id>urn:sha1:d51a47552a913dcd4ba436d529d092e4f38a3182</id>
<content type='text'>
10eb64f5 (git pull manpage: don't include -n from fetch-options.txt,
2008-01-25) introduced a way to exclude some parts of included
source when building git-pull documentation, and later 409b8d82
(Documentation/git-pull: put verbosity options before merge/fetch
ones, 2010-02-24) attempted to use the mechanism to exclude some
parts of merge-options.txt when used from git-pull.txt.

However, the latter did not have an intended effect, because the
macro "git-pull" used to decide if the source is included in
git-pull documentation were defined a bit too late.

Define the macro before it is used to fix this.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>doc/pull: clarify the illustrations</title>
<updated>2013-10-31T20:45:29Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2013-10-31T20:43:35Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5a3fd6afd4a26accc20a58bf4980f296772be98a'/>
<id>urn:sha1:5a3fd6afd4a26accc20a58bf4980f296772be98a</id>
<content type='text'>
The second illustration that shows the history after "git pull"
spelled the remote-tracking branch with "remotes/" prefix, which
is not necessary.  Drop it.

To match the assumption that a remote-tracking branch is used to
keep track of the advancement of the master at the origin, update
the first illustration that shows the history before "git pull"
to show the distinction between the master currently at origin and
the stale origin/master remote-tracking branch.

Noticed-by: Felipe Contreras &lt;felipe.contreras@gmail.com&gt;
Helped-by: Max Horn &lt;max@quendi.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>pull: allow pull to preserve merges when rebasing</title>
<updated>2013-09-04T19:45:48Z</updated>
<author>
<name>Stephen Haberman</name>
<email>stephen@exigencecorp.com</email>
</author>
<published>2013-08-13T03:43:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=66713ef3b00933755cdeff1ae823dda7b5843640'/>
<id>urn:sha1:66713ef3b00933755cdeff1ae823dda7b5843640</id>
<content type='text'>
If a user is working on master, and has merged in their feature branch, but now
has to "git pull" because master moved, with pull.rebase their feature branch
will be flattened into master.

This is because "git pull" currently does not know about rebase's preserve
merges flag, which would avoid this behavior, as it would instead replay just
the merge commit of the feature branch onto the new master, and not replay each
individual commit in the feature branch.

Add a --rebase=preserve option, which will pass along --preserve-merges to
rebase.

Also add 'preserve' to the allowed values for the pull.rebase config setting.

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