svn2git 2.1.0 → 2.1.2

Sign up to get free protection for your applications and to get access to all the features.
data/ChangeLog.markdown CHANGED
@@ -1,3 +1,13 @@
1
+ # 2.1.2 - 2011-12-28
2
+
3
+ * Fixed a regression in improperly quoting branch names (thanks ziangsong)
4
+
5
+ # 2.1.1 - 2011-12-27
6
+
7
+ * Fixed SVN branch detection (thanks thinkerbot)
8
+ * Stop processing when a git subprocess fails (thanks thinkerbot)
9
+ * Fixed an issue with SVN branches containing shell special characters (thanks sleicht)
10
+
1
11
  # 2.1.0 - 2011-04-03
2
12
 
3
13
  Thanks to Francois Rey (fmjrey), Sven Axelsson (svenax), and Julian Taylor (juliantaylor) for submitting all the patches
data/README.markdown CHANGED
@@ -64,12 +64,16 @@ the svn repo.
64
64
  Installation
65
65
  ------------
66
66
 
67
- Make sure you have git, ruby and rubygems installed, then install the gem:
67
+ Make sure you have git, git-svn, and ruby installed. svn2git is a ruby wrapper around git's native SVN support through git-svn. It is possible to have git
68
+ installed without git-svn installed, so please do verify that you can run `$ git svn` successfully. For a Debian-based system, the installation of the
69
+ prerequisites would like like:
68
70
 
69
71
  $ sudo apt-get install git-core git-svn ruby rubygems
70
- $ sudo gem install svn2git --source http://gemcutter.org
71
-
72
- *NB: Previous versions of the gem could be installed from GitHub as nirvdrum-svn2git. You can install that gem via `$ sudo gem install nirvdrum-svn2git --source http://gems.github.com`, but the nirvdrum-svn2git gem will no longer be updated. Please use the one hosted on gemcutter.*
72
+
73
+ Once you have the necessary software your system, you can install svn2git through rubygems, which will add the `svn2git` command to your PATH.
74
+
75
+ $ sudo gem install svn2git
76
+
73
77
 
74
78
  Usage
75
79
  -----
@@ -204,7 +208,7 @@ FAQ
204
208
 
205
209
  If we were to reference the parent of this svn tagged commit there could
206
210
  potentially be situations where a developer would checkout a tag in git
207
- and the resulting code base would be different then if they checked out
211
+ and the resulting code base would be different than if they checked out
208
212
  that very same tag in the original svn repo. This is only due to the fact
209
213
  that the svn tags allow changesets in them, making them not just annotated
210
214
  tags.
data/VERSION.yml CHANGED
@@ -1,5 +1,5 @@
1
- ---
2
- :patch: 0
3
- :build:
1
+ ---
4
2
  :major: 2
5
3
  :minor: 1
4
+ :patch: 2
5
+ :build: !!null
@@ -178,7 +178,7 @@ module Svn2Git
178
178
  run_command(cmd)
179
179
  end
180
180
 
181
- run_command("git config svn.authorsfile #{authors}") unless authors.nil?
181
+ run_command("git config --local svn.authorsfile #{authors}") unless authors.nil?
182
182
 
183
183
  cmd = "git svn fetch "
184
184
  cmd += "-r #{revision}:HEAD " unless revision.nil?
@@ -224,8 +224,8 @@ module Svn2Git
224
224
  end
225
225
 
226
226
  def fix_branches
227
- svn_branches = @remote.find_all { |b| not @tags.include?(b) }
228
- svn_branches = @remote.find_all { |b| b.strip =~ %r{^svn\/} }
227
+ svn_branches = @remote - @tags
228
+ svn_branches.delete_if { |b| b.strip !~ %r{^svn\/} }
229
229
 
230
230
  if @options[:rebase]
231
231
  run_command("git svn fetch")
@@ -236,14 +236,14 @@ module Svn2Git
236
236
  if @options[:rebase] && (@local.include?(branch) || branch == 'trunk')
237
237
  lbranch = branch
238
238
  lbranch = 'master' if branch == 'trunk'
239
- run_command("git checkout -f #{lbranch}")
240
- run_command("git rebase remotes/svn/#{branch}")
239
+ run_command("git checkout -f \"#{lbranch}\"")
240
+ run_command("git rebase \"remotes/svn/#{branch}\"")
241
241
  next
242
242
  end
243
243
 
244
244
  next if branch == 'trunk' || @local.include?(branch)
245
- run_command("git branch --track #{branch} remotes/svn/#{branch}")
246
- run_command("git checkout #{branch}")
245
+ run_command("git branch --track \"#{branch}\" \"remotes/svn/#{branch}\"")
246
+ run_command("git checkout \"#{branch}\"")
247
247
  end
248
248
  end
249
249
 
@@ -267,6 +267,7 @@ module Svn2Git
267
267
 
268
268
  ret = ''
269
269
 
270
+ cmd = "2>&1 #{cmd}"
270
271
  IO.popen(cmd) do |stdout|
271
272
  stdout.each do |line|
272
273
  log line
@@ -274,6 +275,11 @@ module Svn2Git
274
275
  end
275
276
  end
276
277
 
278
+ unless $?.exitstatus == 0
279
+ $stderr.puts "command failed:\n#{cmd}"
280
+ exit -1
281
+ end
282
+
277
283
  ret
278
284
  end
279
285
 
data/svn2git.gemspec CHANGED
@@ -4,14 +4,13 @@
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = %q{svn2git}
8
- s.version = "2.1.0"
7
+ s.name = "svn2git"
8
+ s.version = "2.1.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["James Coglan", "Kevin Menard"]
12
- s.date = %q{2011-04-03}
13
- s.default_executable = %q{svn2git}
14
- s.email = %q{nirvdrum@gmail.com}
12
+ s.date = "2011-12-28"
13
+ s.email = "nirvdrum@gmail.com"
15
14
  s.executables = ["svn2git"]
16
15
  s.extra_rdoc_files = [
17
16
  "ChangeLog.markdown",
@@ -29,10 +28,10 @@ Gem::Specification.new do |s|
29
28
  "lib/svn2git/migration.rb",
30
29
  "svn2git.gemspec"
31
30
  ]
32
- s.homepage = %q{https://www.negativetwenty.net/redmine/projects/svn2git}
31
+ s.homepage = "https://www.negativetwenty.net/redmine/projects/svn2git"
33
32
  s.require_paths = ["lib"]
34
- s.rubygems_version = %q{1.5.3}
35
- s.summary = %q{A tool for migrating svn projects to git}
33
+ s.rubygems_version = "1.8.13"
34
+ s.summary = "A tool for migrating svn projects to git"
36
35
 
37
36
  if s.respond_to? :specification_version then
38
37
  s.specification_version = 3
metadata CHANGED
@@ -1,35 +1,26 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: svn2git
3
- version: !ruby/object:Gem::Version
4
- hash: 11
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.1.2
5
5
  prerelease:
6
- segments:
7
- - 2
8
- - 1
9
- - 0
10
- version: 2.1.0
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - James Coglan
14
9
  - Kevin Menard
15
10
  autorequire:
16
11
  bindir: bin
17
12
  cert_chain: []
18
-
19
- date: 2011-04-03 00:00:00 -04:00
20
- default_executable: svn2git
13
+ date: 2011-12-28 00:00:00.000000000Z
21
14
  dependencies: []
22
-
23
15
  description:
24
16
  email: nirvdrum@gmail.com
25
- executables:
17
+ executables:
26
18
  - svn2git
27
19
  extensions: []
28
-
29
- extra_rdoc_files:
20
+ extra_rdoc_files:
30
21
  - ChangeLog.markdown
31
22
  - README.markdown
32
- files:
23
+ files:
33
24
  - ChangeLog.markdown
34
25
  - MIT-LICENSE
35
26
  - README.markdown
@@ -40,39 +31,28 @@ files:
40
31
  - lib/svn2git/blah.rb
41
32
  - lib/svn2git/migration.rb
42
33
  - svn2git.gemspec
43
- has_rdoc: true
44
34
  homepage: https://www.negativetwenty.net/redmine/projects/svn2git
45
35
  licenses: []
46
-
47
36
  post_install_message:
48
37
  rdoc_options: []
49
-
50
- require_paths:
38
+ require_paths:
51
39
  - lib
52
- required_ruby_version: !ruby/object:Gem::Requirement
40
+ required_ruby_version: !ruby/object:Gem::Requirement
53
41
  none: false
54
- requirements:
55
- - - ">="
56
- - !ruby/object:Gem::Version
57
- hash: 3
58
- segments:
59
- - 0
60
- version: "0"
61
- required_rubygems_version: !ruby/object:Gem::Requirement
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ required_rubygems_version: !ruby/object:Gem::Requirement
62
47
  none: false
63
- requirements:
64
- - - ">="
65
- - !ruby/object:Gem::Version
66
- hash: 3
67
- segments:
68
- - 0
69
- version: "0"
48
+ requirements:
49
+ - - ! '>='
50
+ - !ruby/object:Gem::Version
51
+ version: '0'
70
52
  requirements: []
71
-
72
53
  rubyforge_project:
73
- rubygems_version: 1.5.3
54
+ rubygems_version: 1.8.13
74
55
  signing_key:
75
56
  specification_version: 3
76
57
  summary: A tool for migrating svn projects to git
77
58
  test_files: []
78
-