<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/builtin/fetch.c, branch v1.8.2.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v1.8.2.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v1.8.2.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2013-02-01T20:40:16Z</updated>
<entry>
<title>Merge branch 'jk/gc-auto-after-fetch'</title>
<updated>2013-02-01T20:40:16Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2013-02-01T20:40:16Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4acfff9dda29ae700c8b053cf7af9d4bcdf73762'/>
<id>urn:sha1:4acfff9dda29ae700c8b053cf7af9d4bcdf73762</id>
<content type='text'>
Help "fetch only" repositories that do not trigger "gc --auto"
often enough.

* jk/gc-auto-after-fetch:
  fetch-pack: avoid repeatedly re-scanning pack directory
  fetch: run gc --auto after fetching
</content>
</entry>
<entry>
<title>Merge branch 'jk/maint-gc-auto-after-fetch' into jk/gc-auto-after-fetch</title>
<updated>2013-01-27T03:42:09Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2013-01-27T03:42:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=012a1bb524245d119ee561c6c8d269ad021f489a'/>
<id>urn:sha1:012a1bb524245d119ee561c6c8d269ad021f489a</id>
<content type='text'>
* jk/maint-gc-auto-after-fetch:
  fetch-pack: avoid repeatedly re-scanning pack directory
  fetch: run gc --auto after fetching
</content>
</entry>
<entry>
<title>fetch: run gc --auto after fetching</title>
<updated>2013-01-27T03:25:38Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2013-01-26T22:40:38Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=131b8fcbfbea0acee8d78a8f9b2b3fee4285aee5'/>
<id>urn:sha1:131b8fcbfbea0acee8d78a8f9b2b3fee4285aee5</id>
<content type='text'>
We generally try to run "gc --auto" after any commands that
might introduce a large number of new objects. An obvious
place to do so is after running "fetch", which may introduce
new loose objects or packs (depending on the size of the
fetch).

While an active developer repository will probably
eventually trigger a "gc --auto" on another action (e.g.,
git-rebase), there are two good reasons why it is nicer to
do it at fetch time:

  1. Read-only repositories which track an upstream (e.g., a
     continuous integration server which fetches and builds,
     but never makes new commits) will accrue loose objects
     and small packs, but never coalesce them into a more
     efficient larger pack.

  2. Fetching is often already perceived to be slow to the
     user, since they have to wait on the network. It's much
     more pleasant to include a potentially slow auto-gc as
     part of the already-long network fetch than in the
     middle of productive work with git-rebase or similar.

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>fetch: add --unshallow for turning shallow repo into complete one</title>
<updated>2013-01-11T17:09:30Z</updated>
<author>
<name>Nguyễn Thái Ngọc Duy</name>
<email>pclouds@gmail.com</email>
</author>
<published>2013-01-11T09:05:46Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4dcb167fc3536db0e78c50f239cd3a19afd383fa'/>
<id>urn:sha1:4dcb167fc3536db0e78c50f239cd3a19afd383fa</id>
<content type='text'>
The user can do --depth=2147483647 (*) for restoring complete repo
now. But it's hard to remember. Any other numbers larger than the
longest commit chain in the repository would also do, but some
guessing may be involved. Make easy-to-remember --unshallow an alias
for --depth=2147483647.

Make upload-pack recognize this special number as infinite depth. The
effect is essentially the same as before, except that upload-pack is
more efficient because it does not have to traverse to the bottom
anymore.

The chance of a user actually wanting exactly 2147483647 commits
depth, not infinite, on a repository with a history that long, is
probably too small to consider. The client can learn to add or
subtract one commit to avoid the special treatment when that actually
happens.

(*) This is the largest positive number a 32-bit signed integer can
    contain. JGit and older C Git store depth as "int" so both are OK
    with this number. Dulwich does not support shallow clone.

Signed-off-by: Nguyễn Thái Ngọc Duy &lt;pclouds@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'dj/fetch-all-tags' into maint</title>
<updated>2012-09-24T19:39:21Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2012-09-24T19:39:21Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=8144049d79f2678eb6cee7bb9070341e3fcfe282'/>
<id>urn:sha1:8144049d79f2678eb6cee7bb9070341e3fcfe282</id>
<content type='text'>
"git fetch --all", when passed "--no-tags", did not honor the
"--no-tags" option while fetching from individual remotes (the same
issue existed with "--tags", but combination "--all --tags" makes
much less sense than "--all --no-tags").

