From: Junio C Hamano <gitster@pobox.com>
To: Jeff King <peff@peff.net>
Cc: Felipe Contreras <felipe.contreras@gmail.com>,
Ramkumar Ramachandra <artagnon@gmail.com>,
Git List <git@vger.kernel.org>,
Matthieu Moy <matthieu.moy@imag.fr>,
John Szakmeister <john@szakmeister.net>
Subject: Re: [PATCH v2 6/9] branch: display publish branch
Date: Fri, 11 Apr 2014 12:24:35 -0700 [thread overview]
Message-ID: <xmqqsipjsm8c.fsf@gitster.dls.corp.google.com> (raw)
In-Reply-To: <20140411111750.GA28858@sigill.intra.peff.net> (Jeff King's message of "Fri, 11 Apr 2014 07:17:51 -0400")
Jeff King <peff@peff.net> writes:
> For instance, it looks like your @{publish} requires config like:
>
> [branch "master"]
> pushremote = foo
> push = refs/heads/bar
>
> to operate. Setting "pushremote" affects what "git push" does; it will
> go to the "foo" remote.
OK, and the same thing would happen if branch.*.pushremote is not
set for any branch, but remote.pushdefault is set to 'foo', right?
> But the branch.master.push setting does not do
> anything to "git push".
I am not sure I understand this. I thought that the desire behind
the branch.*.push is to allow something like:
... other things in the config ...
[remote]
pushdefault = foo
[remote "foo"]
url = ...
push = +refs/heads/*:refs/remotes/satellite/*
fetch = +refs/heads/*:refs/remotes/foo/*
[branch "master"]
; pushremote = foo
push = refs/heads/bar
so that "git push" on 'master' will override the more generic "all
local branches here will go to their remote-tracking hierarchy for
this satellite" refspec. And in that sense branch.master.push would
do something to "git push".
I personally think that kind of override adds any more values than
it causes confusion, so I think it is OK not to support such uses of
branch.*.push at all. A configuration without branch.master.push
may cause "git push" on 'master' to update refs/heads/master at the
remote, and if we fetched from 'foo' immediately after pushing
there, it would come back as refs/remotes/foo/master, and it would
be natural for users to expect that master@{publish} would be
refs/remotes/foo/master in such a case.
If we supported setting branch.master.push to refs/heads/bar, then
master would be pushed as refs/heads/bar over there and it would
come back as refs/remotes/foo/bar here, so I would expect that to be
the value of master@{publish}.
> Only a push refspec (or push.default setting)
> will change that. So the "branch.*.push" must be kept in sync manually
> (perhaps by running "git push -p").
>
> Whereas if @{publish} means "where you would push to", then
> "branch.*.push" does not need to exist at all. The values can be taken
> automatically from the other push settings.
>
> -Peff
>
> PS I first tried just setting "branch.master.pushremote" without setting
> "branch.master.push". This results in a segfault, as branch_get()
> assumes that push_name is always set and tries to xstrdup() it.
next prev parent reply other threads:[~2014-04-11 19:24 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-10 19:04 [PATCH v2 0/9] Introduce publish tracking branch Felipe Contreras
2014-04-10 19:04 ` [PATCH v2 1/9] push: trivial reorganization Felipe Contreras
2014-04-10 19:04 ` [PATCH v2 2/9] Add concept of 'publish' branch Felipe Contreras
2014-04-10 19:04 ` [PATCH v2 3/9] branch: allow configuring the publish branch Felipe Contreras
2014-04-10 19:04 ` [PATCH v2 4/9] t: branch add publish branch tests Felipe Contreras
2014-04-10 19:04 ` [PATCH v2 5/9] push: add --set-publish option Felipe Contreras
2014-04-10 19:04 ` [PATCH v2 6/9] branch: display publish branch Felipe Contreras
2014-04-10 22:03 ` Ramkumar Ramachandra
2014-04-10 22:36 ` Felipe Contreras
2014-04-11 11:17 ` Jeff King
2014-04-11 13:48 ` Felipe Contreras
2014-04-12 11:23 ` Jeff King
2014-04-12 14:34 ` Felipe Contreras
2014-04-11 19:24 ` Junio C Hamano [this message]
2014-04-11 19:50 ` Felipe Contreras
2014-04-12 11:42 ` Jeff King
2014-04-12 15:05 ` Felipe Contreras
2014-04-15 5:43 ` Jeff King
2014-04-18 23:29 ` Felipe Contreras
2014-04-10 19:04 ` [PATCH v2 7/9] sha1_name: cleanup interpret_branch_name() Felipe Contreras
2014-04-10 21:45 ` Ramkumar Ramachandra
2014-04-10 19:04 ` [PATCH v2 8/9] sha1_name: simplify track finding Felipe Contreras
2014-04-10 21:44 ` Ramkumar Ramachandra
2014-04-10 22:27 ` Felipe Contreras
2014-04-10 19:04 ` [PATCH v2 9/9] sha1_name: add support for @{publish} marks Felipe Contreras
2014-04-10 21:40 ` Ramkumar Ramachandra
2014-04-10 22:25 ` Felipe Contreras
2014-04-10 21:49 ` Ramkumar Ramachandra
2014-04-10 22:28 ` Felipe Contreras
2014-04-10 21:21 ` [PATCH v2 0/9] Introduce publish tracking branch Junio C Hamano
2014-04-11 9:15 ` Matthieu Moy
2014-04-11 14:25 ` Felipe Contreras
2014-04-11 17:25 ` Matthieu Moy
2014-04-11 19:16 ` Felipe Contreras
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqsipjsm8c.fsf@gitster.dls.corp.google.com \
--to=gitster@pobox.com \
--cc=artagnon@gmail.com \
--cc=felipe.contreras@gmail.com \
--cc=git@vger.kernel.org \
--cc=john@szakmeister.net \
--cc=matthieu.moy@imag.fr \
--cc=peff@peff.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).