Switching SVN server.

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Switching SVN server.

SmartGit mailing list
Hi,


I am in the process of evaluating smartgit for migrating a (very) large svn repo. To speed things up, I copied over the repo to a ramdrive on my local machine, ran a local svnserve process over it, and did the migration.



Now of course that works fine, although I was a bit disappointed that smartgit does not accept the file:/// specs as valid svn url, but it still speeds things up a lot. The git repo is also on the ramdrive during migration.



Now of course, there are 2 problems with that:


  *   first is that, of course, while I'm doing this, the svn repo still evolves. So, I have to sync the ramdrive periodically to get the latest revisions.
  *   second is that the the git-svn-id: is also pointing to the the local svn repo.


I can probably live with the latter for the moment, and just process the repo with a filter to rewrite the history as a final migration stage. But what I would like to do now is to rebranch the git repo onto the real svn repo to get the latest revisions with a simple cron job, instead of mirroring the svn repo again and again. While there are procedures described for svn-git, there are none for smartgit. Any way to do that?


Thanks in advance,
Richard.




------------------- This e-mail, including any attached files, may contain confidential and privileged information for the sole use of the intended recipient. Any review, use, distribution, or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive information for the intended recipient), please contact the sender by reply e-mail and delete all copies of this message.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Switching SVN server.

SmartGit mailing list
> I can probably live with the latter for the moment, and just process the repo with
> a filter to rewrite the history as a final migration stage. But what I would like
> to do now is to rebranch the git repo onto the real svn repo to get the latest
> revisions with a simple cron job, instead of mirroring the svn repo again and
> again.

That sounds like you don't want to actually work with SmartGit, but have some kind of "server" (bare) repository? And multiple users would clone from that repository?

--
Best regards,
Marc Strapetz
syntevo GmbH
http://www.syntevo.com
http://blog.syntevo.com


11/28/2014 10:00 - Richard Cognot [hidden email] [smartgit] wrote:

> Hi,
>
>
> I am in the process of evaluating smartgit for migrating a (very) large svn repo.
> To speed things up, I copied over the repo to a ramdrive on my local machine, ran
> a local svnserve process over it, and did the migration.
>
>
>
> Now of course that works fine, although I was a bit disappointed that smartgit
> does not accept the file:/// specs as valid svn url, but it still speeds things up
> a lot. The git repo is also on the ramdrive during migration.
>
>
>
> Now of course, there are 2 problems with that:
>
>
>   *   first is that, of course, while I'm doing this, the svn repo still evolves.
> So, I have to sync the ramdrive periodically to get the latest revisions.
>   *   second is that the the git-svn-id: is also pointing to the the local svn
> repo.
>
>
> I can probably live with the latter for the moment, and just process the repo with
> a filter to rewrite the history as a final migration stage. But what I would like
> to do now is to rebranch the git repo onto the real svn repo to get the latest
> revisions with a simple cron job, instead of mirroring the svn repo again and
> again. While there are procedures described for svn-git, there are none for
> smartgit. Any way to do that?
>
>
> Thanks in advance,
> Richard.
>
>
>
>
> ------------------- This e-mail, including any attached files, may contain
> confidential and privileged information for the sole use of the intended
> recipient. Any review, use, distribution, or disclosure by others is strictly
> prohibited. If you are not the intended recipient (or authorized to receive
> information for the intended recipient), please contact the sender by reply e-mail
> and delete all copies of this message.
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Switching SVN server.

SmartGit mailing list
Hi,


On 11/28/2014 10:20 AM, syntevo Support [hidden email]<mailto:[hidden email]> [smartgit] wrote:




> I can probably live with the latter for the moment, and just process the repo with
> a filter to rewrite the history as a final migration stage. But what I would like
> to do now is to rebranch the git repo onto the real svn repo to get the latest
> revisions with a simple cron job, instead of mirroring the svn repo again and
> again.


That sounds like you don't want to actually work with SmartGit, but have some kind of "server" (bare) repository? And multiple users would clone from that repository?


Yes and no.


The result of the conversion of the SVN repo is not, in itself, the final Git repo. The SVN repo has a long history behind it (14 years), and is the result of a conversion from CVS ~5 years ago, etc. So in effect it definitely wont be the one used in the end, because at least there are a lot of ghost tags and branches that nobody cares about due to the way we used them in CVS to deal with CVS shortcomings. So the goal is not to use the converted SVN repo for bidirectionnal mapping between SVN and Git, the goal is to move away from SVN at some stage.


What I do right now is create a git repo from the svn repo with smatgit, and push only what I want to keep in terms of branches and tags to a final repo which eventually others could use later. Whatever tool is used later with the final repo is anyone's guess right now as it is not yet decided.


Now as I said before, for speed reasons the conversion was initially done using a local copy of the repo with everything on a ramdrive. And even then it took roughly a week to convert it (as an aside with git-svn even in those conditions it takes months, a bit less if I split the process in revision chunks of roughly 100 revs, otherwise the process just gets slower and slower). But now that I have a close to up to date Git repo, I need to continue to track what is going on the SVN side, and if possible on the real server, not my local copy. While there are workflows allowing to do just that with git-svn (allowing to rebuild the meta-information without having to redo the whole thing), I haven't found the equivalent with smartgit, hence my question.


Regards,
Richard.




