You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by my...@posteo.de on 2019/04/01 10:03:20 UTC

Add changes from a local svn repo to the same but older repo on a server with history

Hi,

(I am not subscribed and appreciate to be CC:ed by any reply to my 
question. Thank you! :) )

The setup is some freaking weired and I am no native speaker...

The setup: There is a remote SVN-server, I can only access via PC "A" at 
place "A".
I am working, compiling, developing at PC "B" at place "B".
Changeing places and PCs is .... hrrrrmmm ... "less effective".... 
hrrrmmm.

I am working with repo "A" on the SVN-Server.

To be able to check in changed sources not only at the beginning of the 
project and at
the end of the project but in logically reasonable portions I came 
accross an idea...
from which I dont know whether it works or not....

1) Export the repo "A" from the server.
2) Create an empty local repo of the same structure.
3) Import the sources into the local repo at PC "B"
4) Check in logically sized portioned into the local repo.
5) If completed transfer the local repo to PC "B".
6) Transfer the changes with historie, logs, etc into the server on top 
of the repo.

Point 5) and 6) gives me headaches....

How can I minimize the PC "A" <=> PC "B" changes by simutanously being 
able to checkin
logically sized portions including all other informations?

Thanks a lot for any help in advance!
Cheers!
mcc

Re: Add changes from a local svn repo to the same but older repo on a server with history

Posted by li...@m8y.org.
On Wed, 3 Apr 2019, Eric Johnson wrote:

>       > The most obvious alternative that I can think of is to use "git-svn".
>       > Instead of pushing changes to Subversion, push them to Git. Keep changes in
>       > Git in sync with the main Subversion repository.
>       >
>       > Whenever you're ready, push changes from Git back to Subversion.
>       >
>       > Eric.
> 
> 
> Unfortunately, it means that nobody touches the repository between 1 and 6....
> 
> I think the git-svn approach is likely to be the most successful strategy.
> 
> Eric.

Since I'm also a mercurial fan I figured I'd put a plug in for:
https://bitbucket.org/durin42/hgsubversion/overview/ 
Mercurial might have a more friendly commandline for someone familiar with svn anyway.
I asked durin42 in irc://irc.freenode.net/mercurial just for the heck of it and he said:
14:55 <@durin42> nemo: last I knew hgsubversion is substanially more paranoid.
14:55 < nemo> durin42: hm. is that good or bad ☺
14:55 <@durin42> nemo: (I'm sure I've previously used hgsubversion to splice svn histories together)
14:56 <@durin42> nemo: it's good: the paranoia means it doesn't "handle" as many repositories, but it means it's less likely to ninja-lose some data.
14:57 < nemo> durin42: I thought maybe "real" branches and such would be more helpful, but I guess it depends... since svn branches are just folders, maybe you'd be better off using hg cp in a situation like this anyway
14:58 <@durin42> well you could put hgsubversion in single-directory mode and clone the parent dir of trunk
14:58 <@durin42> and it'd probably do a pretty decent job
14:58 < nemo> huh. never heard of "single directory mode"
14:59 <@durin42> typically you use hgsubversion in automatic mode, where it sniffs for {branches,tags,trunk} and tries to do the Right Thing
14:59 <@durin42> This logic is, it seems, good enough you're blissfully unaware of it.

Just FWIW ☺

Re: Add changes from a local svn repo to the same but older repo on a server with history

Posted by Eric Johnson <er...@tibco.com>.
On Tue, Apr 2, 2019 at 10:08 PM <tu...@posteo.de> wrote:

