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

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

 



On Thu, 2012-07-05 at 11:32 -0400, Phil Hord wrote:
> 
> 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.

> 
> 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.

> 
> 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.

>    $ 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.

>    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


--
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]