Cesar
Cesar

Reputation: 4116

Why I can't add new repositories using gitosis?

I set up gitosis but even when i can clone, pull and push to the gitosis-admin repo, i can't create new ones.

According to every doc i read, to create a new repo one has to:

But i always get the error fatal: 'repo-name.git' does not appear to be a git repository

But if a login on the server (as user git) and create the repo manually using mkdir repo-name.git && cd repo-name.git && git --bare init, then i can push from my local repo to the remote one.

Upvotes: 4

Views: 4325

Answers (3)

Alex
Alex

Reputation: 1020

Hello i've had exactly the same problem just today.

I checked by

$ ssh git@yourserver echo if you see this, it is not gitosis

and found out that gitosis was not servicing ssh sessions.

I couldnt get why.

As a solution a deleted git user (that i used for gitosis purposes) with its home folder and recreated it from scratch.

And it helped.

README.rst from gitosis.git says

".. warning::

    For now, ``gitosis`` uses the ``HOME`` environment variable to
    locate where to write its files. If you use ``sudo -u``
    without ``-H``, ``sudo`` will leave the old value of ``HOME``
    in place, and this will cause trouble. There will be a
    workaround for that later on, but for now, always remember to
    use ``-H`` if you're sudoing to the account.

You should always edit the configuration file via git. The file symlinked to ~/.gitosis.conf on the server will be overwritten when pushing changes to the gitosis-admin.git repository. " i suppose it might be the cause..

Upvotes: 0

Atherion
Atherion

Reputation: 594

I was having this problem and I found out if I change the way I access the repository, it worked. After you have created the group writeable.

# Go to the directory you want to start your project in.
git init; git add .
git commit -m 'initial commit'
git remote add origin gitosis@[server]:gitosis-test.git
git push --all

So to recap before I was doing gitosis@[server]/gitosis-test.git and that was failing. I swapped the semicolon and it worked.

Props on the loglevel = DEBUG It helped a lot to find out what was happening.

Upvotes: 1

Tim Henigan
Tim Henigan

Reputation: 62188

UPDATE:
In your gitosis-admin repo, try adding loglevel = DEBUG under [gitosis] in your gitosis.conf. Push this change to your server and then try again. This will generate a lot of useful information to help debug the problem.

These instructions from Dreamhost are the best I found.

Are you pushing the gitosis-admin repo after updating permissions?

Upvotes: 0

Related Questions