<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/builtin/push.c, branch v2.4.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.4.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.4.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2015-03-14T22:08:35Z</updated>
<entry>
<title>push: allow --follow-tags to be set by config push.followTags</title>
<updated>2015-03-14T22:08:35Z</updated>
<author>
<name>Dave Olszewski</name>
<email>cxreg@pobox.com</email>
</author>
<published>2015-02-16T06:16:19Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a8bc269f11b34e60f5fdbd8e831a654dd6b6b67e'/>
<id>urn:sha1:a8bc269f11b34e60f5fdbd8e831a654dd6b6b67e</id>
<content type='text'>
Signed-off-by: Dave Olszewski &lt;cxreg@pobox.com&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>cmd_push: pass "flags" pointer to config callback</title>
<updated>2015-02-17T18:49:29Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2015-02-16T06:13:25Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=06c21e18abc9ae4647c79449a9b0a1554553ad03'/>
<id>urn:sha1:06c21e18abc9ae4647c79449a9b0a1554553ad03</id>
<content type='text'>
This will let us manipulate any transport flags which have matching
config options (there are none yet, but we will add one in
the next patch).

We could also just make "flags" a static file-scope global,
but the result is a little confusing. We end up passing it
along through do_push and push_with_options, each of which
further munge it. Having slightly-differing versions of the
flags variable available to those functions would probably
cause more confusion than it is worth. Let's just keep the
original local to cmd_push, and it can continue to pass it
through the call-stack.

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>cmd_push: set "atomic" bit directly</title>
<updated>2015-02-17T18:49:18Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2015-02-16T06:12:04Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d16c33b4c11cda583ca2b6f7b81da3ac2fdebfa4'/>
<id>urn:sha1:d16c33b4c11cda583ca2b6f7b81da3ac2fdebfa4</id>
<content type='text'>
This makes the code shorter and more obvious by removing an
unnecessary interim variable.

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>git_push_config: drop cargo-culted wt_status pointer</title>
<updated>2015-02-16T06:55:11Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2015-02-16T05:46:30Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=06038cd7b7646333f15de663b7564cf390dcefbe'/>
<id>urn:sha1:06038cd7b7646333f15de663b7564cf390dcefbe</id>
<content type='text'>
The push config callback does not expect any incoming data
via the void pointer. And if it did, it would certainly not
be a "struct wt_status". This probably got picked up
accidentally in b945901 (push: heed user.signingkey for
signed pushes, 2014-10-22), which copied the template for
the config callback from builtin/commit.c.

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>Merge branch 'sb/atomic-push'</title>
<updated>2015-02-11T21:43:51Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-02-11T21:43:50Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=39fa6112ec8492f9300765e1f71e7c8ecfafc713'/>
<id>urn:sha1:39fa6112ec8492f9300765e1f71e7c8ecfafc713</id>
<content type='text'>
"git push" has been taught a "--atomic" option that makes push to
update more than one ref an "all-or-none" affair.

* sb/atomic-push:
  Document receive.advertiseatomic
  t5543-atomic-push.sh: add basic tests for atomic pushes
  push.c: add an --atomic argument
  send-pack.c: add --atomic command line argument
  send-pack: rename ref_update_to_be_sent to check_to_send_update
  receive-pack.c: negotiate atomic push support
  receive-pack.c: add execute_commands_atomic function
  receive-pack.c: move transaction handling in a central place
  receive-pack.c: move iterating over all commands outside execute_commands
  receive-pack.c: die instead of error in case of possible future bug
  receive-pack.c: shorten the execute_commands loop over all commands
</content>
</entry>
<entry>
<title>push.c: add an --atomic argument</title>
<updated>2015-01-08T03:56:44Z</updated>
<author>
<name>Ronnie Sahlberg</name>
<email>sahlberg@google.com</email>
</author>
<published>2015-01-08T03:23:23Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d0e8e09cd8828b278a56d4ebfc52d662ff8038d8'/>
<id>urn:sha1:d0e8e09cd8828b278a56d4ebfc52d662ff8038d8</id>
<content type='text'>
Add a command line argument to the git push command to request atomic
pushes.

Signed-off-by: Ronnie Sahlberg &lt;sahlberg@google.com&gt;
Signed-off-by: Stefan Beller &lt;sbeller@google.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jk/push-simple'</title>
<updated>2014-12-12T22:31:40Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2014-12-12T22:31:40Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=23c0956441a101b2e8eca7e063e71bdc69a0c415'/>
<id>urn:sha1:23c0956441a101b2e8eca7e063e71bdc69a0c415</id>
<content type='text'>
Git 2.0 was supposed to make the "simple" mode for the default of
"git push", but it didn't.

* jk/push-simple:
  push: truly use "simple" as default, not "upstream"
</content>
</entry>
<entry>
<title>Merge branch 'rt/push-recurse-submodule-usage-string'</title>
<updated>2014-12-12T22:31:38Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2014-12-12T22:31:38Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=bb87344a74119abeb2ca8c7f42f89ccad1ba6e32'/>
<id>urn:sha1:bb87344a74119abeb2ca8c7f42f89ccad1ba6e32</id>
<content type='text'>
* rt/push-recurse-submodule-usage-string:
  builtin/push.c: fix description of --recurse-submodules option
</content>
</entry>
<entry>
<title>push: truly use "simple" as default, not "upstream"</title>
<updated>2014-12-01T02:11:25Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2014-11-27T03:43:06Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=00a6fa0720283b93eb011adcfea850fe21345548'/>
<id>urn:sha1:00a6fa0720283b93eb011adcfea850fe21345548</id>
<content type='text'>
The plan for the push.default transition had all along been
to use the "simple" method rather than "upstream" as a
default if the user did not specify their own push.default
value. Commit 11037ee (push: switch default from "matching"
to "simple", 2013-01-04) tried to implement that by moving
PUSH_DEFAULT_UNSPECIFIED in our switch statement to
fall-through to the PUSH_DEFAULT_SIMPLE case.

When the commit that became 11037ee was originally written,
that would have been enough. We would fall through to
calling setup_push_upstream() with the "simple" parameter
set to 1. However, it was delayed for a while until we were
ready to make the transition in Git 2.0.

And in the meantime, commit ed2b182 (push: change `simple`
to accommodate triangular workflows, 2013-06-19) threw a
monkey wrench into the works. That commit drops the "simple"
parameter to setup_push_upstream, and instead checks whether
the global "push_default" is PUSH_DEFAULT_SIMPLE. This is
right when the user has explicitly configured push.default
to simple, but wrong when we are a fall-through for the
"unspecified" case.

We never noticed because our push.default tests do not cover
the case of the variable being totally unset; they only
check the "simple" behavior itself.

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>builtin/push.c: fix description of --recurse-submodules option</title>
<updated>2014-11-18T19:19:16Z</updated>
<author>
<name>Ralf Thielow</name>
<email>ralf.thielow@gmail.com</email>
</author>
<published>2014-11-18T17:57:46Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=eedc4be54f41c49000b628a48c4926451986f121'/>
<id>urn:sha1:eedc4be54f41c49000b628a48c4926451986f121</id>
<content type='text'>
The description of the option for argument "recurse-submodules"
is marked for translation even if it expects the untranslated
string and it's missing the option "on-demand" which was introduced
in eb21c73 (2014-03-29, push: teach --recurse-submodules the on-demand
option). Fix this by unmark the string for translation and add the
missing option.

Signed-off-by: Ralf Thielow &lt;ralf.thielow@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
