# How to sync two svn repositories via git?

3 messages from 2009-04-01 to 2009-04-02. Participants: Josef Wolf, Michael J Gruber.
Thread: https://gitlist.dev/t/18686

## Josef Wolf, 2009-04-01 22:30

Subject: How to sync two svn repositories via git?
Message-ID: <20090401223052.GA28619@raven.wolf.lan>
URL: https://gitlist.dev/e/20090401223052.GA28619%40raven.wolf.lan

```
Hello,

I have two subversion repositories which I would like to synchronize via
git-svn.  For this, I have set up a git repository and configured two
branches to track the subversion repositories via git-svn:

    mkdir test-sync
    cd    test-sync
    git svn init --stdlayout file://$REPOSDIR/svn-first

    for repos in svn-first svn-second; do
        git config svn-remote.$repos.url      file://$REPOSDIR/$repos
        git config svn-remote.$repos.fetch    trunk:refs/remotes/$repos/trunk
        git config svn-remote.$repos.branches branches/*:refs/remotes/$repos/*
        git config svn-remote.$repos.tags     tags/*:refs/remotes/$repos/tags/*
        git svn fetch -R $repos
        git checkout -b $repos $repos/trunk
    done
    git gc

This gives me two remote and two local branches:

    master                                                                                    
    svn-first                                                                                 
  * svn-second                                                                                
    svn-first/trunk                                                                           
    svn-second/trunk                                                                          

The first step I'd like to do is to "mirror" the manual merges that were
done between the subversion repositories in the past:

    git checkout svn-first
    git merge -s ours --log commit-of-the-first-merge-in-svn-second

    git checkout svn-second
    git merge -s ours --log commit-of-the-first-merge-in-svn-first

This seems to work, but git-gui shows conflicts.  How can I get conflicts
when I use the "-s ours" merge strategy?

```

## Michael J Gruber, 2009-04-02 07:41

Subject: Re: How to sync two svn repositories via git?
Message-ID: <49D46C2B.3080100@drmicha.warpmail.net>
URL: https://gitlist.dev/e/49D46C2B.3080100%40drmicha.warpmail.net
In-Reply-To: <20090401223052.GA28619@raven.wolf.lan>

```
Josef Wolf venit, vidit, dixit 02.04.2009 00:30:
> Hello,
> 
> I have two subversion repositories which I would like to synchronize via
> git-svn.  For this, I have set up a git repository and configured two
> branches to track the subversion repositories via git-svn:
> 
>     mkdir test-sync
>     cd    test-sync
>     git svn init --stdlayout file://$REPOSDIR/svn-first
> 
>     for repos in svn-first svn-second; do
>         git config svn-remote.$repos.url      file://$REPOSDIR/$repos
>         git config svn-remote.$repos.fetch    trunk:refs/remotes/$repos/trunk
>         git config svn-remote.$repos.branches branches/*:refs/remotes/$repos/*
>         git config svn-remote.$repos.tags     tags/*:refs/remotes/$repos/tags/*
>         git svn fetch -R $repos
>         git checkout -b $repos $repos/trunk
>     done
>     git gc
> 
> This gives me two remote and two local branches:
> 
>     master                                                                                    
>     svn-first                                                                                 
>   * svn-second                                                                                
>     svn-first/trunk                                                                           
>     svn-second/trunk                                                                          
> 
> The first step I'd like to do is to "mirror" the manual merges that were
> done between the subversion repositories in the past:
> 
>     git checkout svn-first
>     git merge -s ours --log commit-of-the-first-merge-in-svn-second
> 
>     git checkout svn-second
>     git merge -s ours --log commit-of-the-first-merge-in-svn-first
> 
> This seems to work, but git-gui shows conflicts.  How can I get conflicts
> when I use the "-s ours" merge strategy?

What do git status and git diff (--stat, --combined) say?

```

## Josef Wolf, 2009-04-02 10:36

Subject: Re: How to sync two svn repositories via git?
Message-ID: <20090402103659.GB28619@raven.wolf.lan>
URL: https://gitlist.dev/e/20090402103659.GB28619%40raven.wolf.lan
In-Reply-To: <49D46C2B.3080100@drmicha.warpmail.net>

```
On Thu, Apr 02, 2009 at 09:41:31AM +0200, Michael J Gruber wrote:
> Josef Wolf venit, vidit, dixit 02.04.2009 00:30:
[ ... ]
> > The first step I'd like to do is to "mirror" the manual merges that were
> > done between the subversion repositories in the past:
> > 
> >     git checkout svn-first
> >     git merge -s ours --log commit-of-the-first-merge-in-svn-second
> > 
> >     git checkout svn-second
> >     git merge -s ours --log commit-of-the-first-merge-in-svn-first
> > 
> > This seems to work, but git-gui shows conflicts.  How can I get conflicts
> > when I use the "-s ours" merge strategy?
> 
> What do git status and git diff (--stat, --combined) say?

Umm, that's somewhat odd.

Directly after the merge commands, gitk says there are local modifications.
Then I run "git status" which says the working directory is clean.  Then
I re-run gitk, which _now_ shows no local modifications any more.

```
