git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* "git gc" removes ".git/refs/heads/master".
@ 2009-01-29 19:31 Bernd Lommerzheim
  2009-01-29 19:50 ` Johannes Schindelin
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Bernd Lommerzheim @ 2009-01-29 19:31 UTC (permalink / raw)
  To: git

Hi,

maybe I found a bug in git. When I execute "git gc" in my local repository,
git removes the file ".git/refs/heads/master". Is this an intended behavior
(but why?) or is that a bug?

Some commands to reproduce:
~ $ mkdir tmp; cd tmp
~/tmp $ git init
Initialized empty Git repository in /home/myuser/tmp/.git/
~/tmp $ echo "content" > a
~/tmp $ git add .
~/tmp $ git commit -a -m "first commit"
Created initial commit 0b67f33: first commit
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 a
~/tmp $ cat .git/refs/heads/master
0b67f33fff4152a912fdbe8819480b8fc1f2e990
~/tmp $ git gc
Counting objects: 3, done.
Writing objects: 100% (3/3), done.
Total 3 (delta 0), reused 0 (delta 0)
~/tmp $ cat .git/refs/heads/master
cat: .git/refs/heads/master: No such file or directory
~/tmp $ cat .git/HEAD
ref: refs/heads/master
~/tmp $ 

I tested this with git v1.6.0.6, v1.6.1.1 and the current master
(a34a9dbb..).


Best regards,

Bernd Lommerzheim

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

* Re: "git gc" removes ".git/refs/heads/master".
  2009-01-29 19:31 "git gc" removes ".git/refs/heads/master" Bernd Lommerzheim
@ 2009-01-29 19:50 ` Johannes Schindelin
  2009-01-29 19:51 ` Johannes Gilger
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Johannes Schindelin @ 2009-01-29 19:50 UTC (permalink / raw)
  To: Bernd Lommerzheim; +Cc: git

Hi,

On Thu, 29 Jan 2009, Bernd Lommerzheim wrote:

> maybe I found a bug in git. When I execute "git gc" in my local 
> repository, git removes the file ".git/refs/heads/master". Is this an 
> intended behavior (but why?) or is that a bug?

No, it packs the refs.  You have no business accessing files in .git/ 
directly :-)

Ciao,
Dscho

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

* Re: "git gc" removes ".git/refs/heads/master".
  2009-01-29 19:31 "git gc" removes ".git/refs/heads/master" Bernd Lommerzheim
  2009-01-29 19:50 ` Johannes Schindelin
@ 2009-01-29 19:51 ` Johannes Gilger
  2009-01-29 19:55 ` Peter Baumann
  2009-01-29 20:07 ` Junio C Hamano
  3 siblings, 0 replies; 5+ messages in thread
From: Johannes Gilger @ 2009-01-29 19:51 UTC (permalink / raw)
  To: git

On 2009-01-29, Bernd Lommerzheim <bernd@lommerzheim.com> wrote:
> maybe I found a bug in git. When I execute "git gc" in my local repository,
> git removes the file ".git/refs/heads/master". Is this an intended behavior
> (but why?) or is that a bug?

Good question, and I just found that one out myself. The ref has been 
"packed" (git help pack-refs) and can be found in .git/packed-refs. Hope 
that answers your question.

Greetings,
Jojo

-- 
Johannes Gilger <heipei@hackvalue.de>
http://hackvalue.de/heipei/
GPG-Key: 0x42F6DE81
GPG-Fingerprint: BB49 F967 775E BB52 3A81  882C 58EE B178 42F6 DE81

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

* Re: "git gc" removes ".git/refs/heads/master".
  2009-01-29 19:31 "git gc" removes ".git/refs/heads/master" Bernd Lommerzheim
  2009-01-29 19:50 ` Johannes Schindelin
  2009-01-29 19:51 ` Johannes Gilger
@ 2009-01-29 19:55 ` Peter Baumann
  2009-01-29 20:07 ` Junio C Hamano
  3 siblings, 0 replies; 5+ messages in thread
From: Peter Baumann @ 2009-01-29 19:55 UTC (permalink / raw)
  To: Bernd Lommerzheim; +Cc: git

On Thu, Jan 29, 2009 at 08:31:17PM +0100, Bernd Lommerzheim wrote:
> Hi,
> 
> maybe I found a bug in git. When I execute "git gc" in my local repository,
> git removes the file ".git/refs/heads/master". Is this an intended behavior
> (but why?) or is that a bug?
> 

This is intential, as git gc creates .git/packed-refs in which the
contents of your master branch are stored. The packed-refs help speeding
up the listing of your branches if you have many of them (e.g. many old
historical ones).

Regards,
Peter Baumann

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

* Re: "git gc" removes ".git/refs/heads/master".
  2009-01-29 19:31 "git gc" removes ".git/refs/heads/master" Bernd Lommerzheim
                   ` (2 preceding siblings ...)
  2009-01-29 19:55 ` Peter Baumann
@ 2009-01-29 20:07 ` Junio C Hamano
  3 siblings, 0 replies; 5+ messages in thread
From: Junio C Hamano @ 2009-01-29 20:07 UTC (permalink / raw)
  To: Bernd Lommerzheim; +Cc: git

Bernd Lommerzheim <bernd@lommerzheim.com> writes:

> Hi,
>
> maybe I found a bug in git. When I execute "git gc" in my local repository,
> git removes the file ".git/refs/heads/master". Is this an intended behavior
> (but why?) or is that a bug?
>
> Some commands to reproduce:
> ~ $ mkdir tmp; cd tmp
> ~/tmp $ git init
> Initialized empty Git repository in /home/myuser/tmp/.git/
> ~/tmp $ echo "content" > a
> ~/tmp $ git add .
> ~/tmp $ git commit -a -m "first commit"
> Created initial commit 0b67f33: first commit
>  1 files changed, 1 insertions(+), 0 deletions(-)
>  create mode 100644 a
> ~/tmp $ cat .git/refs/heads/master
> 0b67f33fff4152a912fdbe8819480b8fc1f2e990
> ~/tmp $ git gc
> Counting objects: 3, done.
> Writing objects: 100% (3/3), done.
> Total 3 (delta 0), reused 0 (delta 0)
> ~/tmp $ cat .git/refs/heads/master
> cat: .git/refs/heads/master: No such file or directory
> ~/tmp $ cat .git/HEAD
> ref: refs/heads/master
> ~/tmp $ 

$ grep master .git/packed-refs

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

end of thread, other threads:[~2009-01-29 20:08 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-01-29 19:31 "git gc" removes ".git/refs/heads/master" Bernd Lommerzheim
2009-01-29 19:50 ` Johannes Schindelin
2009-01-29 19:51 ` Johannes Gilger
2009-01-29 19:55 ` Peter Baumann
2009-01-29 20:07 ` Junio C Hamano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).