Subject: Re: Bug encountered while comitting

From: Andreas Ericsson <[email-masked]>
Date: Fri, 24 Mar 2006 20:34:57 +0100

Matthias Kestenholz wrote:
> Hello list,
> 
> I don't know if this is the right place to report a bug, but I'll
> just try and see what comes back.
> 
> I am trying to build a Wiki [1] using PHP, a hacked version of Markdown,
> and git for content tracking. I use the git core plumbing to do the
> history work.
> 
> The PHP script created directories under .git/objects

Ouch... You're not really supposed to do that. The proper thing to do is 
to do things in the working tree and commit them to git later.

> which were
> only writable by www-data. There were other directories which were
> owned by user mk and group www-data, and they were group writable.
> 
> So, I had write access to only a part of the .git directory.
> 

Unless you're using the git tools (or things hooking in to the git core 
C functions somehow), don't touch the .git directory.

(this merits an exclamation marks, so brace yourselves) !

> When I tried to commit, I got a message saying "Unable to write sha1
> filename".
> 

What file were you trying to write?

> The result was, that only part of the commit was recorded and that I
> experienced repository corruption. refs/heads/master pointed to a
> non-existant object.
> 

Did you use git tools to update .git/refs/heads/master ?

> The expected behavior would have been an error message telling me I
> had insufficient write privileges and surely no repository
> corruption.
> 

Didn't you get the strerror(3) message from that? If so, I'd consider it 
a bug.

-- 
Andreas Ericsson                   [email-masked]
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231