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
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