git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff King <peff@peff.net>
To: Junio C Hamano <gitster@pobox.com>
Cc: Ramkumar Ramachandra <artagnon@gmail.com>,
	Git List <git@vger.kernel.org>
Subject: Re: [PATCH 5/5] implement @{publish} shorthand
Date: Fri, 24 Jan 2014 16:35:21 -0500	[thread overview]
Message-ID: <20140124213521.GA26602@sigill.intra.peff.net> (raw)
In-Reply-To: <xmqqob32s08p.fsf@gitster.dls.corp.google.com>

On Thu, Jan 23, 2014 at 04:16:06PM -0800, Junio C Hamano wrote:

> Jeff King <peff@peff.net> writes:
> 
> > In a triangular workflow, you may have a distinct
> > @{upstream} that you pull changes from, but publish by
> > default (if you typed "git push") to a different remote (or
> > a different branch on the remote). It may sometimes be
> > useful to be able to quickly refer to that publishing point
> > (e.g., to see which changes you have that have not yet been
> > published).
> >
> > This patch introduces the <branch>@{publish} shorthand (or
> > "@{pu}" to be even shorter). It refers to the tracking
> > branch of the remote branch to which you would push if you
> > were to push the named branch. That's a mouthful to explain,
> > so here's an example:
> >
> >   $ git checkout -b foo origin/master
> >   $ git config remote.pushdefault github
> >   $ git push
> >
> > Signed-off-by: Jeff King <peff@peff.net>
> > ---
> 
> As there is no @{pu} in publish_mark() as far as I can see, and also
> I found it is a bit unclear what the example in the last paragraph
> wants to illustrate, I'll reword the above as the following before
> merging it to 'next'.

Yeah, I think the @{pu} was just a silly omission from the code, though
I agree after our discussion that we should just stick with "@{publish}"
for now.

I am not sure why I said "git push" at the end. I would have thought
that:

  $ git rev-parse --symbolic-full-name @{publish}
  refs/remotes/github/foo

would have been the right command to demonstrate. The text you suggested
is fine, though I think you can simply drop the "git push", as it does
not add anything.

As far as merging it to 'next', I had not really intended it to go that
far. :) It was more for Ram to use as a base. I find some of the
refactoring questionable, including:

  1. The meaning of branch->pushremote is subtly different from that of
     branch->remote. Ram's followup refactoring did a better job of
     that (but he is missing the patches on top to finish out the
     feature).

  2. We are duplicating the "where to push" logic here. That should
     probably be factored out so that "git push" and "@{publish}" use
     the same logic.

And of course there are no tests or documentation. It might work,
though.

I don't mind if you want to merge it and do more work in-tree, but I do
not think it should graduate as-is. And you may want check from Ram that
he is not in the middle of his own version based on the patches he sent
earlier, as reworking them on top of mine would probably just be
needless extra work.

Are you planning on having request-pull use @{publish} as a default? I
saw you cc'd me on that thread, but I didn't have any opinion besides
"sounds like you could use it here".

-Peff

  reply	other threads:[~2014-01-24 21:35 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-07 20:29 [RFC/PATCH] format-patch: introduce branch.*.forkedFrom Ramkumar Ramachandra
2014-01-07 20:30 ` Ramkumar Ramachandra
2014-01-07 20:40   ` Jeff King
2014-01-07 20:48     ` Junio C Hamano
2014-01-07 21:02     ` Ramkumar Ramachandra
2014-01-07 21:16       ` Jeff King
2014-01-07 21:35         ` Ramkumar Ramachandra
2014-01-08  9:33           ` [RFC/PATCH 0/5] <branch>@{publish} shorthand Jeff King
2014-01-08  9:34             ` [PATCH 1/5] sha1_name: refactor upstream_mark Jeff King
2014-01-08  9:34             ` [PATCH 2/5] interpret_branch_name: factor out upstream handling Jeff King
2014-01-08 12:37               ` Ramkumar Ramachandra
2014-01-08  9:35             ` [PATCH 3/5] branch_get: return early on error Jeff King
2014-01-08  9:35             ` [PATCH 4/5] branch_get: provide per-branch pushremote pointers Jeff King
2014-01-08 10:27               ` Jeff King
2014-01-08 10:47                 ` [PATCH] t5531: further "matching" fixups Jeff King
2014-01-10 23:34                   ` Junio C Hamano
2014-01-11  4:22                     ` Jeff King
2014-01-08 11:09                 ` [PATCH 4/5] branch_get: provide per-branch pushremote pointers Jeff King
2014-01-08  9:37             ` [PATCH 5/5] implement @{publish} shorthand Jeff King
2014-01-08 23:42               ` Junio C Hamano
2014-01-09 18:20                 ` Jeff King
2014-01-09 21:24                   ` Junio C Hamano
2014-01-09  8:39               ` Philip Oakley
2014-01-09 22:03                 ` Jeff King
2014-01-09 22:24                 ` Junio C Hamano
2014-01-24  0:16               ` Junio C Hamano
2014-01-24 21:35                 ` Jeff King [this message]
2014-01-24 22:05                   ` Ramkumar Ramachandra
2014-01-24 23:12                     ` Junio C Hamano
2014-02-15 11:50                   ` Philip Oakley
2014-02-18  8:52                     ` Jeff King
2014-02-18 13:10                       ` Johan Herland
2014-02-18 19:52                       ` Junio C Hamano
2014-01-08 12:40             ` [RFC/PATCH 0/5] <branch>@{publish} shorthand Ramkumar Ramachandra
2014-01-07 20:36 ` [RFC/PATCH] format-patch: introduce branch.*.forkedFrom Junio C Hamano
2014-01-07 20:40   ` Ramkumar Ramachandra
2014-01-07 20:42     ` Junio C Hamano

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=20140124213521.GA26602@sigill.intra.peff.net \
    --to=peff@peff.net \
    --cc=artagnon@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    /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).