[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Another broken Git repository



On Sun, 2012-06-10 at 10:12 +0200, Andreas Tille wrote:
> Hi,
> 
> I checked out
> 
>    git clone git+ssh://git.debian.org/git/debian-science/packages/liblemon1.git
> 
> and did some small cosmetic changes (Vcs fields are broken and thus the
> recently announced machine-readable gatherer stumbles upon it).  Then I
> tried to push:
> 
> remote: error: refusing to update checked out branch: refs/heads/master
> remote: error: By default, updating the current branch in a non-bare repository
> remote: error: is denied, because it will make the index and work tree inconsistent
> remote: error: with what you pushed, and will require 'git reset --hard' to match
> remote: error: the work tree to HEAD.
> remote: error: 

> As a Git beginner I think there are many powerful features in Git but
> also many ways to end up with a broken repository.  That's a bit
> frustrating, thought.  Any hint?

When it refers to a "non-bare repository", that makes me think of some
experience I had setting up my repos.  When it says "non-bare
repository" I think it might mean that git.debian.org holds a normal
working repo, such that if you navigate there on the filesystem (logging
on to git.debian.org) you can see all the files checked out as if they
were ready to be worked on by a normal developer.  This was the normal
state of remote repos a few years back, but later they introduced the
concept of "bare repository", which contains only the .git data, nothing
checked out.  

The simplest resolution may be to move (or rename) your nonbare
repository to a different directory, then in the proper (empty)
directory create a new, bare, repository, something like "git init
--bare". (there's various group configurations you could then apply if
you need to, e.g.
http://debian-science.alioth.debian.org/debian-science-policy.html#idp16612040
http://wiki.debian.org/DebianScience/ContributingToDebianScience
 http://lists.debian.org/debian-science/2008/05/msg00118.html )

You should then be able to push into that new bare repo.

Drew



Reply to: