Git development
 help / color / mirror / Atom feed
* stg branch -r instructions
@ 2008-03-17 12:14 David Kågedal
  2008-03-17 13:42 ` Karl Hasselström
  0 siblings, 1 reply; 2+ messages in thread
From: David Kågedal @ 2008-03-17 12:14 UTC (permalink / raw)
  To: Catalin Marinas; +Cc: Git Mailing List

It isn't easy to figure out how to rename a branch in stg from looking
at the help texts.

  Usage: stg branch [options] branch-name [commit-id]

  ...

    -r, --rename          rename an existing development branch

So, how do I rename branch A to B?

Reading the source, it appears that you write

  stg branch -r A B

so, the usage string is wrong. In fact, the described usage string is
only for the default action to create a new branch.

The optparse library doesn't really make it easy to describe these
kinds of options-as-subcommands, so I don't have a patch to fix it
right away. I'm not even sure how the result should look.

Maybe it would have been better to have separate stg subcommands?

  stg branch NAME [COMMIT]
  stg list-branches
  stg rename-branch OLD NEW
  ... etc ...

-- 
David Kågedal

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: stg branch -r instructions
  2008-03-17 12:14 stg branch -r instructions David Kågedal
@ 2008-03-17 13:42 ` Karl Hasselström
  0 siblings, 0 replies; 2+ messages in thread
From: Karl Hasselström @ 2008-03-17 13:42 UTC (permalink / raw)
  To: David Kågedal; +Cc: Catalin Marinas, Git Mailing List

On 2008-03-17 13:14:07 +0100, David Kågedal wrote:

> so, the usage string is wrong. In fact, the described usage string
> is only for the default action to create a new branch.

Yes, this is far from pretty.

> Maybe it would have been better to have separate stg subcommands?
>
>   stg branch NAME [COMMIT]
>   stg list-branches
>   stg rename-branch OLD NEW
>   ... etc ...

My first thought was another level of subcommands:

  stg branch NAME [COMMIT]
  stg branch list
  stg branch rename OLD NEW

But this would create ambiguities -- how do I create a branch called
"list"?. One could go with something like

  stg branch NAME [COMMIT]
  stg branch/list
  stg branch/rename OLD NEW

but this is highly non-standard, and would probably confuse every
single new user. Perhaps with dashes instead:

  stg branch NAME [COMMIT]
  stg branch-list
  stg branch-rename OLD NEW

Which is essentially what you proposed, but with more regular (and
more tab-completion-friendly) names.

-- 
Karl Hasselström, kha@treskal.com
      www.treskal.com/kalle

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-03-17 13:43 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-03-17 12:14 stg branch -r instructions David Kågedal
2008-03-17 13:42 ` Karl Hasselström

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox