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.
Files changed (7) hide show
  1. data/LICENSE +1 -1
  2. data/README +35 -20
  3. data/TODO +4 -0
  4. data/bin/rup +26 -7
  5. metadata +7 -10
  6. data/Rakefile +0 -71
  7. data/lib/status.rb +0 -3
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (C) 2009 Otype.net
1
+ Copyright (C) 2009 Otype.de
2
2
 
3
3
  Licensed under the Apache License, Version 2.0 (the "License");
4
4
  you may not use this file except in compliance with the License.
data/README CHANGED
@@ -1,42 +1,57 @@
1
- == Rup
1
+ = RUP - Repository Updater
2
2
 
3
- === Install
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
- /usr/bin
7
- /usr/local/bin
8
- /opt/local/bin
5
+ RUP is available via Gemcutter!
9
6
 
10
- or any other bin directory that is available via your
11
- PATH variable.
7
+ == Requirements
12
8
 
13
- Make sure that "rup" has execute permissions:
9
+ RUP works with Subversion, GIT and Repo. It requires all these tools to be available via your PATH variable.
14
10
 
15
- $ chmod u+x <rup_dir>/rup
11
+ == Installation
16
12
 
17
- === Required
18
- RUP works with Subversion, GIT and Repo.
13
+ === Via Rubyforge:
19
14
 
20
- It requires all these tools to be available via PATH variable.
15
+ $ gem install rup
21
16
 
22
- === Usage
17
+ === Via Gemcutter:
23
18
 
24
- Simply run "rup -h" to see the help page.
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
- $ rup -a <repo_dir>
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
- $ rup -l
35
+ $ rup -l
33
36
 
34
37
  Update all repositories in rup:
35
38
 
36
- $ rup -u
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
- See "rup -h" for more options.
53
+ 2. Drop me a mail at rup@otype.de
39
54
 
40
55
  == Copyright
41
56
 
42
- Copyright (c) 2009 Hans-Gunther Schmidt. See LICENSE for details.
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.1"
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
- "[Parent paths imported ]" + "\n\n[ Skipped ]\n" + skipped.join("\n")
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
- repos.each { |elem| ans += elem }
141
- ans.empty? ? "No repositories under RUP control." : ans
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.2
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 from common SCM tool type as SVN, GIT, REPO with one simple CLI tool.
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
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- puts "Test"