git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] push: don't guess at qualifying remote refs on deletion

From
Carlos Martín Nieto <cmn@elego.de>
Date
Jul 5, 2012, 17:24 UTC
Message-ID
<1341509051.10752.34.camel@flaca.cmartin.tk>
In-Reply-To
<CABURp0r8EfShHVE-Vycz3g8-WPXFzs1-WOT7LRwh-XOuWVYG+Q@mail.gmail.com>
On Thu, 2012-07-05 at 11:32 -0400, Phil Hord wrote:
Show 11 quoted lines
> 
> The possible enhancements to cover this I can think of are mostly in
> the form of enhanced help or advice.  For example, I could imagine
> these:
> 
> 1. Add a link to 'git push' on the 'git-branch' man page.   I suspect
> this is where newbies would go to look for this feature, but I am only
> guessing.  The git-branch help discusses deleting branches and even
> deleting remote-tracking branches.  But it does not discuss deleting
> branches on a remote repository, even to say "this is not the command
> you want" for that action, but "see this other one instead".
Yeah, that seems like a good addition.
Show 8 quoted lines
> 
> 2. Add 'apropos' behavior for git help.
>    $ git apropos delete
> 
> Except I notice that the system 'apropos' does not turn up 'git-push'
> for either of these:
>    $ apropos delete
>    $ apropos branch

Huh, I don't think I've used apropos in years. I guess changing the subject to include removing/deleting would be conceivable, but we still have the issue that branches are a particular form of ref, which is what push acts on.

Show 11 quoted lines
> 
> 3. Add a search feature for help.  Currently this feature is provided
> instead by Google and StackOverflow.
>    $ git help --find delete --and branch --and remote
> Except I don't expect this "advanced" form of help, if it existed, to
> be noticed by newbies early enough on the learning curve.
> 
> 4. Add advice in appropriate locations.
> Instead of this:
>    $ git remote rm origin/foo
>    error: Could not remove config section 'remote.origin/foo'

Ugh, this is horrible. We should definitely do better than this error message.

Show 19 quoted lines
>    $ git branch -d origin/foo
>    error: branch 'origin/foo' not found.
> 
> Do this:
>    $ git remote rm origin/foo
>    error: There is no remote named 'origin/foo'
>    hint: Did you mean to remove the remote tracking branch 'origin/foo'?
>    hint: Try "git branch --delete --remotes origin/foo" instead.
>    hint: Did you mean to remove the branch 'foo' on the remote
> 'origin' repository?
>    hint: Try "git push --delete origin foo" instead.
> 
>    $ git branch -d origin/foo
>    error: branch 'origin/foo' not found.
>    hint: To delete the remote-tracking branch origin/foo,
>    hint:  use git branch --delete --remotes origin/foo
> 
>    $ git branch -dr origin/foo
>    Deleted remote branch origin/foo (was fadda12).

If we're changing error messages, this could probably do with an update to say "remote-tracking" branch so it's clearer that it didn't affect the branch on the remote.

Show 5 quoted lines
>    hint: This deleted your remote-tracking branch but
>    hint:  did not affect the branch on the remote server.
>    hint:  To remove the branch from the remote server,
>    hint:  use "git push".  See '--delete' in "git help push" .
> 

IMO these seem too verbose (but maybe I've just seen people post the old 'git pull' error message without even reading it too many times).

   cmn
Previous: Phil HordNext: Junio C Hamano
Message 16 of 17 in “How do I delete a remote branch with a period in the name?”
  1. jonsmirl@gmail.comJul 3, 2012
  2. Junio C HamanoJul 3, 2012
  3. jonsmirl@gmail.comJul 3, 2012
  4. push: don't guess at qualifying remote refs on deletionJeff King, Jul 3, 2012
  5. jonsmirl@gmail.comJul 3, 2012
  6. Jeff KingJul 3, 2012
  7. jonsmirl@gmail.comJul 3, 2012
  8. Jeff KingJul 3, 2012
  9. Carlos Martín NietoJul 4, 2012
  10. Junio C HamanoJul 3, 2012
  11. Jeff KingJul 4, 2012
  12. Andreas SchwabJul 3, 2012
  13. Junio C HamanoJul 3, 2012
  14. Carlos Martín NietoJul 5, 2012
  15. Phil HordJul 5, 2012
  16. Carlos Martín NietoJul 5, 2012
  17. Junio C HamanoJul 5, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.