------------------- This e-mail, including any attached files, may contain confidential and privileged information for the sole use of the intended recipient. Any review, use, distribution, or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive information for the intended recipient), please contact the sender by reply e-mail and delete all copies of this message.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Switching SVN server.

SmartGit mailing list
> But now that I have a
> close to up to date Git repo, I need to continue to track what is going on the SVN
> side, and if possible on the real server, not my local copy. While there are
> workflows allowing to do just that with git-svn (allowing to rebuild the
> meta-information without having to redo the whole thing), I haven't found the
> equivalent with smartgit, hence my question.

You can change the remote URL in the Branches view to your real server and afterwards use Pull to get the latest commits.

--
Best regards,
Marc Strapetz
syntevo GmbH
http://www.syntevo.com
http://blog.syntevo.com



11/28/2014 14:30 - Richard Cognot [hidden email] [smartgit] wrote:

> Hi,
>
>
> On 11/28/2014 10:20 AM, syntevo Support
> [hidden email]<mailto:[hidden email]> [smartgit] wrote:
>
>
>
>
> > I can probably live with the latter for the moment, and just process the repo with
> > a filter to rewrite the history as a final migration stage. But what I would like
> > to do now is to rebranch the git repo onto the real svn repo to get the latest
> > revisions with a simple cron job, instead of mirroring the svn repo again and
> > again.
>
>
> That sounds like you don't want to actually work with SmartGit, but have some kind
> of "server" (bare) repository? And multiple users would clone from that
> repository?
>
>
> Yes and no.
>
>
> The result of the conversion of the SVN repo is not, in itself, the final Git
> repo. The SVN repo has a long history behind it (14 years), and is the result of a
> conversion from CVS ~5 years ago, etc. So in effect it definitely wont be the one
> used in the end, because at least there are a lot of ghost tags and branches that
> nobody cares about due to the way we used them in CVS to deal with CVS
> shortcomings. So the goal is not to use the converted SVN repo for bidirectionnal
> mapping between SVN and Git, the goal is to move away from SVN at some stage.
>
>
> What I do right now is create a git repo from the svn repo with smatgit, and push
> only what I want to keep in terms of branches and tags to a final repo which
> eventually others could use later. Whatever tool is used later with the final repo
> is anyone's guess right now as it is not yet decided.
>
>
> Now as I said before, for speed reasons the conversion was initially done using a
> local copy of the repo with everything on a ramdrive. And even then it took
> roughly a week to convert it (as an aside with git-svn even in those conditions it
> takes months, a bit less if I split the process in revision chunks of roughly 100
> revs, otherwise the process just gets slower and slower). But now that I have a
> close to up to date Git repo, I need to continue to track what is going on the SVN
> side, and if possible on the real server, not my local copy. While there are
> workflows allowing to do just that with git-svn (allowing to rebuild the
> meta-information without having to redo the whole thing), I haven't found the
> equivalent with smartgit, hence my question.
>
>
> Regards,
> Richard.
>
>
>
>
> ------------------- This e-mail, including any attached files, may contain
> confidential and privileged information for the sole use of the intended
> recipient. Any review, use, distribution, or disclosure by others is strictly
> prohibited. If you are not the intended recipient (or authorized to receive
> information for the intended recipient), please contact the sender by reply e-mail
> and delete all copies of this message.
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Switching SVN server.

SmartGit mailing list
On 11/28/2014 04:21 PM, syntevo Support [hidden email] [smartgit]
wrote:

>
> > But now that I have a
> > close to up to date Git repo, I need to continue to track what is
> going on the SVN
> > side, and if possible on the real server, not my local copy. While
> there are
> > workflows allowing to do just that with git-svn (allowing to rebuild the
> > meta-information without having to redo the whole thing), I haven't
> found the
> > equivalent with smartgit, hence my question.
>
> You can change the remote URL in the Branches view to your real server
> and afterwards use Pull to get the latest commits.
>

Thanks, that works. With one minor oddity: the git-svn-id: tags of the
newly imported commits still refer to the old, local server (but are
fetched from the real one).

Regards,
Richard.

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Switching SVN server.

SmartGit mailing list
Hello Richard,
This is expected. We've inherited this behaviour from git-svn and use it for better git-svn compatibility. Normally git-svn-id: point to the same repository for the whole repository, but the physical server URL can be changed.
--
Best regards,
Dmitry Pavlenko
syntevo GmbH
http://www.syntevo.com
http://blog.syntevo.com


12/01/2014 16:00 - Richard Cognot [hidden email] [smartgit] wrote:

> On 11/28/2014 04:21 PM, syntevo Support [hidden email] [smartgit]
> wrote:
> >
> > > But now that I have a
> > > close to up to date Git repo, I need to continue to track what is
> > going on the SVN
> > > side, and if possible on the real server, not my local copy. While
> > there are
> > > workflows allowing to do just that with git-svn (allowing to rebuild the
> > > meta-information without having to redo the whole thing), I haven't
> > found the
> > > equivalent with smartgit, hence my question.
> >
> > You can change the remote URL in the Branches view to your real server
> > and afterwards use Pull to get the latest commits.
> >
>
> Thanks, that works. With one minor oddity: the git-svn-id: tags of the
> newly imported commits still refer to the old, local server (but are
> fetched from the real one).
>
> Regards,
> Richard.
>
>
Loading...