<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/builtin/pull.c, branch v2.6.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.6.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.6.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2015-10-16T21:32:32Z</updated>
<entry>
<title>Merge branch 'pt/pull-builtin' into maint</title>
<updated>2015-10-16T21:32:32Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-10-16T21:32:32Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=c7997e54a5dd75803657b25aea101255f388ac08'/>
<id>urn:sha1:c7997e54a5dd75803657b25aea101255f388ac08</id>
<content type='text'>
* pt/pull-builtin:
  pull: enclose &lt;options&gt; in brackets in the usage string
  merge: grammofix in please-commit-before-merge message
</content>
</entry>
<entry>
<title>pull: enclose &lt;options&gt; in brackets in the usage string</title>
<updated>2015-10-16T16:38:32Z</updated>
<author>
<name>Alex Henrie</name>
<email>alexhenrie24@gmail.com</email>
</author>
<published>2015-10-16T02:22:13Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e7a7401f8ba22995708fb015b7c75f45256e05bf'/>
<id>urn:sha1:e7a7401f8ba22995708fb015b7c75f45256e05bf</id>
<content type='text'>
All the other placeholders are already shown that way.

Signed-off-by: Alex Henrie &lt;alexhenrie24@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>pull: don't mark values for option "rebase" for translation</title>
<updated>2015-09-11T16:50:00Z</updated>
<author>
<name>Ralf Thielow</name>
<email>ralf.thielow@gmail.com</email>
</author>
<published>2015-09-11T15:53:17Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=7306b39f5ad6d8428cdb6caf7ce38bfc38ee091a'/>
<id>urn:sha1:7306b39f5ad6d8428cdb6caf7ce38bfc38ee091a</id>
<content type='text'>
"false|true|preserve" are actual values for option "rebase"
of the "git-pull" command and should therefore not be marked
for translation.

Signed-off-by: Ralf Thielow &lt;ralf.thielow@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'mh/tempfile'</title>
<updated>2015-08-25T21:57:09Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-08-25T21:57:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=db86e61cbbc4c59a0886366bbf392498e64b53c8'/>
<id>urn:sha1:db86e61cbbc4c59a0886366bbf392498e64b53c8</id>
<content type='text'>
The "lockfile" API has been rebuilt on top of a new "tempfile" API.

* mh/tempfile:
  credential-cache--daemon: use tempfile module
  credential-cache--daemon: delete socket from main()
  gc: use tempfile module to handle gc.pid file
  lock_repo_for_gc(): compute the path to "gc.pid" only once
  diff: use tempfile module
  setup_temporary_shallow(): use tempfile module
  write_shared_index(): use tempfile module
  register_tempfile(): new function to handle an existing temporary file
  tempfile: add several functions for creating temporary files
  prepare_tempfile_object(): new function, extracted from create_tempfile()
  tempfile: a new module for handling temporary files
  commit_lock_file(): use get_locked_file_path()
  lockfile: add accessor get_lock_file_path()
  lockfile: add accessors get_lock_file_fd() and get_lock_file_fp()
  create_bundle(): duplicate file descriptor to avoid closing it twice
  lockfile: move documentation to lockfile.h and lockfile.c
</content>
</entry>
<entry>
<title>pull: allow dirty tree when rebase.autostash enabled</title>
<updated>2015-07-22T19:56:30Z</updated>
<author>
<name>Kevin Daudt</name>
<email>me@ikke.info</email>
</author>
<published>2015-07-04T21:42:38Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=53c76dc05e0b5ad5b1f92db9577694e896d67a0a'/>
<id>urn:sha1:53c76dc05e0b5ad5b1f92db9577694e896d67a0a</id>
<content type='text'>
rebase learned to stash changes when it encounters a dirty work tree,
but git pull --rebase does not.

Only verify if the working tree is dirty when rebase.autostash is not
enabled.

