On Mon, Jan 11, 2016 at 1:51 PM, Konstantin Khomoutov <
flatw...@users.sourceforge.net> wrote:

> On Mon, 11 Jan 2016 10:24:23 -0800 (PST)
> GaryP <gary.pa...@gmail.com> wrote:
>
> > I have a local git repository.  I also have a bare repository on
> > another machine for security.  No one other than me uses either.
> >
> > For various reasons, I need to attach the work I've done in this
> > local git repo onto an existing (remote) svn repository.  My entire
> > working tree will hang on the svn tree as a new directory.
> >
> > When I've done that, I'll need to keep the svn repo updated with with
> > the work I continue to do on my local git repository.  I assume that
> > this part will simply be "git svn rebase" and "git svn dcommit", etc.
> >
> > How can I move the contents of my git repo and its history to an svn
> > directory?
>
> I suspect you have to do this backwards.
>
> The "problem" is that `git svn` shim (note that Git itself does not
> have the `svn` subcommand; it's implemented by a special program)
> requires special preparations in order to work with the tagret
> Subversion repository.  This means bringing the history of that
> repository down -- converting it to a graph or Git commits, and creating
> special local configuration entries.
>
> So I'd roll it this way:
>
> 1) Prepare your Git repository to work with your Subversion repository.
>
> 2) Just `git svn dcommit` your pile of changes to whatever branch you
>    want them to appear on.
>
> The first step might require a set of tries until you get it absolutely
> correct so I'd recomment to train on empty from-scratch repos first.
>

This appears to have worked, thank you.  I haven't looked in great detail,
but it seems to have done the right thing.

Outline:
1.)  create new git-svn remote tracking branch and local tracking branch.
2.) checkout the tracking branch
3.) merge:    "git  merge  --strategy-option  theirs  my_local_git_branch
4.) fix one problem:  there was a file deleted in HEAD but modified in
revision
     git rm the_offending.file
5.) git commit
6.) git svn dcommit

-- 
You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to