1
#!/usr/bin/env ruby
2
#
3
# This script creates a new tag in SVN for Amarok. Upon startup, it asks you for name
4
# of the tag to create (e.g. "1.3-beta3"). Please note that the script creates the tag
5
# immediately on the live SVN repository.
6
#
7
# (c) 2005 Mark Kretschmann <markey@web.de>
8
# License: GNU General Public License V2
9
10
11
useStableBranch = false
12
# Ask whether using branch or trunk
13
location = `kdialog --combobox "Select checkout's place:" "Trunk" "Stable"`.chomp()
14
if location == "Stable"
15
    useStableBranch = true
16
    puts "using stable branch"
17
end
18
19
# Ask user for tag name
20
tagname  = `kdialog --inputbox "Enter tag name (e.g. "2.0-beta3"): "`.chomp()
21
puts "tag = #{tagname}"
22
user = `kdialog --inputbox "Your SVN user:"`.chomp()
23
puts "user = #{user}"
24
protocol = `kdialog --radiolist "Do you use https or svn+ssh?" https https 0 "svn+ssh" "svn+ssh" 1`.chomp()
25
puts "protocol = #{protocol}"
26
27
# Show safety check dialog
28
`kdialog --warningcontinuecancel "Really create the tag '#{tagname}' NOW in the svn repository?"`
29
if $?.exitstatus() == 2
30
    print "Aborted.\n"
31
    exit()
32
end
33
34
# Create destination folder
35
target = "#{protocol}://#{user}@svn.kde.org/home/kde/tags/amarok/#{tagname}/"
36
`svn mkdir -m "Create tag #{tagname} root directory" #{target}`
37
puts "root directory created"
38
`svn mkdir -m "Create tag #{tagname} multimedia directory" #{target}/multimedia`
39
puts "multimedia directory created"
40
`svn mkdir -m "Create tag #{tagname} doc directory" #{target}/multimedia/doc`
41
puts "doc directory created"
42
43
if useStableBranch
44
    source = "#{protocol}://#{user}@svn.kde.org/home/kde/branches/stable/extragear/multimedia/amarok"
45
    docs   = "#{protocol}://#{user}@svn.kde.org/home/kde/branches/stable/extragear/multimedia/doc/amarok"
46
else
47
    source = "#{protocol}://#{user}@svn.kde.org/home/kde/trunk/extragear/multimedia/amarok"
48
    docs   = "#{protocol}://#{user}@svn.kde.org/home/kde/trunk/extragear/multimedia/doc/amarok"
49
end
50
51
52
# Copy the files in the repository
53
`svn cp -m "Tag Amarok #{tagname}." #{source} #{target}/multimedia`
54
`svn cp -m "Tag Amarok #{tagname} - docs." #{docs} #{target}/multimedia/doc`
55
56
57
print "Tag created.\n"