svn backup via rake.. easier way to obtain lastest rev?

S

Simon Strandgaard

I have made a small script that makes a backup of
a subversion repository.. with outputfiles formatted as:
backup20050722_rev68.gz

But I wonder if there is a smarter way to determine what
the last revision?

--
Simon Strandgaard


require 'open3'

task :default =3D> :svnbackup

task :svnbackup do
=09repos =3D '/Users/simonstrandgaard/code/svnrepos'

=09dummyfile =3D 'backuptmp'
=09
=09cmd =3D "svnadmin dump #{repos} | gzip -9 > #{dummyfile}"
=09si, so, se =3D Open3.popen3(cmd) #do |stdin, stdout, stderr|
=09si.close=20

=09se_res =3D ''
=09so_res =3D ''
=09t1 =3D Thread.start do
=09=09while line=3Dso.gets
=09=09=09so_res << line
=09=09=09puts "stdout: #{line}"
=09=09end
=09end
=09t2 =3D Thread.start do
=09=09while line=3Dse.gets
=09=09=09se_res << line
=09=09=09puts "stderr: #{line}"
=09=09end
=09end
=09t1.join
=09t2.join
=09so.close
=09se.close
=09
=09#p so_res, se_res
=09ary =3D se_res.scan(/Dumped\srevision\s(\d+)\./m)
=09rev =3D '_rev' + ary.flatten.last
=09
=09#p rev
=09filename =3D 'backup' + Time.now.strftime('%Y%m%d')
=09filename +=3D rev
=09filename +=3D '.gz'

=09mv(dummyfile, filename)
end
 
C

Cristi BALAN

I have made a small script that makes a backup of
a subversion repository.. with outputfiles formatted as:
backup20050722_rev68.gz
=20
But I wonder if there is a smarter way to determine what
the last revision?
=20

svnadmin youngest repos

--=20
Cristi BALAN
 
S

Simon Strandgaard

=20
Hmm.. my svnadmin does not support 'youngest'..
my svn+svnadmin versions is 1.1.3 (r12730).
however I just discovered svnlook..
=20
svnlook youngest repos
=20
10x Thanks


Code got reduced into this.

--
Simon Strandgaard



require 'open3'

task :default =3D> :svnbackup

task :svnbackup do
=09repos =3D '/Users/simonstrandgaard/code/svnrepos'

=09revstr =3D `svnlook youngest #{repos}`
=09rev =3D '_rev' + revstr.match(/\d+/).to_s
=09#p rev

=09filename =3D 'backup' + Time.now.strftime('%Y%m%d')
=09filename +=3D rev
=09filename +=3D '.gz'
=09p filename

=09sh "svnadmin dump #{repos} | gzip -9 > #{filename}"
end
 
S

Simon Strandgaard

=20
svnadmin youngest repos

Hmm.. my svnadmin does not support 'youngest'..=20
my svn+svnadmin versions is 1.1.3 (r12730).
however I just discovered svnlook..

svnlook youngest repos
=20

10x Thanks
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,581
Members
45,055
Latest member
SlimSparkKetoACVReview

Latest Threads

Top