mercurial-ruby 0.7.8 → 0.7.9
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/Gemfile.lock +3 -1
- data/VERSION +1 -1
- data/lib/mercurial-ruby.rb +1 -1
- data/lib/mercurial-ruby/diff.rb +6 -1
- data/lib/mercurial-ruby/manifest.rb +6 -2
- data/mercurial-ruby.gemspec +3 -2
- data/test/fixtures/diff_sample3.diff +12 -0
- data/test/fixtures/test-repo.zip +0 -0
- data/test/helper.rb +2 -2
- data/test/test_branch_factory.rb +2 -2
- data/test/test_commit_factory.rb +3 -3
- data/test/test_diff.rb +9 -1
- data/test/test_diff_factory.rb +9 -0
- data/test/test_file_index.rb +1 -1
- data/test/test_manifest.rb +12 -0
- data/test/test_node.rb +8 -1
- metadata +5 -4
data/Gemfile.lock
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.7.
|
1
|
+
0.7.9
|
data/lib/mercurial-ruby.rb
CHANGED
data/lib/mercurial-ruby/diff.rb
CHANGED
@@ -31,6 +31,11 @@ module Mercurial
|
|
31
31
|
@file_b = opts[:file_b]
|
32
32
|
@body = opts[:body]
|
33
33
|
@binary = opts[:binary]
|
34
|
+
|
35
|
+
if RUBY_VERSION >= '1.9.1'
|
36
|
+
@file_a.force_encoding('utf-8') if @file_a
|
37
|
+
@file_b.force_encoding('utf-8') if @file_b
|
38
|
+
end
|
34
39
|
end
|
35
40
|
|
36
41
|
def file_name
|
@@ -43,4 +48,4 @@ module Mercurial
|
|
43
48
|
|
44
49
|
end
|
45
50
|
|
46
|
-
end
|
51
|
+
end
|
@@ -26,7 +26,11 @@ module Mercurial
|
|
26
26
|
#
|
27
27
|
def contents(revision=nil, cmd_options={})
|
28
28
|
revision ||= 'tip'
|
29
|
-
hg(manifest_cmd(revision), cmd_options)
|
29
|
+
hg(manifest_cmd(revision), cmd_options).tap do |res|
|
30
|
+
if RUBY_VERSION >= '1.9.1'
|
31
|
+
res.force_encoding('utf-8')
|
32
|
+
end
|
33
|
+
end
|
30
34
|
end
|
31
35
|
|
32
36
|
# Returns an array of file paths from manifest that start with the specified +path+ at a specified +revision+.
|
@@ -55,4 +59,4 @@ module Mercurial
|
|
55
59
|
end
|
56
60
|
end
|
57
61
|
|
58
|
-
end
|
62
|
+
end
|
data/mercurial-ruby.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{mercurial-ruby}
|
8
|
-
s.version = "0.7.
|
8
|
+
s.version = "0.7.9"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Ilya Sabanin"]
|
12
|
-
s.date = %q{2013-
|
12
|
+
s.date = %q{2013-04-14}
|
13
13
|
s.description = %q{Ruby API for Mercurial DVCS.}
|
14
14
|
s.email = %q{ilya.sabanin@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -57,6 +57,7 @@ Gem::Specification.new do |s|
|
|
57
57
|
"lib/styles/file_index.style",
|
58
58
|
"mercurial-ruby.gemspec",
|
59
59
|
"test/fixtures.rb",
|
60
|
+
"test/fixtures/diff_sample3.diff",
|
60
61
|
"test/fixtures/test-repo.zip",
|
61
62
|
"test/helper.rb",
|
62
63
|
"test/test_blame.rb",
|
@@ -0,0 +1,12 @@
|
|
1
|
+
--- a/кодировки/виндоуз-cp1251-lf Sun Apr 14 15:10:42 2013 -0400
|
2
|
+
+++ b/кодировки/виндоуз-cp1251-lf Sun Apr 14 15:32:30 2013 -0400
|
3
|
+
@@ -1,6 +1,6 @@
|
4
|
+
-����� ��� 10 ������ �������� �� ���� �������� ���������� ��� �����������
|
5
|
+
+����� ��� 11 ������ �������� �� ���� �������� ���������� ��� �����������
|
6
|
+
����� ������, ���������� � ������������ ���������� REI, ������� ����������
|
7
|
+
�������� ���������� �������. �� ����� �������� ���������� ��� ����� ������
|
8
|
+
-������� ���� ��������, ������� ���������� ������������ � 2009 ����.
|
9
|
+
+������� ����� ��������, ������� ���������� ������������ � 2009 ����.
|
10
|
+
|
11
|
+
Windows CP1251 LF
|
12
|
+
|
data/test/fixtures/test-repo.zip
CHANGED
Binary file
|
data/test/helper.rb
CHANGED
@@ -9,8 +9,8 @@ rescue Bundler::BundlerError => e
|
|
9
9
|
exit e.status_code
|
10
10
|
end
|
11
11
|
|
12
|
-
require "mocha"
|
13
12
|
require "minitest/autorun"
|
13
|
+
require "mocha/api"
|
14
14
|
|
15
15
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
16
16
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
@@ -49,4 +49,4 @@ end
|
|
49
49
|
|
50
50
|
MiniTest::Unit.after_tests { erase_fixture_repository }
|
51
51
|
|
52
|
-
MiniTest::Unit.autorun
|
52
|
+
MiniTest::Unit.autorun
|
data/test/test_branch_factory.rb
CHANGED
@@ -52,7 +52,7 @@ describe Mercurial::BranchFactory do
|
|
52
52
|
|
53
53
|
it "should find branch's full hash_id" do
|
54
54
|
branch = @repository.branches.all.first
|
55
|
-
branch.hash_id.must_equal '
|
55
|
+
branch.hash_id.must_equal '2b03a87dbf4cb1a95b2417d8e2eac801c450b624'
|
56
56
|
end
|
57
57
|
|
58
|
-
end
|
58
|
+
end
|
data/test/test_commit_factory.rb
CHANGED
@@ -8,8 +8,8 @@ describe Mercurial::CommitFactory do
|
|
8
8
|
|
9
9
|
it "should find commits after specific revision" do
|
10
10
|
commits = @repository.commits.after('2d32410d9629')
|
11
|
-
commits.size.must_equal
|
12
|
-
commits.map(&:hash_id).must_equal %w(88b5cc7860153671b0d3aa3c16d01ecad987490e 57a6efe309bfa6c8054084de8c26490fca8a6104 f67625ea8586cd5c4d43c883a273db3ef7f38716 9f76ea916c5100bf61f533c33a6aa9f22532d526 b6f6f764b939fc4be234574010247d40c683c322 e47455b9a2383085b400d649af4360b943c6d3cf)
|
11
|
+
commits.size.must_equal 8
|
12
|
+
commits.map(&:hash_id).must_equal %w(88b5cc7860153671b0d3aa3c16d01ecad987490e 57a6efe309bfa6c8054084de8c26490fca8a6104 f67625ea8586cd5c4d43c883a273db3ef7f38716 9f76ea916c5100bf61f533c33a6aa9f22532d526 b6f6f764b939fc4be234574010247d40c683c322 e47455b9a2383085b400d649af4360b943c6d3cf fe021a290ba17217a083a8059db9a4f3568ee619 2b03a87dbf4cb1a95b2417d8e2eac801c450b624)
|
13
13
|
end
|
14
14
|
|
15
15
|
it "should find commits before specific revision" do
|
@@ -82,7 +82,7 @@ describe Mercurial::CommitFactory do
|
|
82
82
|
|
83
83
|
it "should count commits" do
|
84
84
|
count = @repository.commits.count
|
85
|
-
count.must_equal
|
85
|
+
count.must_equal 44
|
86
86
|
end
|
87
87
|
|
88
88
|
it "should count range of commits" do
|
data/test/test_diff.rb
CHANGED
@@ -21,6 +21,14 @@ describe Mercurial::Diff do
|
|
21
21
|
it "should have body" do
|
22
22
|
@diff.body.strip.must_equal expected_diff.strip
|
23
23
|
end
|
24
|
+
|
25
|
+
if RUBY_VERSION >= '1.9.1'
|
26
|
+
it "should return file names in UTF-8 encoding in Ruby 1.9.1 and higher" do
|
27
|
+
diff = @repository.diffs.for_path('кодировки/виндоуз-cp1251-lf', 'fe021a290ba1', '2b03a87dbf4c')
|
28
|
+
diff.file_a.encoding.to_s.downcase.must_equal 'utf-8'
|
29
|
+
diff.file_b.encoding.to_s.downcase.must_equal 'utf-8'
|
30
|
+
end
|
31
|
+
end
|
24
32
|
|
25
33
|
private
|
26
34
|
|
@@ -36,4 +44,4 @@ private
|
|
36
44
|
require 'bundler']
|
37
45
|
end
|
38
46
|
|
39
|
-
end
|
47
|
+
end
|
data/test/test_diff_factory.rb
CHANGED
@@ -49,6 +49,11 @@ describe Mercurial::DiffFactory do
|
|
49
49
|
diff = @repository.diffs.for_path('superman.txt', 'b6f6f764b939', 'e47455b9a238', :ignore_whitespace => true)
|
50
50
|
diff.body.must_equal diff_sample_2
|
51
51
|
end
|
52
|
+
|
53
|
+
it "should handle files with unicode names" do
|
54
|
+
diff = @repository.diffs.for_path('кодировки/виндоуз-cp1251-lf', 'fe021a290ba1', '2b03a87dbf4c')
|
55
|
+
diff.body.must_equal diff_sample3
|
56
|
+
end
|
52
57
|
|
53
58
|
private
|
54
59
|
|
@@ -90,5 +95,9 @@ private
|
|
90
95
|
This is a superman file.
|
91
96
|
]
|
92
97
|
end
|
98
|
+
|
99
|
+
def diff_sample3
|
100
|
+
File.open(File.join(File.dirname(__FILE__), '', 'fixtures', 'diff_sample3.diff'), 'rb'){|f| f.read}
|
101
|
+
end
|
93
102
|
|
94
103
|
end
|
data/test/test_file_index.rb
CHANGED
data/test/test_manifest.rb
CHANGED
@@ -35,5 +35,17 @@ describe Mercurial::Manifest do
|
|
35
35
|
paths = @manifest.scan_for_path('check \ this \ out " now', '2d32410d9629')
|
36
36
|
paths.size.must_equal 1
|
37
37
|
end
|
38
|
+
|
39
|
+
it "should find unicode paths" do
|
40
|
+
paths = @manifest.scan_for_path('кодировки/виндоуз-cp1251-lf', 'fe021a290ba1')
|
41
|
+
paths.size.must_equal 1
|
42
|
+
paths[0].last.must_equal 'кодировки/виндоуз-cp1251-lf'
|
43
|
+
end
|
44
|
+
|
45
|
+
if RUBY_VERSION >= '1.9.1'
|
46
|
+
it "should return contents in UTF-8 encoding on Ruby 1.9.1 and higher" do
|
47
|
+
@manifest.contents.encoding.to_s.downcase.must_equal('utf-8')
|
48
|
+
end
|
49
|
+
end
|
38
50
|
|
39
51
|
end
|
data/test/test_node.rb
CHANGED
@@ -30,5 +30,12 @@ describe Mercurial::Node do
|
|
30
30
|
node = @repository.nodes.find('File With Whitespace.pdf', '8ddac5f6380e')
|
31
31
|
node.contents.must_equal ''
|
32
32
|
end
|
33
|
+
|
34
|
+
if RUBY_VERSION >= '1.9.1'
|
35
|
+
it "should return name in UTF-8 encoding on Ruby 1.9.1 and higher" do
|
36
|
+
node = @repository.nodes.find('кодировки/виндоуз-cp1251-lf', 'fe021a290ba1')
|
37
|
+
node.name.encoding.to_s.downcase.must_equal 'utf-8'
|
38
|
+
end
|
39
|
+
end
|
33
40
|
|
34
|
-
end
|
41
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mercurial-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 17
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 7
|
9
|
-
-
|
10
|
-
version: 0.7.
|
9
|
+
- 9
|
10
|
+
version: 0.7.9
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Ilya Sabanin
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2013-
|
18
|
+
date: 2013-04-14 00:00:00 -04:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -140,6 +140,7 @@ files:
|
|
140
140
|
- lib/styles/file_index.style
|
141
141
|
- mercurial-ruby.gemspec
|
142
142
|
- test/fixtures.rb
|
143
|
+
- test/fixtures/diff_sample3.diff
|
143
144
|
- test/fixtures/test-repo.zip
|
144
145
|
- test/helper.rb
|
145
146
|
- test/test_blame.rb
|