Signed-off-by: Kevin Daudt &lt;me@ikke.info&gt;
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 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='https://git.shady.money/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>pull --rebase: error on no merge candidate cases</title>
<updated>2015-06-18T20:18:52Z</updated>
<author>
<name>Paul Tan</name>
<email>pyokagan@gmail.com</email>
</author>
<published>2015-06-18T10:54:11Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b7b314711ad28b129e6c5916eee1f2036ffa94df'/>
<id>urn:sha1:b7b314711ad28b129e6c5916eee1f2036ffa94df</id>
<content type='text'>
Tweak the error messages printed by die_no_merge_candidates() to take
into account that we may be "rebasing against" rather than "merging
with".

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 --rebase: exit early when the working directory is dirty</title>
<updated>2015-06-18T20:18:43Z</updated>
<author>
<name>Paul Tan</name>
<email>pyokagan@gmail.com</email>
</author>
<published>2015-06-18T10:54:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=8944969c20e80f13965905ecd2ccccac36a34831'/>
<id>urn:sha1:8944969c20e80f13965905ecd2ccccac36a34831</id>
<content type='text'>
Re-implement the behavior introduced by f9189cf (pull --rebase: exit
early when the working directory is dirty, 2008-05-21).

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: configure --rebase via branch.&lt;name&gt;.rebase or pull.rebase</title>
<updated>2015-06-18T20:17:53Z</updated>
<author>
<name>Paul Tan</name>
<email>pyokagan@gmail.com</email>
</author>
<published>2015-06-18T10:54:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=81dbd768dbeba4b3d65c485968920347460e309c'/>
<id>urn:sha1:81dbd768dbeba4b3d65c485968920347460e309c</id>
<content type='text'>
Since cd67e4d (Teach 'git pull' about --rebase, 2007-11-28),
fetch+rebase could be set by default by defining the config variable
branch.&lt;name&gt;.rebase. This setting can be overriden on the command line
by --rebase and --no-rebase.

Since 6b37dff (pull: introduce a pull.rebase option to enable --rebase,
2011-11-06), git-pull --rebase can also be configured via the
pull.rebase configuration option.

Re-implement support for these two configuration settings by introducing
config_get_rebase() which is called before parse_options() to set the
default value of opt_rebase.

Helped-by: Stefan Beller &lt;sbeller@google.com&gt;
Helped-by: Duy Nguyen &lt;pclouds@gmail.com&gt;
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: teach git pull about --rebase</title>
<updated>2015-06-18T20:17:46Z</updated>
<author>
<name>Paul Tan</name>
<email>pyokagan@gmail.com</email>
</author>
<published>2015-06-18T10:54:08Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1678b81ecce8bcde1356dbe969fdfea96fc91639'/>
<id>urn:sha1:1678b81ecce8bcde1356dbe969fdfea96fc91639</id>
<content type='text'>
Since cd67e4d (Teach 'git pull' about --rebase, 2007-11-28), if the
--rebase option is set, git-rebase is run instead of git-merge.

Re-implement this by introducing run_rebase(), which is called instead
of run_merge() if opt_rebase is a true value.

Since c85c792 (pull --rebase: be cleverer with rebased upstream
branches, 2008-01-26), git-pull handles the case where the upstream
branch was rebased since it was last fetched. The fork point (old remote
ref) of the branch from the upstream branch is calculated before fetch,
and then rebased from onto the new remote head (merge_head) after fetch.

Re-implement this by introducing get_merge_branch_2() and
get_merge_branch_1() to find the upstream branch for the
specified/current branch, and get_rebase_fork_point() which will find
the fork point between the upstream branch and current branch.

However, the above change created a problem where git-rebase cannot
detect commits that are already upstream, and thus may result in
unnecessary conflicts. cf65426 (pull --rebase: Avoid spurious conflicts
and reapplying unnecessary patches, 2010-08-12) fixes this by ignoring
the above old remote ref if it is contained within the merge base of the
merge head and the current branch.

This is re-implemented in run_rebase() where fork_point is not used if
it is the merge base returned by get_octopus_merge_base().

Helped-by: Stefan Beller &lt;sbeller@google.com&gt;
Helped-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Signed-off-by: Paul Tan &lt;pyokagan@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
