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