<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/builtin/fetch.c, branch v2.0.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.0.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.0.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2014-02-27T22:01:30Z</updated>
<entry>
<title>Merge branch 'ep/varscope'</title>
<updated>2014-02-27T22:01:30Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2014-02-27T22:01:30Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=043478308feec3cda9b3473bc0b79396cb9d4db6'/>
<id>urn:sha1:043478308feec3cda9b3473bc0b79396cb9d4db6</id>
<content type='text'>
Shrink lifetime of variables by moving their definitions to an
inner scope where appropriate.

* ep/varscope:
  builtin/gc.c: reduce scope of variables
  builtin/fetch.c: reduce scope of variable
  builtin/commit.c: reduce scope of variables
  builtin/clean.c: reduce scope of variable
  builtin/blame.c: reduce scope of variables
  builtin/apply.c: reduce scope of variables
  bisect.c: reduce scope of variable
</content>
</entry>
<entry>
<title>builtin/fetch.c: reduce scope of variable</title>
<updated>2014-01-31T18:44:05Z</updated>
<author>
<name>Elia Pinto</name>
<email>gitter.spiros@gmail.com</email>
</author>
<published>2014-01-29T16:54:16Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=bf7e645c90e08f0d3391502c888453033e446372'/>
<id>urn:sha1:bf7e645c90e08f0d3391502c888453033e446372</id>
<content type='text'>
Signed-off-by: Elia Pinto &lt;gitter.spiros@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'nd/shallow-clone'</title>
<updated>2014-01-17T20:21:20Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2014-01-17T20:21:14Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=92251b1b5b5e53ac9de890105e2a2bd9d15e2ecb'/>
<id>urn:sha1:92251b1b5b5e53ac9de890105e2a2bd9d15e2ecb</id>
<content type='text'>
Fetching from a shallow-cloned repository used to be forbidden,
primarily because the codepaths involved were not carefully vetted
and we did not bother supporting such usage. This attempts to allow
object transfer out of a shallow-cloned repository in a controlled
way (i.e. the receiver become a shallow repository with truncated
history).

* nd/shallow-clone: (31 commits)
  t5537: fix incorrect expectation in test case 10
  shallow: remove unused code
  send-pack.c: mark a file-local function static
  git-clone.txt: remove shallow clone limitations
  prune: clean .git/shallow after pruning objects
  clone: use git protocol for cloning shallow repo locally
  send-pack: support pushing from a shallow clone via http
  receive-pack: support pushing to a shallow clone via http
  smart-http: support shallow fetch/clone
  remote-curl: pass ref SHA-1 to fetch-pack as well
  send-pack: support pushing to a shallow clone
  receive-pack: allow pushes that update .git/shallow
  connected.c: add new variant that runs with --shallow-file
  add GIT_SHALLOW_FILE to propagate --shallow-file to subprocesses
  receive/send-pack: support pushing from a shallow clone
  receive-pack: reorder some code in unpack()
  fetch: add --update-shallow to accept refs that update .git/shallow
  upload-pack: make sure deepening preserves shallow roots
  fetch: support fetching from a shallow repository
  clone: support remote shallow repository
  ...
</content>
</entry>
<entry>
<title>fetch --prune: Run prune before fetching</title>
<updated>2014-01-03T18:18:40Z</updated>
<author>
<name>Tom Miller</name>
<email>jackerran@gmail.com</email>
</author>
<published>2014-01-03T02:28:52Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=10a6cc8890ec1e5459c05ddeb28a671acdc37d60'/>
<id>urn:sha1:10a6cc8890ec1e5459c05ddeb28a671acdc37d60</id>
<content type='text'>
When we have a remote-tracking branch named "frotz/nitfol" from a
previous fetch, and the upstream now has a branch named "frotz",
fetch would fail to remove "frotz/nitfol" with a "git fetch --prune"
from the upstream. git would inform the user to use "git remote
prune" to fix the problem.

Change the way "fetch --prune" works by moving the pruning operation
before the fetching operation. This way, instead of warning the user
of a conflict, it autmatically fixes it.

