Ah, OK, that at least makes some sense.  I stand behind my previous
statements about git ease of use, though.....

I've cleaned up all the old tracking branches for efs-core and
efs-deploy, so anyone with copies of those repos should prune them.

On Fri, Mar 2, 2012 at 10:29 AM, Kevin Green
<[email protected]> wrote:
> :)
>
> It actually somewhat is if you're accustomed to using the full syntax of the
> push command:
>
>  git push remote <local_branch>:<remote_branch>
>
> So, this:
>
>  git push remote :<remote_branch>
>
> would be the equivalent of:
>
>  cp /dev/null /to/my/file
>
>
> Also, for completeness, if I were to remove branches from the shared
> server and you had copies of them, you'll also need to do:
>
>  git remote prune remote
>
>
> to clean up your references from your own repository.
>
>
> --Kevin
>
> On 03/02/12 09:50:32, Phillip Moore wrote:
>> <sigh> OK, I found it....
>>
>> git push remote :branch-name
>>
>> will delete the remote branch.   Sooooo intuitive....
>>
>> On Fri, Mar 2, 2012 at 9:44 AM, Phillip Moore <[email protected]> 
>> wrote:
>> > Perhaps one of you knows how to do this....
>> >
>> > We have accumulated a lot of stale tracking branches and I wanted to
>> > clean them up, but they simply will not go away.   Finding an
>> > explanation for how do this hasn't yielded any helpful results, but
>> > posts by other people who also have no clue what they are doing,
>> > guessing which commands to run, and making a bigger mess of things.
>> >
>> > Here's what I see:
>> >
>> > pmoore@Renegade$ git remote show origin
>> > * remote origin
>> >  Fetch URL: [email protected]:efs-core.git
>> >  Push  URL: [email protected]:efs-core.git
>> >  HEAD branch (remote HEAD is ambiguous, may be one of the following):
>> >    backup-database
>> >    master
>> >  Remote branches:
>> >    aix-support             tracked
>> >    backup-database         tracked
>> >    curl2lwp                tracked
>> >    gssapi-optional         tracked
>> >    kill_class_std          tracked
>> >    master                  tracked
>> >    moose                   tracked
>> >    nfs-noac                tracked
>> >    openafs                 tracked
>> >    package-fix             tracked
>> >    standalone              tracked
>> >    tt159_critic_fixins     tracked
>> >    tt68_try_tiny           tracked
>> >    upload-download-aliases tracked
>> >  Local branches configured for 'git pull':
>> >    master      merges with remote master
>> >    package-fix merges with remote package-fix
>> >    standalone  merges with remote standalone
>> >  Local refs configured for 'git push':
>> >    master      pushes to master      (up to date)
>> >    openafs     pushes to openafs     (up to date)
>> >    package-fix pushes to package-fix (up to date)
>> >    standalone  pushes to standalone  (up to date)
>> >
>> > (NOTE: The ambiguous HEAD concerns me to, but one thing at a time).
>> >
>> > According to the git-branch man page, this removes a remote branch:
>> >
>> > pmoore@Renegade$ git branch -d -r origin/aix-support
>> > Deleted remote branch origin/aix-support (was 7f5218f).
>> >
>> > But this seems to just delete a *local* reference to the remote branch.   
>> > Note:
>> >
>> > pmoore@Renegade$ git remote show origin | grep aix
>> >    aix-support             new (next fetch will store in remotes/origin)
>> >
>> > And then:
>> >
>> > pmoore@Renegade$ git pull
>> > From git.openefs.org:efs-core
>> >  * [new branch]      aix-support -> origin/aix-support
>> > Already up-to-date.
>> >
>> > It comes back!!!   Now, if you recall the incredibly non-intuitive way
>> > that we created these branches, maybe that provides a clue.
>> >
>> > pmoore@Renegade$ git push origin origin:refs/heads/new-branch
>> > Total 0 (delta 0), reused 0 (delta 0)
>> > remote: No commit email for refname refs/heads/new-branch
>> > remote: No html exported for refname refs/heads/new-branch
>> > remote: No archives exported or repo efs-core
>> > To [email protected]:efs-core.git
>> >  * [new branch]      origin/HEAD -> new-branch
>> > pmoore@Renegade$ git branch --track new-branch origin/new-branch
>> > Branch new-branch set up to track remote branch new-branch from origin.
>> >
>> > That "git push origin" syntax is maximally confusing.   It seems that
>> > all the git branch commands work against LOCAL configuration
>> > information, and they don't really change the remote repository.   So,
>> > it's clear how to delete the LOCAL references to a remote tracking
>> > branch, but how the hell do you delete the actual tracking branch in
>> > the remote repository?
>> >
>> > I must have looked at 20+ git help related pages, and can find nothing
>> > about how to do this.  I'll keep looking, but if anyone has a clue how
>> > to do this, or finds the answer, please share it.
>> _______________________________________________
>> EFS-dev mailing list
>> [email protected]
>> http://mailman.openefs.org/mailman/listinfo/efs-dev
> _______________________________________________
> EFS-dev mailing list
> [email protected]
> http://mailman.openefs.org/mailman/listinfo/efs-dev
_______________________________________________
EFS-dev mailing list
[email protected]
http://mailman.openefs.org/mailman/listinfo/efs-dev

Reply via email to