>
> On 04/01 09:23, Eric Johnson wrote:
> > Hi mcc,
> >
> > On Mon, Apr 1, 2019 at 5:40 AM <my...@posteo.de> wrote:
> >
> > > Hi,
> > >
> > > (I am not subscribed and appreciate to be CC:ed by any reply to my
> > > question. Thank you! :) )
> > >
> > > The setup is some freaking weired and I am no native speaker...
> > >
> > > The setup: There is a remote SVN-server, I can only access via PC "A"
> at
> > > place "A".
> > > I am working, compiling, developing at PC "B" at place "B".
> > > Changeing places and PCs is .... hrrrrmmm ... "less effective"....
> > > hrrrmmm.
> > >
> > > I am working with repo "A" on the SVN-Server.
> > >
> >
> > Quite the unpleasant setup....
> >
> >
> > >
> > > To be able to check in changed sources not only at the beginning of the
> > > project and at
> > > the end of the project but in logically reasonable portions I came
> > > accross an idea...
> > > from which I dont know whether it works or not....
> > >
> > > 1) Export the repo "A" from the server.
> > >
> >
> > svnrdump
> >
> >
> > > 2) Create an empty local repo of the same structure.
> > >
> >
> > svnadmin create
> >
> >
> > > 3) Import the sources into the local repo at PC "B"
> > >
> >
> > svnadmin load
> >
> >
> > > 4) Check in logically sized portioned into the local repo.
> > >
> >
> > svn add, svn commit , ...
> >
> > 5) If completed transfer the local repo to PC "B".
> > >
> >
> > 6) Transfer the changes with historie, logs, etc into the server on top
> > > of the repo.
> > >
> >
> > svnadmin dump --incremental ...
> >
> > svnadmin load ...
> > # but this is where the whole thing goes off the rails.
> >
> > The load command would only work if nobody else touches the repository
> (in
> > a way that conflicts) in the meantime. Assuming this is unlikely.
> >
> > The most obvious alternative that I can think of is to use "git-svn".
> > Instead of pushing changes to Subversion, push them to Git. Keep changes
> in
> > Git in sync with the main Subversion repository.
> >
> > Whenever you're ready, push changes from Git back to Subversion.
> >
> > Eric.
> >
> >
> > >
> > > Point 5) and 6) gives me headaches....
> > >
> > > How can I minimize the PC "A" <=> PC "B" changes by simutanously being
> > > able to checkin
> > > logically sized portions including all other informations?
> > >
> > > Thanks a lot for any help in advance!
> > > Cheers!
> > > mcc
> > >
>
>
> Hi Eric,
>
> thank you very much for your informations and help! Very
> appreciated!!! Upto but not including 5) it was already know to me...
> 5) is were the magic (at least for me) begins... :)
>
> Would it be an option to lock the whole repo (with announcement
> before) for the time of doing a 'svnadmin load"...or do you
> meant with "nobody touches the repository in the meantime" the time
> between 1) and end of 6)...?
>

Unfortunately, it means that nobody touches the repository between 1 and
6....

I think the git-svn approach is likely to be the most successful strategy.

Eric.



>
> Cheers!
> mcc
>
>
>
>
>
>

Re: Add changes from a local svn repo to the same but older repo on a server with history

