<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/builtin/pull.c, 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>2021-12-22T19:42:39Z</updated>
<entry>
<title>fetch/pull: use the sparse index</title>
<updated>2021-12-22T19:42:39Z</updated>
<author>
<name>Derrick Stolee</name>
<email>dstolee@microsoft.com</email>
</author>
<published>2021-12-22T14:20:52Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=5a4e0547e2386f9bf0565316d7b751fe9459898b'/>
<id>urn:sha1:5a4e0547e2386f9bf0565316d7b751fe9459898b</id>
<content type='text'>
The 'git fetch' and 'git pull' commands parse the index in order to
determine if submodules exist. Without command_requires_full_index=0,
this will expand a sparse index, causing slow performance even when
there is no new data to fetch.

The .gitmodules file will never be inside a sparse directory entry, and
even if it was, the index_name_pos() method would expand the sparse
index if needed as we search for the path by name. These commands do not
iterate over the index, which is the typical thing we are careful about
when integrating with the sparse index.

Signed-off-by: Derrick Stolee &lt;dstolee@microsoft.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ah/advice-pull-has-no-preference-between-rebase-and-merge'</title>
<updated>2021-12-10T22:35:09Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-12-10T22:35:09Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=8e715503f1c57c43808ac63881e69cb51b08c145'/>
<id>urn:sha1:8e715503f1c57c43808ac63881e69cb51b08c145</id>
<content type='text'>
The advice message given by "git pull" when the user hasn't made a
choice between merge and rebase still said that the merge is the
default, which no longer is the case.  This has been corrected.

* ah/advice-pull-has-no-preference-between-rebase-and-merge:
  pull: don't say that merge is "the default strategy"
</content>
</entry>
<entry>
<title>Merge branch 'ev/pull-already-up-to-date-is-noop'</title>
<updated>2021-11-22T05:57:04Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-11-22T05:57:04Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=0f2140f105ded522ebfd784ae3e7f0885302513f'/>
<id>urn:sha1:0f2140f105ded522ebfd784ae3e7f0885302513f</id>
<content type='text'>
"git pull" with any strategy when the other side is behind us
should succeed as it is a no-op, but doesn't.

* ev/pull-already-up-to-date-is-noop:
  pull: should be noop when already-up-to-date
</content>
</entry>
<entry>
<title>pull: don't say that merge is "the default strategy"</title>
<updated>2021-11-19T17:14:15Z</updated>
<author>
<name>Alex Henrie</name>
<email>alexhenrie24@gmail.com</email>
</author>
<published>2021-11-18T15:43:17Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=71076d0edde43a7672a9a0f555753ff078602a64'/>
<id>urn:sha1:71076d0edde43a7672a9a0f555753ff078602a64</id>
<content type='text'>
Git no longer has a default strategy for reconciling divergent branches,
because there's no way for Git to know which strategy is appropriate in
any particular situation.

The initially proposed version in [*], that eventually became
031e2f7a (pull: abort by default when fast-forwarding is not
possible, 2021-07-22), dropped this phrase from the message, but
it was left in the final version by accident.

* https://lore.kernel.org/git/20210627000855.530985-1-alexhenrie24@gmail.com/

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: should be noop when already-up-to-date</title>
<updated>2021-11-18T22:38:53Z</updated>
<author>
<name>Erwin Villejo</name>
<email>erwin.villejo@gmail.com</email>
</author>
<published>2021-11-17T07:55:50Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=ea1954af771253660cd84dc73b8f2832327c9c02'/>
<id>urn:sha1:ea1954af771253660cd84dc73b8f2832327c9c02</id>
<content type='text'>
The already-up-to-date pull bug was fixed for --ff-only but it did not
include the case where --ff or --ff-only are not specified. This updates
the --ff-only fix to include the case where --ff or --ff-only are not
specified in command line flags or config.