Signed-off-by: Tom Miller &lt;jackerran@gmail.com&gt;
Tested-by: Thomas Rast &lt;tr@thomasrast.ch&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>fetch --prune: always print header url</title>
<updated>2014-01-03T18:13:39Z</updated>
<author>
<name>Tom Miller</name>
<email>jackerran@gmail.com</email>
</author>
<published>2014-01-03T02:28:51Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4b3b33a747c325f76b1f6eef89c231609dd4d361'/>
<id>urn:sha1:4b3b33a747c325f76b1f6eef89c231609dd4d361</id>
<content type='text'>
If "fetch --prune" is run with no new refs to fetch, but it has refs
to prune. Then, the header url is not printed as it would if there were
new refs to fetch.

Output before this patch:

	$ git fetch --prune remote-with-no-new-refs
	 x [deleted]         (none)     -&gt; origin/world

Output after this patch:

	$ git fetch --prune remote-with-no-new-refs
	From https://github.com/git/git
	 x [deleted]         (none)     -&gt; origin/test

Signed-off-by: Tom Miller &lt;jackerran@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'nd/transport-positive-depth-only'</title>
<updated>2013-12-17T20:03:29Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2013-12-17T20:03:29Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=88cb2f96aca8ca8e454e8aa532e54c3c629dbb62'/>
<id>urn:sha1:88cb2f96aca8ca8e454e8aa532e54c3c629dbb62</id>
<content type='text'>
"git fetch --depth=0" was a no-op, and was silently
ignored. Diagnose it as an error.

* nd/transport-positive-depth-only:
  clone,fetch: catch non positive --depth option value
</content>
</entry>
<entry>
<title>Merge branch 'cc/starts-n-ends-with'</title>
<updated>2013-12-17T20:02:44Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2013-12-17T19:47:35Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ad7044857660af7ffaaf8fbbccc77b817d1b938f'/>
<id>urn:sha1:ad7044857660af7ffaaf8fbbccc77b817d1b938f</id>
<content type='text'>
Remove a few duplicate implementations of prefix/suffix comparison
functions, and rename them to starts_with and ends_with.

* cc/starts-n-ends-with:
  replace {pre,suf}fixcmp() with {starts,ends}_with()
  strbuf: introduce starts_with() and ends_with()
  builtin/remote: remove postfixcmp() and use suffixcmp() instead
  environment: normalize use of prefixcmp() by removing " != 0"
</content>
</entry>
<entry>
<title>fetch: add --update-shallow to accept refs that update .git/shallow</title>
<updated>2013-12-11T00:14:17Z</updated>
<author>
<name>Nguyễn Thái Ngọc Duy</name>
<email>pclouds@gmail.com</email>
</author>
<published>2013-12-05T13:02:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=48d25cae22667dfc2c31ad620172c0f0a3ac1490'/>
<id>urn:sha1:48d25cae22667dfc2c31ad620172c0f0a3ac1490</id>
<content type='text'>
The same steps are done as in when --update-shallow is not given. The
only difference is we now add all shallow commits in "ours" and
"theirs" to .git/shallow (aka "step 8").

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>fetch: support fetching from a shallow repository</title>
<updated>2013-12-11T00:14:17Z</updated>
<author>
<name>Nguyễn Thái Ngọc Duy</name>
<email>pclouds@gmail.com</email>
</author>
<published>2013-12-05T13:02:40Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4820a33baa963c4559736d7a1c4c35f8dcb37293'/>
<id>urn:sha1:4820a33baa963c4559736d7a1c4c35f8dcb37293</id>
<content type='text'>
This patch just put together pieces from the 8 steps patch. We stop at
step 7 and reject refs that require new shallow commits.

Note that, by rejecting refs that require new shallow commits, we
leave dangling objects in the repo, which become "object islands" by
the next "git fetch" of the same source.

If the first fetch our "ours" set is zero and we do practically
nothing at step 7, "ours" is full at the next fetch and we may need to
walk through commits for reachability test. Room for improvement.

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>clone,fetch: catch non positive --depth option value</title>
<updated>2013-12-06T20:57:10Z</updated>
<author>
<name>Nguyễn Thái Ngọc Duy</name>
<email>pclouds@gmail.com</email>
</author>
<published>2013-12-05T03:31:11Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5594bcad21da70d2e9704cf96baa91b8d99dc27b'/>
<id>urn:sha1:5594bcad21da70d2e9704cf96baa91b8d99dc27b</id>
<content type='text'>
Instead of simply ignoring the value passed to --depth option when
it is zero or negative, catch and report it as an error to let
people know that they were using the option incorrectly.

Original-patch-by: Andrés G. Aragoneses &lt;knocte@gmail.com&gt;
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>
</feed>