Posted by tu...@posteo.de.
On 04/01 09:23, Eric Johnson wrote:
> Hi mcc,
> 
> On Mon, Apr 1, 2019 at 5:40 AM <my...@posteo.de> wrote:
> 
> > Hi,
> >
> > (I am not subscribed and appreciate to be CC:ed by any reply to my
> > question. Thank you! :) )
> >
> > The setup is some freaking weired and I am no native speaker...
> >
> > The setup: There is a remote SVN-server, I can only access via PC "A" at
> > place "A".
> > I am working, compiling, developing at PC "B" at place "B".
> > Changeing places and PCs is .... hrrrrmmm ... "less effective"....
> > hrrrmmm.
> >
> > I am working with repo "A" on the SVN-Server.
> >
> 
> Quite the unpleasant setup....
> 
> 
> >
> > To be able to check in changed sources not only at the beginning of the
> > project and at
> > the end of the project but in logically reasonable portions I came
> > accross an idea...
> > from which I dont know whether it works or not....
> >
> > 1) Export the repo "A" from the server.
> >
> 
> svnrdump
> 
> 
> > 2) Create an empty local repo of the same structure.
> >
> 
> svnadmin create
> 
> 
> > 3) Import the sources into the local repo at PC "B"
> >
> 
> svnadmin load
> 
> 
> > 4) Check in logically sized portioned into the local repo.
> >
> 
> svn add, svn commit , ...
> 
> 5) If completed transfer the local repo to PC "B".
> >
> 
> 6) Transfer the changes with historie, logs, etc into the server on top
> > of the repo.
> >
> 
> svnadmin dump --incremental ...
> 
> svnadmin load ...
> # but this is where the whole thing goes off the rails.
> 
> The load command would only work if nobody else touches the repository (in
> a way that conflicts) in the meantime. Assuming this is unlikely.
> 
> The most obvious alternative that I can think of is to use "git-svn".
> Instead of pushing changes to Subversion, push them to Git. Keep changes in
> Git in sync with the main Subversion repository.
> 
> Whenever you're ready, push changes from Git back to Subversion.
> 
> Eric.
> 
> 
> >
> > Point 5) and 6) gives me headaches....
> >
> > How can I minimize the PC "A" <=> PC "B" changes by simutanously being
> > able to checkin
> > logically sized portions including all other informations?
> >
> > Thanks a lot for any help in advance!
> > Cheers!
> > mcc
> >


Hi Eric,

thank you very much for your informations and help! Very
appreciated!!! Upto but not including 5) it was already know to me...
5) is were the magic (at least for me) begins... :)

Would it be an option to lock the whole repo (with announcement
before) for the time of doing a 'svnadmin load"...or do you
meant with "nobody touches the repository in the meantime" the time
between 1) and end of 6)...?

Cheers!
mcc






Re: Add changes from a local svn repo to the same but older repo on a server with history

Posted by Eric Johnson <er...@tibco.com>.
Hi mcc,

On Mon, Apr 1, 2019 at 5:40 AM <my...@posteo.de> wrote:

> Hi,
>
> (I am not subscribed and appreciate to be CC:ed by any reply to my
> question. Thank you! :) )
>
> The setup is some freaking weired and I am no native speaker...
>
> The setup: There is a remote SVN-server, I can only access via PC "A" at
> place "A".
> I am working, compiling, developing at PC "B" at place "B".
> Changeing places and PCs is .... hrrrrmmm ... "less effective"....
> hrrrmmm.
>
> I am working with repo "A" on the SVN-Server.
>

Quite the unpleasant setup....


>
> To be able to check in changed sources not only at the beginning of the
> project and at
> the end of the project but in logically reasonable portions I came
> accross an idea...
> from which I dont know whether it works or not....
>
> 1) Export the repo "A" from the server.
>

svnrdump


> 2) Create an empty local repo of the same structure.
>

svnadmin create


> 3) Import the sources into the local repo at PC "B"
>

svnadmin load


> 4) Check in logically sized portioned into the local repo.
>

svn add, svn commit , ...

5) If completed transfer the local repo to PC "B".
>

6) Transfer the changes with historie, logs, etc into the server on top
> of the repo.
>

svnadmin dump --incremental ...

svnadmin load ...
# but this is where the whole thing goes off the rails.

The load command would only work if nobody else touches the repository (in
a way that conflicts) in the meantime. Assuming this is unlikely.

The most obvious alternative that I can think of is to use "git-svn".
Instead of pushing changes to Subversion, push them to Git. Keep changes in
Git in sync with the main Subversion repository.

Whenever you're ready, push changes from Git back to Subversion.

Eric.


>
> Point 5) and 6) gives me headaches....
>
> How can I minimize the PC "A" <=> PC "B" changes by simutanously being
> able to checkin
> logically sized portions including all other informations?
>
> Thanks a lot for any help in advance!
> Cheers!
> mcc
>