You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Mike George <mi...@mail.georgetech.com> on 2002/10/29 14:28:10 UTC
Need advice on upgrading
Hello,
I've been putting off upgrading for a _really_ long time, and now I'm stuck. I'm currently using the subversion-0.8.0-1271 rpm that I got off the subversion site some time ago. I'd like to upgrade now, but unfortunately that version doesn't have svnadmin dump. Whats the best way to handle the upgrade?
--Mike
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: Need advice on upgrading
Posted by cm...@collab.net.
Ben Collins-Sussman <su...@collab.net> writes:
> "Mike George" <mi...@mail.georgetech.com> writes:
>
> > Hello,
> >
> > I've been putting off upgrading for a _really_ long time, and now
> > I'm stuck. I'm currently using the subversion-0.8.0-1271 rpm that I
> > got off the subversion site some time ago. I'd like to upgrade now,
> > but unfortunately that version doesn't have svnadmin dump. Whats
> > the best way to handle the upgrade?
>
> My friend, you have quite a bit of dumping and loading in your
> future. :-)
>
> Go to the "file sharing" area of the svn website, and click on the
> 'source tarballs' section.
>
> You'll need to download the 2092g, 2402d, 3200 sourceballs.
> [...]
I haven't tried this, but I'm wondering what the results would be...
Depending on the size of your repository, it might be easier just to
do something like:
#!/usr/bin/perl
$repos = 'svn-logos';
$dump_data_dir = '/tmp/dump';
$svnlook_cmd = 'svnlook';
$svnadmin_cmd = 'svnadmin';
mkdir($dump_data_dir);
$youngest = `$svnadmin_cmd youngest $repos`;
for ($rev = 1; $rev <= $youngest; $rev++)
{
print "Dumping patches and meta-data for revision $rev...";
`$svnlook_cmd $repos author rev $rev > $dump_data_dir/rev_author.$rev`;
`$svnlook_cmd $repos log rev $rev > $dump_data_dir/rev_log.$rev`;
`$svnlook_cmd $repos date rev $rev > $dump_data_dir/rev_date.$rev`;
`$svnlook_cmd $repos diff rev $rev > $dump_data_dir/rev_diff.$rev`;
print "done.\n"
}
Then upgrade to the latest Subversion, create a new repository, check
out that repository, and apply each of your patches (rev_diff.$i) in
succession to your new working copy. You can commit them with an
empty log message or something. Then, you can use `svn propset -r REV
-F FILE` to set the author, log, and date for each of your revisions,
using the appropriate property-value-containing files you created
above.
Now, you'll have the massage the patches a little bit -- hand applying
any property changes, and adding/removing files and dirs by hand,
but... I dunno, may be worth a try, if you think it'll be faster than
compiling 4 more versions of Subversion, plus 4 dumps and 4 loads.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: Need advice on upgrading
Posted by Ben Collins-Sussman <su...@collab.net>.
"Mike George" <mi...@mail.georgetech.com> writes:
> Hello,
>
> I've been putting off upgrading for a _really_ long time, and now
> I'm stuck. I'm currently using the subversion-0.8.0-1271 rpm that I
> got off the subversion site some time ago. I'd like to upgrade now,
> but unfortunately that version doesn't have svnadmin dump. Whats
> the best way to handle the upgrade?
My friend, you have quite a bit of dumping and loading in your
future. :-)
Go to the "file sharing" area of the svn website, and click on the
'source tarballs' section.
You'll need to download the 2092g, 2402d, 3200 sourceballs.
Build each sourceball with --disable-shared, and set each statically
linked 'svnadmin' binary aside.
Use the 2092g svnadmin to 'svnadmin dump' your repository.
Use the 2402d svnadmin to 'svnadmin load' into a new repository.
Use the 2402d svnadmin to 'svnadmin dump' the new repository.
Use the 3200 svnadmin to 'svnadmin load' into an even newer repository.
Have fun!
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org