Re: [Newbie] How to *actually* get rid of remote tracking branch?
- From
- Sergei Organov <osv@javad.com>
- Date
- Nov 13, 2007, 17:40 UTC
- Message-ID
- <87lk9282nr.fsf@osv.gnss.ru>
- In-Reply-To
- <200711131703.16357.jnareb@gmail.com>
Jakub Narebski <jnareb@gmail.com> writes:
Show 44 quoted lines
> Sergei Organov <osv@javad.com> wrote: >> Jakub Narebski <jnareb@gmail.com> writes: >>> Sergei Organov wrote: > >>>> I want to get rid of origin/pu remote tracking branch. What do I do? >>>> I RTFM git-branch. What does it suggest? >>>> >>>> git branch -d -r origin/pu >>>> >>>> So far so good. However, it doesn't seem to work in practice: > [...] >>>> $ git branch -d -r origin/pu >>>> Deleted remote branch origin/pu. >>>> $ git remote show origin >>>> * remote origin >>>> URL: git://git.kernel.org/pub/scm/git/git.git >>>> Remote branch(es) merged with 'git pull' while on branch master >>>> master >>>> New remote branches (next fetch will store in remotes/origin) >>>> pu >>>> ^^^^^^^^^^^^^^^^^^^ What??? >>>> Tracked remote branches >>>> html maint man master next todo >>> >>> Check out what do you have in .git/config file, in the >>> [remote "origin"] section. Most probably (if you cloned this >>> repository using new enough git) you have wildcard refspec there, >>> which means that git would pick all new branches when >>> fetching / pulling from given repository. >> >> Sure, I've cloned git.git using rather recent git, so .git/config has: >> >> fetch = +refs/heads/*:refs/remotes/origin/* > > [...] >> Isn't "git branch -d -r" supposed to do whatever magic is required to >> get rid of the remote branch? Currently it seems like a bug introduced >> by addition of wildcards refspecs, right? > > No, the '-r' part translates 'pu' into 'refs/remotes/origin/pu', and > the '-d' option removes branch locally. It is meant I think to remove > tracking of branches which were dropped in remote, as I think that > wildcard refspec does create new branches, but do not delete dropped > branches.
Isn't it 'git remote prune <name>' that is meant to remove tracking of branches which were dropped in remote?
Anyway, description of '-r' in man git-branch:
-r:: List or delete (if used with -d) the remote-tracking branches.
Suggests it should be deleted. What's a point to delete it if it will be re-created on next fetch anyway?
> So I'm not sure if it is a bug, misfeature or a feature. > > Can anyone better versed in wildcard refspecs speak up, please?
Yes, please!
-- Sergei.