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