Signed-off-by: Erwin Villejo &lt;erwin.villejo@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jc/fix-pull-ff-only-when-already-up-to-date'</title>
<updated>2021-11-10T23:01:19Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-11-10T23:01:19Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=7c7cf62c485f527bee6d3eb7e37dcfbf8064cab2'/>
<id>urn:sha1:7c7cf62c485f527bee6d3eb7e37dcfbf8064cab2</id>
<content type='text'>
"git pull --ff-only" and "git pull --rebase --ff-only" should make
it a no-op to attempt pulling from a remote that is behind us, but
instead the command errored out by saying it was impossible to
fast-forward, which may technically be true, but not a useful thing
to diagnose as an error.  This has been corrected.

* jc/fix-pull-ff-only-when-already-up-to-date:
  pull: --ff-only should make it a noop when already-up-to-date
</content>
</entry>
<entry>
<title>Merge branch 'ar/fix-git-pull-no-verify'</title>
<updated>2021-11-04T19:07:46Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-11-04T19:07:46Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=a876f0b95c95d58436045454ea7c8b51c5f96c2e'/>
<id>urn:sha1:a876f0b95c95d58436045454ea7c8b51c5f96c2e</id>
<content type='text'>
"git pull --no-verify" did not affect the underlying "git merge".

* ar/fix-git-pull-no-verify:
  pull: honor --no-verify and do not call the commit-msg hook
</content>
</entry>
<entry>
<title>pull: --ff-only should make it a noop when already-up-to-date</title>
<updated>2021-10-29T07:15:39Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-10-20T17:28:44Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=361cb52383fb986f76a34506bdec9a1dd11133f0'/>
<id>urn:sha1:361cb52383fb986f76a34506bdec9a1dd11133f0</id>
<content type='text'>
Earlier, we made sure that "git pull --ff-only" (and "git -c
pull.ff=only pull") errors out when our current HEAD is not an
ancestor of the tip of the history we are merging, but the condition
to trigger the error was implemented incorrectly.

Imagine you forked from a remote branch, built your history on top
of it, and then attempted to pull from them again.  If they have not
made any update in the meantime, our current HEAD is obviously not
their ancestor, and this new error triggers.

Without the --ff-only option, we just report that there is no need
to pull; we did the same historically with --ff-only, too.

Make sure we do not fail with the recently added check to restore
the historical behaviour.

Reported-by: Kenneth Arnold &lt;ka37@calvin.edu&gt;
Helped-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>pull: honor --no-verify and do not call the commit-msg hook</title>
<updated>2021-10-28T16:52:09Z</updated>
<author>
<name>Alex Riesen</name>
<email>raa.lkml@gmail.com</email>
</author>
<published>2021-10-28T15:46:19Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=47bfdfb3fd3b4752d2292a6744fae9abe37b8f1e'/>
<id>urn:sha1:47bfdfb3fd3b4752d2292a6744fae9abe37b8f1e</id>
<content type='text'>
The option was incorrectly auto-translated to "--no-verify-signatures",
which causes the unexpected effect of the hook being called.
And an even more unexpected effect of disabling verification of signatures.

The manual page describes the option to behave same as the similarly
named option of "git merge", which seems to be the original intention
of this option in the "pull" command.

Signed-off-by: Alexander Riesen &lt;raa.lkml@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'js/retire-preserve-merges'</title>
<updated>2021-10-18T22:47:56Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-10-18T22:47:56Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=223a1bfb5821387981c700654e4edd2443c5a7fc'/>
<id>urn:sha1:223a1bfb5821387981c700654e4edd2443c5a7fc</id>
<content type='text'>
The "--preserve-merges" option of "git rebase" has been removed.

* js/retire-preserve-merges:
  sequencer: restrict scope of a formerly public function
  rebase: remove a no-longer-used function
  rebase: stop mentioning the -p option in comments
  rebase: remove obsolete code comment
  rebase: drop the internal `rebase--interactive` command
  git-svn: drop support for `--preserve-merges`
  rebase: drop support for `--preserve-merges`
  pull: remove support for `--rebase=preserve`
  tests: stop testing `git rebase --preserve-merges`
  remote: warn about unhandled branch.&lt;name&gt;.rebase values
  t5520: do not use `pull.rebase=preserve`
</content>
</entry>
</feed>
