Skip to content

Instantly share code, notes, and snippets.

@ik5
Created September 14, 2012 23:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ik5/3725552 to your computer and use it in GitHub Desktop.
Save ik5/3725552 to your computer and use it in GitHub Desktop.
updating my Lazarus 3rd party component directory
#!/usr/bin/env ruby
#
require 'rubygems'
require 'fileutils'
dirs = { 'bgracontrols' => { 'scm' => 'git', 'dir' => 'bgracontrols', 'levels' => 1},
'ccr' => { 'scm' => 'svn', 'dir' => 'ccr', 'levels' => 1},
'dcpcrypt' => { 'scm' => 'git', 'dir' => 'dcpcrypt', 'levels' => 1},
'fortres' => { 'scm' => 'svn', 'dir' => 'fortes4lazarus', 'levels' => 1},
'fpgui' => { 'scm' => 'git', 'dir' => 'fpgui', 'levels' => 1},
'lazpaint' => { 'scm' => 'svn', 'dir' => 'lazpaint', 'levels' => 1},
'lazsolutions' => { 'scm' => 'git', 'dir' => 'lazsolutions', 'levels' => 1},
'lnet' => { 'scm' => 'svn', 'dir' => 'lnet', 'levels' => 1},
'luipck' => { 'scm' => 'svn', 'dir' => 'luipack', 'levels' => 1},
'synapse' => { 'scm' => 'svn', 'dir' => 'synapse', 'levels' => 1},
'tiopf src' => { 'scm' => 'svn', 'dir' => 'tiopf/src', 'levels' => 2},
'uib' => { 'scm' => 'svn', 'dir' => 'uib', 'levels' => 1},
'zeosdb' => { 'scm' => 'svn', 'dir' => 'zeosdb', 'levels' => 1},
'kzdesktop' => { 'scm' => 'svn', 'dir' => 'kzdesktop', 'levels' => 1}#,
#'' => { 'scm' => '', 'dir' => '', 'levels' => 1},
}
scm = {'git' => 'pull', 'hg' => 'pull', 'svn' => 'update' }
i = 0
dirs.each_pair do |k,v|
i += 1
puts "#{i}. Checking #{k}"
FileUtils.cd(v['dir'], :verbose => true)
system("#{v['scm']} #{scm[v['scm']]}")
ret = '../' * v['levels']
FileUtils.cd(ret)
puts
end
puts 'Done'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment