All of lore.kernel.org
 help / color / mirror / Atom feed
* remote tracking branch deletion problem
@ 2008-12-19 11:57 Thomas Jarosch
  2008-12-19 14:56 ` Michael J Gruber
  0 siblings, 1 reply; 2+ messages in thread
From: Thomas Jarosch @ 2008-12-19 11:57 UTC (permalink / raw)
  To: git; +Cc: Junio C Hamano

Hello together,

while playing around with git, I stumbled upon a strange remote tracking 
branch deletion problem. It seems I'm unable to delete the remote tracking 
branch "origin/HEAD" using git 1.6.0.5. Here's what I did:

[tomj@storm repo]$ git init
Initialized empty Git repository in /tmp/repo/.git/

[tomj@storm repo]$ echo "test" >test
[tomj@storm repo]$ git add test
[tomj@storm repo]$ git commit -m "Test"

[tomj@storm tmp]$ git clone repo alice
Initialized empty Git repository in /tmp/alice/.git/

[tomj@storm alice]$ git branch -r
  origin/HEAD
  origin/master

[tomj@storm alice]$ git branch -r -d origin/HEAD
Deleted remote branch origin/HEAD.
[tomj@storm alice]$ git branch -r -d origin/master
Deleted remote branch origin/master.

[tomj@storm alice]$ ls -al .git/refs/remotes/origin/HEAD
-rw-rw---- 1 tomj intra2net 32 19. Dec 12:43 .git/refs/remotes/origin/HEAD
[tomj@storm alice]$ git branch -r
error: refs/remotes/origin/HEAD points nowhere!

Is this supposed to be? git 1.6.1.rc3.35.gc0ceb shows a similar behavior.

Cheers,
Thomas

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: remote tracking branch deletion problem
  2008-12-19 11:57 remote tracking branch deletion problem Thomas Jarosch
@ 2008-12-19 14:56 ` Michael J Gruber
  0 siblings, 0 replies; 2+ messages in thread
From: Michael J Gruber @ 2008-12-19 14:56 UTC (permalink / raw)
  To: Thomas Jarosch; +Cc: git, Junio C Hamano

Thomas Jarosch venit, vidit, dixit 19.12.2008 12:57:
> Hello together,
> 
> while playing around with git, I stumbled upon a strange remote tracking 
> branch deletion problem. It seems I'm unable to delete the remote tracking 
> branch "origin/HEAD" using git 1.6.0.5. Here's what I did:
> 
> [tomj@storm repo]$ git init
> Initialized empty Git repository in /tmp/repo/.git/
> 
> [tomj@storm repo]$ echo "test" >test
> [tomj@storm repo]$ git add test
> [tomj@storm repo]$ git commit -m "Test"
> 
> [tomj@storm tmp]$ git clone repo alice
> Initialized empty Git repository in /tmp/alice/.git/
> 
> [tomj@storm alice]$ git branch -r
>   origin/HEAD
>   origin/master
> 
> [tomj@storm alice]$ git branch -r -d origin/HEAD
> Deleted remote branch origin/HEAD.
> [tomj@storm alice]$ git branch -r -d origin/master
> Deleted remote branch origin/master.
> 
> [tomj@storm alice]$ ls -al .git/refs/remotes/origin/HEAD
> -rw-rw---- 1 tomj intra2net 32 19. Dec 12:43 .git/refs/remotes/origin/HEAD
> [tomj@storm alice]$ git branch -r
> error: refs/remotes/origin/HEAD points nowhere!
> 
> Is this supposed to be? git 1.6.1.rc3.35.gc0ceb shows a similar behavior.

I think the point here is that HEAD is really a symref. "git remote rm
origin" makes sure that symrefs are removed, and is the right command to
use here.

"git branch -r -d", as well as "git update-ref -d" fail to remove HEAD
because it's really not a branch but a symref.

You can use "git update-ref -d --no-deref" to remove HEAD.

Making builtin-branch use delete_ref(,,REF_ISSYMREF) leads to success
for your above commands. I don't know about side effects, though all
tests pass. Is this sensible?

I guess I should come up with a test for this along with the patch.

Michael

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-12-19 14:58 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-12-19 11:57 remote tracking branch deletion problem Thomas Jarosch
2008-12-19 14:56 ` Michael J Gruber

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.