From: Jonathan Nieder <jrnieder@gmail.com>
To: "Carlos Martín Nieto" <cmn@elego.de>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] branch: add -u as a shortcut for --set-upstream
Date: Fri, 6 Jul 2012 10:32:39 -0500 [thread overview]
Message-ID: <20120706153239.GA29362@burratino> (raw)
In-Reply-To: <1341475035-14310-1-git-send-email-cmn@elego.de>
Hi Carlos,
Carlos Martín Nieto wrote:
> Add this shortcut just like git-push has it.
[...]
> --- a/builtin/branch.c
> +++ b/builtin/branch.c
> @@ -724,7 +724,7 @@ int cmd_branch(int argc, const char **argv, const char *prefix)
> OPT__QUIET(&quiet, "suppress informational messages"),
> OPT_SET_INT('t', "track", &track, "set up tracking mode (see git-pull(1))",
> BRANCH_TRACK_EXPLICIT),
> - OPT_SET_INT( 0, "set-upstream", &track, "change upstream info",
> + OPT_SET_INT('u', "set-upstream", &track, "change upstream info",
> BRANCH_TRACK_OVERRIDE),
I think this is a bad idea. The --set-upstream option is confusing:
$ git branch --set-upstream=foo
error: option 'set-upstream' takes no value
$ ???
-u to set the corresponding upstream branch at the same time as
creating a branch, analagous to "git push -u" might seem intuitive:
# create foo branch, setting its upstream at the same time
git branch -u foo origin/foo
But that is what --track does and is not what --set-upstream is for.
Unlike --track, I don't think --set-upstream is a common enough
operation to deserve a one-letter synonym.
Instead, I'd suggest the following changes:
1) Add support for
# change upstream info
git branch --set-upstream=origin/foo foo
for existing branches only.
2) Introduce an --unset-upstream option which removes the
"corresponding upstream branch" configuration for an existing
branch.
3) Warn on
# acts just like --track
git branch --set-upstream foo origin/foo
for branches that do not exist yet. Plan to make this a hard
error in the future.
4) Warn on
# sets upstream for "foo" to the current branch
git branch --set-upstream foo
and plan to make it a hard error in the future.
5) Warn on
git branch --set-upstream origin/foo foo
which is almost certainly a typo for
git branch --set-upstream=origin/foo foo
6) Perhaps, make -u a synonym for -t for consistency with "git push".
What do you think?
Jonathan
next prev parent reply other threads:[~2012-07-06 15:33 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-05 7:57 [PATCH] branch: add -u as a shortcut for --set-upstream Carlos Martín Nieto
2012-07-06 15:32 ` Jonathan Nieder [this message]
2012-07-08 5:48 ` Carlos Martín Nieto
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=20120706153239.GA29362@burratino \
--to=jrnieder@gmail.com \
--cc=cmn@elego.de \
--cc=git@vger.kernel.org \
/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).