threads / discuss / 3028

killing a branch

Subject: killing a branch

## tl;dr

7 messages between Jan 10, 2006 and Jan 10, 2006.

replies: 6people: 3as markdown or json

Jens Axboe· Jan 10, 2006, 10:22 UTC · lore
Hi,

When I need to delete a branch from my git tree, I'm currently using this (slooow) approach:

$ rm .git/refs/heads/branch-name $ git prune

to rid myself of the branch and associated objects. Is there a faster approach?

(please cc me, not on the list)
-- 
Jens Axboe
Junio C Hamano· Jan 10, 2006, 10:25 UTC · re: Jens Axboe · lore

Re: killing a branch

Jens Axboe <axboe@suse.de> writes:
Show 5 quoted lines
> $ rm .git/refs/heads/branch-name
> $ git prune
>
> to rid myself of the branch and associated objects. Is there a faster
> approach?
Perhaps the "official" way is
	$ git branch -d branch-name ;# you may need -D
        $ git prune

but that essentially is the same as what you are doing. Note that having dangling objects in your repository is not a crime, and you do not have to religiously do "git prune" every time.

Jens Axboe· Jan 10, 2006, 10:35 UTC · re: Junio C Hamano · lore

Re: killing a branch

On Tue, Jan 10 2006, Junio C Hamano wrote:
Show 14 quoted lines
> Jens Axboe <axboe@suse.de> writes:
> 
> > $ rm .git/refs/heads/branch-name
> > $ git prune
> >
> > to rid myself of the branch and associated objects. Is there a faster
> > approach?
> 
> Perhaps the "official" way is
> 
> 	$ git branch -d branch-name ;# you may need -D
>         $ git prune
> 
> but that essentially is the same as what you are doing.  Note
So no time saved there :-)
> that having dangling objects in your repository is not a crime,
> and you do not have to religiously do "git prune" every time.
I know, it just doesn't feel nice!
-- 
Jens Axboe
Junio C Hamano· Jan 10, 2006, 10:52 UTC · re: Jens Axboe · lore

Re: killing a branch

Jens Axboe <axboe@suse.de> writes:
>> that having dangling objects in your repository is not a crime,
>> and you do not have to religiously do "git prune" every time.
>
> I know, it just doesn't feel nice!

Sorry, but I can think of only three reasons (and a half) why somebody cannot live with "one git prune at the end of the day before leaving" (or "week" for that matter) workflow:

 * the filesystem quota is too tight and you cannot afford to
   leave unused loose objects around.  May still be true on
   student accounts, perhaps, but I doubt this is much of an
   issue in the modern world anymore.
 * rsync is used to sync from a repository that dropped a branch
   just now, and you do not want to push the garbage out.  Well,
   if you are still using rsync, I'll tell about it to Linus ;-)
   Pushing via git native protocol over ssh would not send
   unreferenced objects out and will not contaminate the other
   end with the garbage.
 * you do not want to leave after starting prune before it
   finishes.  If it is your hobby to watch the paint dry, I
   cannot help you, but you could run prune under nohup (or
   always work inside "screen", which is what I do).
 + having unused things on the disk just does not _feel_ right.
   Well, maybe.  I can argue with a reason but not with a
   feeling.  On a bright side, leaving recently abandoned
   objects around for a while lets you run git-lost-found to
   recover if you accidentally deleted a still-useful branch.
Jens Axboe· Jan 10, 2006, 11:26 UTC · re: Junio C Hamano · lore

Re: killing a branch

On Tue, Jan 10 2006, Junio C Hamano wrote:
Show 15 quoted lines
> Jens Axboe <axboe@suse.de> writes:
> 
> >> that having dangling objects in your repository is not a crime,
> >> and you do not have to religiously do "git prune" every time.
> >
> > I know, it just doesn't feel nice!
> 
> Sorry, but I can think of only three reasons (and a half) why
> somebody cannot live with "one git prune at the end of the day
> before leaving" (or "week" for that matter) workflow:
> 
>  * the filesystem quota is too tight and you cannot afford to
>    leave unused loose objects around.  May still be true on
>    student accounts, perhaps, but I doubt this is much of an
>    issue in the modern world anymore.
Yeah obviously not true.
Show 6 quoted lines
>  * rsync is used to sync from a repository that dropped a branch
>    just now, and you do not want to push the garbage out.  Well,
>    if you are still using rsync, I'll tell about it to Linus ;-)
>    Pushing via git native protocol over ssh would not send
>    unreferenced objects out and will not contaminate the other
>    end with the garbage.
Haven't used rsync in a long time, I use git:// and ssh:// exclusively.
Show 10 quoted lines
>  * you do not want to leave after starting prune before it
>    finishes.  If it is your hobby to watch the paint dry, I
>    cannot help you, but you could run prune under nohup (or
>    always work inside "screen", which is what I do).
> 
>  + having unused things on the disk just does not _feel_ right.
>    Well, maybe.  I can argue with a reason but not with a
>    feeling.  On a bright side, leaving recently abandoned
>    objects around for a while lets you run git-lost-found to
>    recover if you accidentally deleted a still-useful branch.
:-)

Alright, I'll just have to shake the habit of running git prune to rid myself of that dirty dirty feeling.

-- 
Jens Axboe
Linus Torvalds· Jan 10, 2006, 17:12 UTC · re: Jens Axboe · lore

Re: killing a branch

On Tue, 10 Jan 2006, Jens Axboe wrote:
> 
> Alright, I'll just have to shake the habit of running git prune to rid
> myself of that dirty dirty feeling.

Yeah, I'm slowly shaking it off too. I used to run git-fsck-objects religiously just because I worried about bugs. I still do it, but especially with the recursive-strategy merging, I get "dangling blob" messages every once in a while that are _not_ due to bugs, but just due to the temporary merge object.

So I'm learning to ignore them, and prune the tree only occasionally, instead of compulsively every time.

		Linus
Jens Axboe· Jan 10, 2006, 18:59 UTC · re: Linus Torvalds · lore

Re: killing a branch

On Tue, Jan 10 2006, Linus Torvalds wrote:
Show 15 quoted lines
> 
> 
> On Tue, 10 Jan 2006, Jens Axboe wrote:
> > 
> > Alright, I'll just have to shake the habit of running git prune to rid
> > myself of that dirty dirty feeling.
> 
> Yeah, I'm slowly shaking it off too. I used to run git-fsck-objects 
> religiously just because I worried about bugs. I still do it, but 
> especially with the recursive-strategy merging, I get "dangling blob" 
> messages every once in a while that are _not_ due to bugs, but just due to 
> the temporary merge object.
> 
> So I'm learning to ignore them, and prune the tree only occasionally, 
> instead of compulsively every time.

Compulsive is the right word, it just itches to run the prune after killing a branch... I'll try and learn as well.

-- 
Jens Axboe

← back to recent threads