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