rup 0.3.2 → 0.3.3
Sign up to get free protection for your applications and to get access to all the features.
- 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