From: Lasse Kliemann <hidden> Date: 2016-06-15 22:46:17
$ mkdir test
$ cd test
$ git init
Initialized empty Git repository in /home/foo/new-repos/test/.git/
$ git remote add origin ext:test.git
('ext' is configured in ~/.ssh/config to be my git user and host.)
Here the docs say to add some files and to do a commit. However,
I want an absolutely empty repos created, so I skip this step.
$ git push origin master:refs/heads/master
Initialized empty Git repository in /home/git/repositories/test.git/
error: src refspec master does not match any.
fatal: The remote end hung up unexpectedly
error: failed to push some refs to 'ext:test.git'
So, this did not work. It will work, however, if I do at least
one commit. A way to do this without adding files is the
following:
$ git commit --allow-empty
Then the push will work:
$ git push origin master:refs/heads/master
Counting objects: 2, done.
Writing objects: 100% (2/2), 168 bytes, done.
Total 2 (delta 0), reused 0 (delta 0)
To ext:test.git
* [new branch] master -> master
Is there a better way to do it?
From: Thomas Rast <hidden> Date: 2016-06-15 22:46:17
Lasse Kliemann wrote:
Here the docs say to add some files and to do a commit. However,
I want an absolutely empty repos created, so I skip this step.
$ git push origin master:refs/heads/master
Initialized empty Git repository in /home/git/repositories/test.git/
error: src refspec master does not match any.
fatal: The remote end hung up unexpectedly
error: failed to push some refs to 'ext:test.git'
You can do "anything" to the repository and gitosis will create it.
For example, doing an invalid push will work (you'll need to do this
in a git repository to make git-push happy, but it doesn't matter what
it contains):
git push gitosis@server.example.com:repo.git :master
Note that _cloning_ such a repository is only possible since 86ac751
(Allow cloning an empty repository, 2009-01-23), which is not in any
released version yet, but will be in 1.6.2.
--
Thomas Rast
trast@{inf,student}.ethz.ch
From: Lasse Kliemann <hidden> Date: 2016-06-15 22:46:17
Thomas Rast [off-list ref] writes:
Thank you for your reply!
You can do "anything" to the repository and gitosis will create it.
For example, doing an invalid push will work (you'll need to do this
in a git repository to make git-push happy, but it doesn't matter what
it contains):
git push gitosis@server.example.com:repo.git :master
Note that _cloning_ such a repository is only possible since 86ac751
(Allow cloning an empty repository, 2009-01-23), which is not in any
released version yet, but will be in 1.6.2.
Not sure if it's the same, but cloning a local repository just initialized
with 'git init' seems to work; it only gives a warning: "warning: remote HEAD
refers to nonexistent ref, unable to checkout." Using git version 1.6.1.3.