Re: [Newbie] How to *actually* get rid of remote tracking branch?

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

 




On Nov 13, 2007, at 5:03 PM, Jakub Narebski wrote:

Sergei Organov <osv@xxxxxxxxx> wrote:
Jakub Narebski <jnareb@xxxxxxxxx> 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.

"git remote prune origin" should be used to clean up stale
remote-tracking branches.

BTW, what's the right name for this type of branch.
I found "tracking branch", "remote tracking branch", and
"remote-tracking branch" in the manual. The glossary only
mentions "tracking branch".  Or is it a "tracked remote branch"
as the output of "git remote show" suggests.  I remember,
there was a lengthy discussion on this issue.  Does someone
remember the conclusion?


So I'm not sure if it is a bug, misfeature or a feature.

It doesn't make sense to delete remote-tracking branches
locally if they are still present at the remote.  The main
purpose of a remote-tracking branch is to be identical to the
real remote branch.

In my opinion its a misfeature.  "git remote prune" does the
same in a sane way.


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

  Powered by Linux