rup 0.3.2 → 0.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/LICENSE +1 -1
- data/README +35 -20
- data/TODO +4 -0
- data/bin/rup +26 -7
- metadata +7 -10
- data/Rakefile +0 -71
- data/lib/status.rb +0 -3
data/LICENSE
CHANGED
data/README
CHANGED
@@ -1,42 +1,57 @@
|
|
1
|
-
|
1
|
+
= RUP - Repository Updater
|
2
2
|
|
3
|
-
|
4
|
-
Simply copy "<project_directory>/lib/rup" to either
|
3
|
+
Manage multiple SCM repositories at different locations of various types like SVN, GIT, REPO with one simple CLI tool.
|
5
4
|
|
6
|
-
|
7
|
-
/usr/local/bin
|
8
|
-
/opt/local/bin
|
5
|
+
RUP is available via Gemcutter!
|
9
6
|
|
10
|
-
|
11
|
-
PATH variable.
|
7
|
+
== Requirements
|
12
8
|
|
13
|
-
|
9
|
+
RUP works with Subversion, GIT and Repo. It requires all these tools to be available via your PATH variable.
|
14
10
|
|
15
|
-
|
11
|
+
== Installation
|
16
12
|
|
17
|
-
===
|
18
|
-
RUP works with Subversion, GIT and Repo.
|
13
|
+
=== Via Rubyforge:
|
19
14
|
|
20
|
-
|
15
|
+
$ gem install rup
|
21
16
|
|
22
|
-
===
|
17
|
+
=== Via Gemcutter:
|
23
18
|
|
24
|
-
|
19
|
+
$ gem install gemcutter
|
20
|
+
$ gem tumble
|
21
|
+
$ gem install rup
|
22
|
+
|
23
|
+
== Usage
|
25
24
|
|
26
25
|
Adding a repository location to rup configuration:
|
27
26
|
|
28
|
-
|
27
|
+
$ rup -a REPO_DIR/
|
28
|
+
|
29
|
+
Import a given parent directory with multiple, existing repositories:
|
30
|
+
|
31
|
+
$ rup -i PARENT_DIR/
|
29
32
|
|
30
33
|
List all repositories under rup control:
|
31
34
|
|
32
|
-
|
35
|
+
$ rup -l
|
33
36
|
|
34
37
|
Update all repositories in rup:
|
35
38
|
|
36
|
-
|
39
|
+
$ rup -u
|
40
|
+
|
41
|
+
See
|
42
|
+
|
43
|
+
$ rup -h
|
44
|
+
|
45
|
+
for more options.
|
46
|
+
|
47
|
+
== Problems?
|
48
|
+
|
49
|
+
Problems? Then try following:
|
50
|
+
|
51
|
+
1. File a suport request in RUP's Rubyforge Tracker
|
37
52
|
|
38
|
-
|
53
|
+
2. Drop me a mail at rup@otype.de
|
39
54
|
|
40
55
|
== Copyright
|
41
56
|
|
42
|
-
Copyright (c) 2009
|
57
|
+
Copyright (c) 2009 Otype.de. See LICENSE for details.
|
data/TODO
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
= RUP TODO's
|
2
2
|
|
3
|
+
== Thu Oct 15 16:32:09 CEST 2009
|
4
|
+
- RUP doesn't accept if a trailing slash was not entered (e.g. on removal of a repository
|
5
|
+
from RUP)!
|
6
|
+
|
3
7
|
== Mon May 11 10:17:40 CEST 2009
|
4
8
|
- Make nicer output of 'rup -l'
|
5
9
|
- Create configuration menu for setting up SCM tool paths
|
data/bin/rup
CHANGED
@@ -24,7 +24,7 @@ require 'ostruct'
|
|
24
24
|
# GLOBALS
|
25
25
|
#
|
26
26
|
$COMMAND_NAME = "rup"
|
27
|
-
$VERSION = "0.3.
|
27
|
+
$VERSION = "0.3.3"
|
28
28
|
|
29
29
|
# Required for LibConfig
|
30
30
|
$CONFIGDIR = ENV['HOME'] + "/.rup"
|
@@ -100,7 +100,7 @@ class LibConfig
|
|
100
100
|
conffile = File.open($CONFIGFILE, "a+")
|
101
101
|
conffile.puts(clean_path(path))
|
102
102
|
conffile.close
|
103
|
-
return "[Added repository => \'#{path}\']"
|
103
|
+
return "[ Added repository => \'#{path}\' ]"
|
104
104
|
end
|
105
105
|
|
106
106
|
def self.remove_repo(path)
|
@@ -116,7 +116,7 @@ class LibConfig
|
|
116
116
|
arr.each { |v| newrepos.puts(v) }
|
117
117
|
newrepos.close
|
118
118
|
File.rename(tmpcfg, $CONFIGFILE)
|
119
|
-
return "[Removed repository => \'#{path}\']"
|
119
|
+
return "[ Removed repository => \'#{path}\' ]"
|
120
120
|
end
|
121
121
|
|
122
122
|
def self.import_parent(path)
|
@@ -128,17 +128,35 @@ class LibConfig
|
|
128
128
|
repos = Array.new
|
129
129
|
skipped = Array.new
|
130
130
|
dirs.each { |d| LibSCM.valid_scm?(d) ? (repos << d) : (skipped << d) }
|
131
|
-
repos.each { |r| add_repo(r) }
|
132
131
|
|
133
|
-
|
132
|
+
repos.each do |r|
|
133
|
+
puts "[ Addeded repository => \'#{r}\' ]"
|
134
|
+
add_repo(r)
|
135
|
+
end
|
136
|
+
|
137
|
+
unless skipped.empty?
|
138
|
+
"\n[ Not imported repositories/paths ]" + skipped.join("\n")
|
139
|
+
end
|
134
140
|
end
|
135
141
|
|
136
142
|
def self.list_repos
|
137
143
|
init
|
138
144
|
repos = (File.open($CONFIGFILE, "r")).readlines
|
145
|
+
|
146
|
+
valid_repos = Array.new
|
147
|
+
skipped_repos = Array.new
|
148
|
+
repos.each { |d| LibSCM.valid_scm?(d) ? (skipped_repos << d) : (valid_repos << d) }
|
149
|
+
|
139
150
|
ans = String.new
|
140
|
-
|
141
|
-
|
151
|
+
valid_repos.each { |elem| ans += elem }
|
152
|
+
|
153
|
+
unless skipped_repos.empty?
|
154
|
+
ans += "\n[ Missing repositories ]\n"
|
155
|
+
skipped_repos.each { |elem| ans += elem }
|
156
|
+
ans += "\nPlease check these repositories and remove from rup if not needed.\n"
|
157
|
+
end
|
158
|
+
|
159
|
+
ans.empty? ? "No repositories under RUP control." : "#{ans}"
|
142
160
|
end
|
143
161
|
|
144
162
|
private
|
@@ -189,6 +207,7 @@ class LibSCM
|
|
189
207
|
|
190
208
|
def self.update_repos
|
191
209
|
repos = LibConfig.list_repos.to_a
|
210
|
+
|
192
211
|
repos.each do |r|
|
193
212
|
puts "[ Updating repository => \'#{r.chomp}\']"
|
194
213
|
puts update(r.chomp)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rup
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hans-Gunther Schmidt
|
@@ -10,33 +10,30 @@ bindir: bin
|
|
10
10
|
cert_chain: []
|
11
11
|
|
12
12
|
date: 2009-10-15 00:00:00 +02:00
|
13
|
-
default_executable:
|
13
|
+
default_executable: rup
|
14
14
|
dependencies: []
|
15
15
|
|
16
|
-
description: Manage multiple repositories at different locations
|
16
|
+
description: Manage multiple SCM repositories at different locations of various types (SVN, GIT, REPO) with one simple CLI tool.
|
17
17
|
email: hans@otype.de
|
18
18
|
executables:
|
19
19
|
- rup
|
20
20
|
extensions: []
|
21
21
|
|
22
22
|
extra_rdoc_files:
|
23
|
-
- README
|
24
23
|
- LICENSE
|
24
|
+
- README
|
25
25
|
- TODO
|
26
26
|
files:
|
27
27
|
- LICENSE
|
28
28
|
- README
|
29
29
|
- TODO
|
30
|
-
- Rakefile
|
31
|
-
- bin/rup
|
32
|
-
- lib/status.rb
|
33
30
|
has_rdoc: true
|
34
31
|
homepage: http://rubyforge.org/projects/rup/
|
35
32
|
licenses: []
|
36
33
|
|
37
34
|
post_install_message:
|
38
|
-
rdoc_options:
|
39
|
-
|
35
|
+
rdoc_options:
|
36
|
+
- --charset=UTF-8
|
40
37
|
require_paths:
|
41
38
|
- lib
|
42
39
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -57,6 +54,6 @@ rubyforge_project: rup
|
|
57
54
|
rubygems_version: 1.3.5
|
58
55
|
signing_key:
|
59
56
|
specification_version: 3
|
60
|
-
summary: SCM Repository manager in Ruby
|
57
|
+
summary: SCM Repository manager for SVN, GIT and REPO, made in Ruby
|
61
58
|
test_files: []
|
62
59
|
|
data/Rakefile
DELETED
@@ -1,71 +0,0 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'rake'
|
3
|
-
require 'rake/clean'
|
4
|
-
require 'rake/gempackagetask'
|
5
|
-
require 'rake/rdoctask'
|
6
|
-
require 'rake/testtask'
|
7
|
-
|
8
|
-
|
9
|
-
spec = Gem::Specification.new do |s|
|
10
|
-
s.name = 'rup'
|
11
|
-
s.version = File.open("VERSION", 'r') { |f| f.read.strip }
|
12
|
-
s.homepage = 'http://rubyforge.org/projects/rup/'
|
13
|
-
s.rubyforge_project = s.name
|
14
|
-
s.has_rdoc = true
|
15
|
-
s.extra_rdoc_files = ['README', 'LICENSE', 'TODO']
|
16
|
-
s.description = 'Manage multiple repositories at different locations from common SCM tool type as SVN, GIT, REPO with one simple CLI tool.'
|
17
|
-
s.summary = 'SCM Repository manager in Ruby'
|
18
|
-
s.author = 'Hans-Gunther Schmidt'
|
19
|
-
s.email = 'hans@otype.de'
|
20
|
-
s.executables = ['rup']
|
21
|
-
s.files = %w(LICENSE README TODO Rakefile) + Dir.glob("{bin,lib,spec}/**/*")
|
22
|
-
s.require_path = "lib"
|
23
|
-
s.bindir = "bin"
|
24
|
-
end
|
25
|
-
|
26
|
-
begin
|
27
|
-
require 'jeweler'
|
28
|
-
Jeweler::Tasks.new do |gem|
|
29
|
-
gem.name = spec.name
|
30
|
-
gem.summary = spec.summary
|
31
|
-
gem.description = spec.description
|
32
|
-
gem.email = spec.email
|
33
|
-
gem.rubyforge_project = spec.name
|
34
|
-
gem.authors = [spec.author]
|
35
|
-
gem.extra_rdoc_files = spec.extra_rdoc_files
|
36
|
-
gem.executables = ['rup']
|
37
|
-
gem.homepage = spec.homepage
|
38
|
-
#gem.rubyforge_project = 'http://rubyforge.org/projects/rup/'
|
39
|
-
#gem.homepage = "http://github.com/otype/rup"
|
40
|
-
#gem.add_development_dependency "thoughtbot-shoulda"
|
41
|
-
|
42
|
-
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
43
|
-
end
|
44
|
-
|
45
|
-
Jeweler::GemcutterTasks.new
|
46
|
-
|
47
|
-
Jeweler::RubyforgeTasks.new do |rubyforge|
|
48
|
-
rubyforge.doc_task = "rdoc"
|
49
|
-
end
|
50
|
-
rescue LoadError
|
51
|
-
puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
|
52
|
-
end
|
53
|
-
|
54
|
-
Rake::GemPackageTask.new(spec) do |p|
|
55
|
-
p.gem_spec = spec
|
56
|
-
p.need_tar = true
|
57
|
-
p.need_zip = true
|
58
|
-
end
|
59
|
-
|
60
|
-
Rake::RDocTask.new do |rdoc|
|
61
|
-
files =['README', 'LICENSE', 'TODO', 'lib/**/*.rb']
|
62
|
-
rdoc.rdoc_files.add(files)
|
63
|
-
rdoc.main = "README" # page to start on
|
64
|
-
rdoc.title = "Rup Docs"
|
65
|
-
rdoc.rdoc_dir = 'doc/rdoc' # rdoc output folder
|
66
|
-
rdoc.options << '--line-numbers'
|
67
|
-
end
|
68
|
-
|
69
|
-
Rake::TestTask.new do |t|
|
70
|
-
t.test_files = FileList['test/**/*.rb']
|
71
|
-
end
|
data/lib/status.rb
DELETED