Re: setting up tracking on push

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Mar 10, 2009 at 09:52:44PM -0400, Jay Soffian wrote:

> Maybe a new switch, say -u for update:
> 
> -u --track [<branch>] <upstream>
> 
> Update tracking information for an existing branch. <branch> is
> optional and defaults to the current branch. <upstream> is the branch
> you wish to track, e.g. origin/master; normally <upstream> is a remote
> tracking branch, but specifying a local branch is valid as well.
> 
> -u --no-track [<branch>]
> 
> Remove tracking information for an existing branch. <branch> is
> optional and defaults to the current branch.

Hmm. This seems not quite right to me. Specifically:

  1. Would you ever want to use "-u" without "--track"? If so, then why
     are they two separate options?

  2. In your example, if I give only a single non-option argument, it is
     interpreted as the upstream (and presumably the branch defaults to
     HEAD).  But in other branch commands, it is interpreted as the
     branch, and the upstream defaults to HEAD.

For (1), you could just have a single option. Unfortunately --track is
taken. But maybe you could do --track=. And that helps with (2), as
well, since this syntax would only ever have one or zero arguments. And
then you can default zero to HEAD.

IOW:

  # track origin/master with the current branch
  git branch --track=origin/master

  # track origin/master with a different branch
  git branch --track=origin/master other_branch

  # stop tracking
  git branch --track=

The only two problems I can think of are:

  1. It is perhaps a little confusing that --track= means "don't do the
     normal branch operation, but instead do this totally different
     thing. Of course we already have a similar situation with "-m", but
     it is perhaps more confusing since "--track" and "--track=" have
     totally different semantics.

  2. This would be the only branch command to operate on HEAD if given
     no argument. That isn't necessary for this proposal, but I think it
     makes it nicer to use. An alternative would be for git-branch to
     resolve symrefs (which would also be nice for "git branch -m HEAD
     foo").

-Peff
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux