# Make bare repository out of git svn init

2 messages from 2010-03-17 to 2010-03-17. Participants: Sylvain Rabot, Miklos Vajna.
Thread: https://gitlist.dev/t/23047

## Sylvain Rabot, 2010-03-17 11:45

Subject: Make bare repository out of git svn init
Message-ID: <7fce93be1003170445x4a9d240cv2ca37737d6c7a244@mail.gmail.com>
URL: https://gitlist.dev/e/7fce93be1003170445x4a9d240cv2ca37737d6c7a244%40mail.gmail.com

```
Hi,

Here what I did to make a bare repository out of git svn init.
With this repo I do not intend to push to the svn repo nor to commit
into branches comming from it.
svn trunk will become master and is only fetch, not modified nor
rebased (I did not tried to see if it is working tough).

git svn init svn://<host>/ \
--trunk=<project>/trunk \
--branches=<project>/branches \
--tags=<project>/tags \
project.git

cd project.git
cat .git/config | \
sed s#:refs\/remotes\/trunk#:refs\/heads\/master# | \
sed s#:refs\/remotes\/\\*#:refs\/heads\/*# | \
sed s#:refs\/remotes\/tags\/\\*#:refs\/tags\/*# | \
sed "s#bare = false#bare = true#" > .git/config.tmp
mv .git/config.tmp .git/config
git svn fetch
git svn gc
git gc --aggressive
cp -R .git/* .
rm -rf .git

Then I have a cron which does a git svn fetch on this repo every half an hour.

I am interesting if you see things I forgot to do or some use cases
where those modifications would break anything.

Regards.

-- 
Sylvain

```

## Miklos Vajna, 2010-03-17 12:58

Subject: Re: Make bare repository out of git svn init
Message-ID: <20100317125829.GU27414@genesis.frugalware.org>
URL: https://gitlist.dev/e/20100317125829.GU27414%40genesis.frugalware.org
In-Reply-To: <7fce93be1003170445x4a9d240cv2ca37737d6c7a244@mail.gmail.com>

```
On Wed, Mar 17, 2010 at 12:45:49PM +0100, Sylvain Rabot <sylvain@abstraction.fr> wrote:
> I am interesting if you see things I forgot to do or some use cases
> where those modifications would break anything.

This is what girocco does:

http://repo.or.cz/w/girocco.git/blob/HEAD:/taskd/clone.sh#l25

So it's not necessary to use a tmp non-bare repo as an intermediate
step.

```