* dj/fetch-all-tags:
  fetch --all: pass --tags/--no-tags through to each remote
  submodule: use argv_array instead of hand-building arrays
  fetch: use argv_array instead of hand-building arrays
  argv-array: fix bogus cast when freeing array
  argv-array: add pop function
</content>
</entry>
<entry>
<title>Merge branch 'nd/fetch-status-alignment'</title>
<updated>2012-09-18T21:35:55Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2012-09-18T21:35:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d71abd99f82e7076775f12deb9326f7d26761591'/>
<id>urn:sha1:d71abd99f82e7076775f12deb9326f7d26761591</id>
<content type='text'>
The status report from "git fetch", when messages like 'up-to-date'
are translated, did not align the branch names well.

* nd/fetch-status-alignment:
  fetch: align per-ref summary report in UTF-8 locales
</content>
</entry>
<entry>
<title>fetch: align per-ref summary report in UTF-8 locales</title>
<updated>2012-09-14T19:45:50Z</updated>
<author>
<name>Nguyễn Thái Ngọc Duy</name>
<email>pclouds@gmail.com</email>
</author>
<published>2012-09-04T10:39:35Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=754395d3052fc0d46948b2ff7006b3c6701785c8'/>
<id>urn:sha1:754395d3052fc0d46948b2ff7006b3c6701785c8</id>
<content type='text'>
fetch does printf("%-*s", width, "foo") where "foo" can be a utf-8
string, but width is in bytes, not columns. For ASCII it's fine as one
byte takes one column. For utf-8, this may result in misaligned ref
summary table.

Introduce gettext_width() function that returns the string length in
columns (currently only supports utf-8 locales). Make the code use
TRANSPORT_SUMMARY(x) where the length is compensated properly in
non-English locales.

Signed-off-by: Nguyễn Thái Ngọc Duy &lt;pclouds@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'dj/fetch-all-tags'</title>
<updated>2012-09-14T18:54:19Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2012-09-14T18:54:19Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=0f80d8943f23a5ce5973556a144d4fe4195e16a7'/>
<id>urn:sha1:0f80d8943f23a5ce5973556a144d4fe4195e16a7</id>
<content type='text'>
"git fetch --all", when passed "--no-tags", did not honor the
"--no-tags" option while fetching from individual remotes (the same
issue existed with "--tags", but combination "--all --tags" makes
much less sense than "--all --no-tags").

* dj/fetch-all-tags:
  fetch --all: pass --tags/--no-tags through to each remote
</content>
</entry>
<entry>
<title>Merge branch 'jk/argv-array'</title>
<updated>2012-09-11T18:36:18Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2012-09-11T18:36:18Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=871313c35851e85a58c4012c02a806890c671813'/>
<id>urn:sha1:871313c35851e85a58c4012c02a806890c671813</id>
<content type='text'>
Use argv-array API in "git fetch" implementation.

* jk/argv-array:
  submodule: use argv_array instead of hand-building arrays
  fetch: use argv_array instead of hand-building arrays
  argv-array: fix bogus cast when freeing array
  argv-array: add pop function
</content>
</entry>
<entry>
<title>Merge branch 'jc/merge-bases'</title>
<updated>2012-09-11T18:36:05Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2012-09-11T18:35:26Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=34f5130af84f7a37fba327d5a5be4f4427dc6886'/>
<id>urn:sha1:34f5130af84f7a37fba327d5a5be4f4427dc6886</id>
<content type='text'>
Optimise the "merge-base" computation a bit, and also update its
users that do not need the full merge-base information to call a
cheaper subset.

* jc/merge-bases:
  reduce_heads(): reimplement on top of remove_redundant()
  merge-base: "--is-ancestor A B"
  get_merge_bases_many(): walk from many tips in parallel
  in_merge_bases(): use paint_down_to_common()
  merge_bases_many(): split out the logic to paint history
  in_merge_bases(): omit unnecessary redundant common ancestor reduction
  http-push: use in_merge_bases() for fast-forward check
  receive-pack: use in_merge_bases() for fast-forward check
  in_merge_bases(): support only one "other" commit
</content>
</entry>
</feed>
