ohloh_scm 2.1.0 → 2.2.0

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 (65) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +9 -1
  3. data/{.install_dependencies.sh → .travis/.install_dependencies.sh} +0 -0
  4. data/.travis/.install_multiple_scms.sh +5 -0
  5. data/.travis/.travis_ssh_setup.sh +3 -0
  6. data/README.md +1 -1
  7. data/lib/ohloh_scm/adapters/bzr/misc.rb +8 -1
  8. data/lib/ohloh_scm/adapters/cvs/misc.rb +12 -0
  9. data/lib/ohloh_scm/adapters/git/misc.rb +9 -0
  10. data/lib/ohloh_scm/adapters/hg/cat_file.rb +3 -1
  11. data/lib/ohloh_scm/adapters/hg/commits.rb +24 -18
  12. data/lib/ohloh_scm/adapters/hg/head.rb +2 -1
  13. data/lib/ohloh_scm/adapters/hg/misc.rb +9 -0
  14. data/lib/ohloh_scm/adapters/hg/pull.rb +2 -1
  15. data/lib/ohloh_scm/adapters/hglib_adapter.rb +1 -1
  16. data/lib/ohloh_scm/adapters/svn/misc.rb +24 -0
  17. data/lib/ohloh_scm/version.rb +1 -1
  18. data/test/repositories/bzr/.bzr/branch/tags +1 -0
  19. data/test/repositories/git.tgz +0 -0
  20. data/test/repositories/hg.tgz +0 -0
  21. data/test/repositories/hg_walk.tgz +0 -0
  22. data/test/test_helper.rb +8 -8
  23. data/test/unit/bzr_misc_test.rb +7 -1
  24. data/test/unit/cvs_commits_test.rb +11 -11
  25. data/test/unit/cvs_misc_test.rb +16 -0
  26. data/test/unit/git_commits_test.rb +14 -0
  27. data/test/unit/git_misc_test.rb +8 -1
  28. data/test/unit/git_push_test.rb +1 -2
  29. data/test/unit/hg_cat_file_test.rb +1 -1
  30. data/test/unit/hg_commits_test.rb +52 -16
  31. data/test/unit/hg_head_test.rb +9 -3
  32. data/test/unit/hg_misc_test.rb +8 -2
  33. data/test/unit/hg_parser_test.rb +19 -19
  34. data/test/unit/hglib_cat_file_test.rb +1 -1
  35. data/test/unit/hglib_head_test.rb +3 -3
  36. data/test/unit/shellout_test.rb +1 -0
  37. data/test/unit/svn_misc_test.rb +30 -0
  38. metadata +9 -61
  39. data/test/repositories/hg/.hg/00changelog.i +0 -0
  40. data/test/repositories/hg/.hg/branch +0 -1
  41. data/test/repositories/hg/.hg/dirstate +0 -0
  42. data/test/repositories/hg/.hg/requires +0 -2
  43. data/test/repositories/hg/.hg/store/00changelog.i +0 -0
  44. data/test/repositories/hg/.hg/store/00manifest.i +0 -0
  45. data/test/repositories/hg/.hg/store/data/_r_e_a_d_m_e.i +0 -0
  46. data/test/repositories/hg/.hg/store/data/helloworld.c.i +0 -0
  47. data/test/repositories/hg/.hg/store/data/makefile.i +0 -0
  48. data/test/repositories/hg/.hg/store/fncache +0 -3
  49. data/test/repositories/hg/.hg/store/undo +0 -0
  50. data/test/repositories/hg/.hg/undo.branch +0 -1
  51. data/test/repositories/hg/.hg/undo.dirstate +0 -0
  52. data/test/repositories/hg_walk/.hg/00changelog.i +0 -0
  53. data/test/repositories/hg_walk/.hg/branch +0 -1
  54. data/test/repositories/hg_walk/.hg/dirstate +0 -0
  55. data/test/repositories/hg_walk/.hg/merge/69e27356ef629022720d868ab0c0e3394775b6c1 +0 -1
  56. data/test/repositories/hg_walk/.hg/merge/state +0 -0
  57. data/test/repositories/hg_walk/.hg/requires +0 -2
  58. data/test/repositories/hg_walk/.hg/store/00changelog.i +0 -0
  59. data/test/repositories/hg_walk/.hg/store/00manifest.i +0 -0
  60. data/test/repositories/hg_walk/.hg/store/data/_r_e_a_d_m_e.i +0 -0
  61. data/test/repositories/hg_walk/.hg/store/fncache +0 -1
  62. data/test/repositories/hg_walk/.hg/store/undo +0 -0
  63. data/test/repositories/hg_walk/.hg/undo.branch +0 -1
  64. data/test/repositories/hg_walk/.hg/undo.dirstate +0 -0
  65. data/test/repositories/hg_walk/README +0 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 60fae1479971d5e93adf67edcc4d4154de583112
4
- data.tar.gz: e2a25ad7fdef67f35d47bc54d016742333118d6f
3
+ metadata.gz: 1b611998a903a8fc19bcd5c5c8ac58b88b78f97c
4
+ data.tar.gz: 7610da542ca2bf2859f08dff8a7e4842cb9e5af3
5
5
  SHA512:
6
- metadata.gz: 573bb4c5bd6147adc78776530a0941b63ea704afa2374462d0ee1249beb35b035195d1c7c7fdfc702a2cfc190ece8cccb9374eab33c3b5ec7165eae7d3dc4017
7
- data.tar.gz: b7c2f9f4a4140b2825529a5b14c341aba1efef8e9b33dde80755dfd1f67bd93f5aed752a5b1e8e37e4dde3568681acce68573bede3f600c4367cb866ac1646c5
6
+ metadata.gz: d49ff7154ab7cd57946340d3dc02fda710f217f6ae25ec52217d13c4afa57f3675a6b66e26530d8071c9998a7fc781b44d4f82c2569775624ad7a632a1059b1d
7
+ data.tar.gz: 51804d1969aeea498e40e63f770b476db01eed438127c6b44b1b6484e916c9e6ab0ee4fca39f56521be41c9de67d3782c5e1c265cbe3aad8cdba5a4ca8608131
data/.travis.yml CHANGED
@@ -1,4 +1,12 @@
1
1
  language: ruby
2
+ env:
3
+ - TRAVIS_CONFIG_DIR=.travis
4
+ before_install:
5
+ - cd $TRAVIS_CONFIG_DIR
6
+ - sh .travis_ssh_setup.sh
2
7
  install:
3
- - gem install posix-spawn
8
+ - sh .install_multiple_scms.sh
4
9
  - sh .install_dependencies.sh
10
+ - gem install posix-spawn
11
+ before_script:
12
+ - cd $TRAVIS_BUILD_DIR
@@ -0,0 +1,5 @@
1
+ sudo sh -c 'echo "deb http://opensource.wandisco.com/ubuntu precise svn18" >> /etc/apt/sources.list.d/subversion18.list'
2
+ sudo wget -q http://opensource.wandisco.com/wandisco-debian.gpg -O- | sudo apt-key add -
3
+ sudo apt-get update
4
+ sudo apt-get install -y subversion cvs bzr mercurial
5
+ sudo ln -s /usr/bin/cvs /usr/bin/cvsnt
@@ -0,0 +1,3 @@
1
+ ssh-keygen -t rsa -f ~/.ssh/id_rsa -N "" -q
2
+ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
3
+ ssh-keyscan -t rsa `hostname` >> ~/.ssh/known_hosts
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- [![Ohloh SCM on Ohloh](https://www.ohloh.net/p/ohloh_scm/widgets/project_partner_badge.gif)](https://www.ohloh.net/p/ohloh_scm)
1
+ [![Ohloh SCM on Ohloh](https://www.ohloh.net/p/ohloh_scm/widgets/project_partner_badge.gif)](https://www.ohloh.net/p/ohloh_scm) [![Build Status](https://travis-ci.org/blackducksoftware/ohloh_scm.svg?branch=master)](https://travis-ci.org/blackducksoftware/ohloh_scm)
2
2
 
3
3
  # Ohloh SCM
4
4
 
@@ -10,7 +10,7 @@ module OhlohScm::Adapters
10
10
  end
11
11
 
12
12
  def ls_tree(token)
13
- run("cd #{path} && bzr ls -V -r #{to_rev_param(token)}").split("\n")
13
+ run("cd #{path} && bzr ls -V -r #{to_rev_param(token)}").split("\n")
14
14
  end
15
15
 
16
16
  def to_rev_param(r=nil)
@@ -38,5 +38,12 @@ module OhlohScm::Adapters
38
38
 
39
39
  run "cd '#{url}' && bzr export --format=dir -r #{to_rev_param(token)} '#{dest_dir}'"
40
40
  end
41
+
42
+ def tags
43
+ tag_strings = run("cd '#{url}' && bzr tags").split(/\n/)
44
+ tag_strings.map do |tag_string|
45
+ tag_string.split(/\s+/)
46
+ end
47
+ end
41
48
  end
42
49
  end
@@ -70,6 +70,10 @@ module OhlohScm::Adapters
70
70
  run "cvsnt -d #{self.url} rlog #{opt_branch} #{opt_time(most_recent_token)} '#{self.module_name}' | #{ string_encoder }"
71
71
  end
72
72
 
73
+ def export_tag(dest_dir, tag_name = 'HEAD')
74
+ run "cvsnt -d #{self.url} export -d'#{dest_dir}' -r #{tag_name} '#{self.module_name}'"
75
+ end
76
+
73
77
  def checkout(r, local_directory)
74
78
  opt_D = r.token ? "-D'#{r.token}Z'" : ""
75
79
 
@@ -187,5 +191,13 @@ module OhlohScm::Adapters
187
191
  stdout, stderr = run_with_err(cmd)
188
192
  end
189
193
  end
194
+
195
+ def tags
196
+ tag_strings = run("cvs -Q -d #{ url } rlog -h #{ module_name } | awk -F\"[.:]\" '/^\\t/&&$(NF-1)!=0'").split(/\n/)
197
+ tag_strings.map do |tag_string|
198
+ tag_name, version = tag_string.split(':')
199
+ [tag_name.gsub(/\t/, ''), version.strip]
200
+ end
201
+ end
190
202
  end
191
203
  end
@@ -69,5 +69,14 @@ module OhlohScm::Adapters
69
69
  def is_merge_commit?(commit)
70
70
  parent_tokens(commit).size > 1
71
71
  end
72
+
73
+ def tags
74
+ tag_strings = run("cd #{url} && git show-ref --tags").split(/\n/)
75
+ tag_strings.map do |tag_string|
76
+ commit_hash, tag_path = tag_string.split(/\s/)
77
+ tag_name = tag_path.gsub('refs/tags/', '')
78
+ [tag_name, commit_hash]
79
+ end
80
+ end
72
81
  end
73
82
  end
@@ -1,3 +1,5 @@
1
+ require 'shellwords'
2
+
1
3
  module OhlohScm::Adapters
2
4
  class HgAdapter < AbstractAdapter
3
5
  def cat_file(commit, diff)
@@ -20,7 +22,7 @@ module OhlohScm::Adapters
20
22
  # Example:
21
23
  # "Foo Bar & Baz" => "Foo\ Bar\ \&\ Baz"
22
24
  def escape(path)
23
- path.gsub(/[ `'"&()<>|#\$]/) { |c| '\\' + c }
25
+ path.shellescape
24
26
  end
25
27
  end
26
28
  end
@@ -8,13 +8,11 @@ module OhlohScm::Adapters
8
8
 
9
9
  # Return the list of commit tokens following +after+.
10
10
  def commit_tokens(opts={})
11
- after = opts[:after] || 0
12
- up_to = opts[:up_to] || 'tip'
13
-
11
+ hg_log_with_opts, after = hg_command_builder(opts)
14
12
  # We reverse the final result in Ruby, rather than passing the --reverse flag to hg.
15
13
  # That's because the -f (follow) flag doesn't behave the same in both directions.
16
14
  # Basically, we're trying very hard to make this act just like Git. The hg_rev_list_test checks this.
17
- tokens = run("cd '#{self.url}' && hg log -f #{trunk_only(opts)} -r #{up_to || 'tip'}:#{after || 0} --template='{node}\\n'").split("\n").reverse
15
+ tokens = run("cd '#{self.url}' && #{ hg_log_with_opts } --template='{node}\\n'").split("\n").reverse
18
16
 
19
17
  # Hg returns everything after *and including* after.
20
18
  # We want to exclude it.
@@ -30,9 +28,9 @@ module OhlohScm::Adapters
30
28
  # If you need all commits including diffs, you should use the each_commit() iterator, which only holds one commit
31
29
  # in memory at a time.
32
30
  def commits(opts={})
33
- after = opts[:after] || 0
31
+ hg_log_with_opts, after = hg_command_builder(opts)
34
32
 
35
- log = run("cd '#{self.url}' && hg log -f #{trunk_only(opts)} -v -r tip:#{after} --style #{OhlohScm::Parsers::HgStyledParser.style_path}")
33
+ log = run("cd '#{self.url}' && #{ hg_log_with_opts } --style #{OhlohScm::Parsers::HgStyledParser.style_path}")
36
34
  a = OhlohScm::Parsers::HgStyledParser.parse(log).reverse
37
35
 
38
36
  if a.any? && a.first.token == after
@@ -55,7 +53,8 @@ module OhlohScm::Adapters
55
53
  def each_commit(opts={})
56
54
  after = opts[:after] || 0
57
55
  open_log_file(opts) do |io|
58
- OhlohScm::Parsers::HgStyledParser.parse(io) do |commit|
56
+ commits = OhlohScm::Parsers::HgStyledParser.parse(io)
57
+ commits.reverse.each do |commit|
59
58
  yield commit if block_given? && commit.token != after
60
59
  end
61
60
  end
@@ -63,8 +62,8 @@ module OhlohScm::Adapters
63
62
 
64
63
  # Not used by Ohloh proper, but handy for debugging and testing
65
64
  def log(opts={})
66
- after = opts[:after] || 0
67
- run "cd '#{url}' && hg log -f #{trunk_only(opts)} -v -r tip:#{after} | #{ string_encoder }"
65
+ hg_log_with_opts = hg_command_builder(opts)
66
+ run "cd '#{url}' && #{ hg_log_with_opts } | #{ string_encoder }"
68
67
  end
69
68
 
70
69
  # Returns a file handle to the log.
@@ -72,13 +71,13 @@ module OhlohScm::Adapters
72
71
  # it returns everything after and INCLUDING +after+. Therefore, consumers of this file should check for
73
72
  # and reject the duplicate commit.
74
73
  def open_log_file(opts={})
75
- after = opts[:after] || 0
74
+ hg_log_with_opts, after = hg_command_builder(opts)
76
75
  begin
77
76
  if after == head_token # There are no new commits
78
77
  # As a time optimization, just create an empty file rather than fetch a log we know will be empty.
79
78
  File.open(log_filename, 'w') { }
80
79
  else
81
- run "cd '#{url}' && hg log --verbose #{trunk_only(opts)} -r #{after || 0}:tip --style #{OhlohScm::Parsers::HgStyledParser.verbose_style_path} | #{ string_encoder } > #{log_filename}"
80
+ run "cd '#{url}' && #{ hg_log_with_opts } --style #{OhlohScm::Parsers::HgStyledParser.verbose_style_path} | #{ string_encoder } > #{log_filename}"
82
81
  end
83
82
  File.open(log_filename, 'r') { |io| yield io }
84
83
  ensure
@@ -90,13 +89,20 @@ module OhlohScm::Adapters
90
89
  File.join('/tmp', (self.url).gsub(/\W/,'') + '.log')
91
90
  end
92
91
 
93
- def trunk_only(opts={})
94
- if opts[:trunk_only]
95
- '--follow-first'
96
- else
97
- ''
98
- end
99
- end
92
+ private
93
+
94
+ def hg_command_builder(opts)
95
+ after = opts[:after] || 0
96
+ up_to = opts[:up_to] || :tip
97
+
98
+ options = if opts[:trunk_only]
99
+ "--follow-first -r #{ up_to }:#{ after }"
100
+ else
101
+ query = "and (branch(#{ branch_name }) or ancestors(#{ branch_name }))" if branch_name && branch_name != 'default'
102
+ "-r '#{ up_to }:#{ after } #{ query }'"
103
+ end
100
104
 
105
+ ["hg log -f -v #{ options }", after]
106
+ end
101
107
  end
102
108
  end
@@ -3,7 +3,8 @@ module OhlohScm::Adapters
3
3
  def head_token
4
4
  # This only returns first 12 characters.
5
5
  # How can we make it return the entire hash?
6
- token = run("hg id -q #{url}").strip
6
+ branch_opts = "--rev #{branch_name || :default}"
7
+ token = run("hg id -q #{url} #{branch_opts}").strip
7
8
 
8
9
  # Recent versions of Hg now somtimes append a '+' char to the token.
9
10
  # I believe this signifies pending changes... but we don't care.
@@ -18,5 +18,14 @@ module OhlohScm::Adapters
18
18
  # Hg leaves a little cookie crumb in the export directory. Remove it.
19
19
  File.delete(File.join(dest_dir, '.hg_archival.txt')) if File.exist?(File.join(dest_dir, '.hg_archival.txt'))
20
20
  end
21
+
22
+ def tags
23
+ tag_strings = run("cd '#{path}' && hg tags").split(/\n/)
24
+ tag_strings.map do |tag_string|
25
+ tag_name, rev_number_and_hash = tag_string.split(/\s+/)
26
+ rev_number = rev_number_and_hash.slice(/\A\d+/)
27
+ [tag_name, rev_number]
28
+ end
29
+ end
21
30
  end
22
31
  end
@@ -12,7 +12,8 @@ module OhlohScm::Adapters
12
12
  run "rm -rf '#{self.url}'"
13
13
  run "hg clone -U '#{from.url}' '#{self.url}'"
14
14
  else
15
- run "cd '#{self.url}' && hg revert --all && hg pull -u -y '#{from.url}'"
15
+ branch_opts = "-r #{ from.branch_name }" if branch_name
16
+ run "cd '#{self.url}' && hg revert --all && hg pull #{ branch_opts } -u -y '#{from.url}'"
16
17
  end
17
18
 
18
19
  yield(1,1) if block_given? # Progress bar callback
@@ -21,5 +21,5 @@ module OhlohScm::Adapters
21
21
  end
22
22
  end
23
23
 
24
- require_relative 'hglib/cat_file'
25
24
  require_relative 'hglib/head'
25
+ require_relative 'hglib/cat_file'
@@ -123,6 +123,11 @@ module OhlohScm::Adapters
123
123
  run "svn export --trust-server-cert --non-interactive --ignore-externals --force -r #{commit_id} '#{SvnAdapter.uri_encode(File.join(root, branch_name.to_s))}' '#{dest_dir}'"
124
124
  end
125
125
 
126
+ def export_tag(dest_dir, tag_name)
127
+ tag_url = "#{base_path}/tags/#{tag_name}"
128
+ run "svn export --trust-server-cert --non-interactive --ignore-externals --force '#{tag_url}' '#{dest_dir}'"
129
+ end
130
+
126
131
  def ls_tree(token)
127
132
  run("svn ls --trust-server-cert --non-interactive -R -r #{token} '#{SvnAdapter.uri_encode(File.join(root, branch_name.to_s))}@#{token}'").split("\n")
128
133
  end
@@ -133,10 +138,29 @@ module OhlohScm::Adapters
133
138
  " #{opt_password} --no-auth-cache "
134
139
  end
135
140
 
141
+ # Svn root is not usable here since several projects are nested in subfolders.
142
+ # e.g. https://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/
143
+ # http://svn.apache.org/repos/asf/httpd/httpd/trunk
144
+ # http://svn.apache.org/repos/asf/maven/plugin-testing/trunk
145
+ # all have the same root value(https://svn.apache.org/repos/asf)
146
+ def tags
147
+ tag_strings = `svn log -v #{ base_path}/tags | grep 'tags.\\+(from.\\+:[0-9]\\+)$'`.split(/\n/)
148
+ tag_strings.map do |tag_string|
149
+ tag_string.match(/\/tags\/(.+) \(from .+:(\d+)\)\Z/)[1..2]
150
+ end
151
+ end
152
+
136
153
  class << self
137
154
  def has_conflicts?(working_copy_url)
138
155
  system("cd '#{ working_copy_url }' && svn status | grep 'Summary of conflicts'")
139
156
  end
140
157
  end
158
+
159
+ private
160
+
161
+ def base_path
162
+ url.sub(/(.*)(branches|trunk|tags)(.*)/, '\1').chomp('/')
163
+ end
164
+
141
165
  end
142
166
  end
@@ -1,5 +1,5 @@
1
1
  module OhlohScm
2
2
  module Version
3
- STRING = '2.1.0'
3
+ STRING = '2.2.0'
4
4
  end
5
5
  end
@@ -0,0 +1 @@
1
+ d6:v1.0.047:obnox@samba.org-20090204002540-gmana8tk5f9gboq96:v2.0.048:test@example.com-20111222183733-y91if5npo3pe8ifse
Binary file
Binary file
Binary file
data/test/test_helper.rb CHANGED
@@ -47,7 +47,7 @@ class OhlohScm::Test < Test::Unit::TestCase
47
47
  assert_equal expected_lines, actual_lines
48
48
  end
49
49
 
50
- def with_repository(type, name)
50
+ def with_repository(type, name, branch_name = nil)
51
51
  OhlohScm::ScratchDir.new do |dir|
52
52
  if Dir.entries(REPO_DIR).include?(name)
53
53
  `cp -R #{File.join(REPO_DIR, name)} #{dir}`
@@ -56,7 +56,7 @@ class OhlohScm::Test < Test::Unit::TestCase
56
56
  else
57
57
  raise RuntimeError.new("Repository archive #{File.join(REPO_DIR, name)} not found.")
58
58
  end
59
- yield type.new(:url => File.join(dir, name)).normalize
59
+ yield type.new(:url => File.join(dir, name), branch_name: branch_name).normalize
60
60
  end
61
61
  end
62
62
 
@@ -101,13 +101,13 @@ class OhlohScm::Test < Test::Unit::TestCase
101
101
  end
102
102
  end
103
103
 
104
- def with_git_repository(name)
105
- with_repository(OhlohScm::Adapters::GitAdapter, name) { |git| yield git }
106
- end
104
+ def with_git_repository(name, branch_name = nil)
105
+ with_repository(OhlohScm::Adapters::GitAdapter, name, branch_name) { |git| yield git }
106
+ end
107
107
 
108
- def with_hg_repository(name)
109
- with_repository(OhlohScm::Adapters::HgAdapter, name) { |hg| yield hg }
110
- end
108
+ def with_hg_repository(name, branch_name = nil)
109
+ with_repository(OhlohScm::Adapters::HgAdapter, name, branch_name) { |hg| yield hg }
110
+ end
111
111
 
112
112
  def with_hglib_repository(name)
113
113
  with_repository(OhlohScm::Adapters::HglibAdapter, name) { |hg| yield hg }
@@ -20,7 +20,8 @@ module OhlohScm::Adapters
20
20
  'file3.txt',
21
21
  'file4.txt',
22
22
  'file5.txt'],
23
- bzr.ls_tree(bzr.head_token).sort
23
+ bzr.ls_tree(bzr.head_token).sort.map { |filename|
24
+ filename.force_encoding(Encoding::UTF_8) }
24
25
  end
25
26
  end
26
27
 
@@ -33,5 +34,10 @@ module OhlohScm::Adapters
33
34
  end
34
35
  end
35
36
 
37
+ def test_tags
38
+ with_bzr_repository('bzr') do |bzr|
39
+ assert_equal bzr.tags, [['v1.0.0', '5'], ['v2.0.0','7']]
40
+ end
41
+ end
36
42
  end
37
43
  end
@@ -6,19 +6,19 @@ module OhlohScm::Adapters
6
6
  def test_commits
7
7
  with_cvs_repository('cvs', 'simple') do |cvs|
8
8
 
9
- assert_equal ['2006/06/29 16:21:07',
10
- '2006/06/29 18:14:47',
11
- '2006/06/29 18:45:29',
12
- '2006/06/29 18:48:54',
13
- '2006/06/29 18:52:23'], cvs.commits.collect { |c| c.token }
14
-
15
- assert_equal ['2006/06/29 18:48:54',
16
- '2006/06/29 18:52:23'],
17
- cvs.commits(:after => '2006/06/29 18:45:29').collect { |c| c.token }
9
+ assert_equal ['2006-06-29 16:21:07',
10
+ '2006-06-29 18:14:47',
11
+ '2006-06-29 18:45:29',
12
+ '2006-06-29 18:48:54',
13
+ '2006-06-29 18:52:23'], cvs.commits.collect { |c| c.token }
18
14
 
19
15
  # Make sure we are date format agnostic (2008/01/01 is the same as 2008-01-01)
20
- assert_equal ['2006/06/29 18:48:54',
21
- '2006/06/29 18:52:23'],
16
+ assert_equal ['2006-06-29 18:48:54',
17
+ '2006-06-29 18:52:23'],
18
+ cvs.commits(:after => '2006/06/29 18:45:29').collect { |c| c.token }
19
+
20
+ assert_equal ['2006-06-29 18:48:54',
21
+ '2006-06-29 18:52:23'],
22
22
  cvs.commits(:after => '2006-06-29 18:45:29').collect { |c| c.token }
23
23
 
24
24
  assert_equal [], cvs.commits(:after => '2006/06/29 18:52:23').collect { |c| c.token }
@@ -62,5 +62,21 @@ module OhlohScm::Adapters
62
62
  assert_equal true, cvs.log.valid_encoding?
63
63
  end
64
64
  end
65
+
66
+ def test_tags
67
+ with_cvs_repository('cvs', 'simple') do |cvs|
68
+ assert_equal([['simple_release_tag', '1.1.1.1'], ['simple_vendor_tag', '1.1.1']], cvs.tags)
69
+ end
70
+ end
71
+
72
+ def test_export_tag
73
+ with_cvs_repository('cvs', 'simple') do |cvs|
74
+ OhlohScm::ScratchDir.new do |dir|
75
+ cvs.export_tag(dir, 'simple_release_tag')
76
+
77
+ assert_equal ['.','..','foo.rb'], Dir.entries(dir).sort
78
+ end
79
+ end
80
+ end
65
81
  end
66
82
  end
@@ -39,6 +39,20 @@ module OhlohScm::Adapters
39
39
  end
40
40
  end
41
41
 
42
+ def test_commits_with_branch
43
+ with_git_repository('git', 'develop') do |git|
44
+ assert_equal ['089c527c61235bd0793c49109b5bd34d439848c6',
45
+ 'b6e9220c3cabe53a4ed7f32952aeaeb8a822603d',
46
+ '2e9366dd7a786fdb35f211fff1c8ea05c51968b1',
47
+ 'b4046b9a80fead62fa949232f2b87b0cb78fffcc'], git.commits.map(&:token)
48
+
49
+ assert_equal ['b4046b9a80fead62fa949232f2b87b0cb78fffcc'],
50
+ git.commits(:after => '2e9366dd7a786fdb35f211fff1c8ea05c51968b1').map(&:token)
51
+
52
+ assert_equal [], git.commits(:after => 'b4046b9a80fead62fa949232f2b87b0cb78fffcc')
53
+ end
54
+ end
55
+
42
56
  def test_trunk_only_commit_count
43
57
  with_git_repository('git_dupe_delete') do |git|
44
58
  assert_equal 4, git.commit_count(:trunk_only => false)
@@ -14,7 +14,7 @@ module OhlohScm::Adapters
14
14
 
15
15
  def test_branches
16
16
  with_git_repository('git') do |git|
17
- assert_equal ['master'], git.branches
17
+ assert_equal ['develop', 'master'], git.branches
18
18
  assert git.has_branch?('master')
19
19
  end
20
20
  end
@@ -44,5 +44,12 @@ module OhlohScm::Adapters
44
44
  assert_equal true, git.ls_tree.all? { |filename| filename.valid_encoding? }
45
45
  end
46
46
  end
47
+
48
+ def test_tags
49
+ with_git_repository('git') do |git|
50
+ assert_equal git.tags, [['v1.0.0', 'f6e5a894ac4173f8f2a200f2c36df38a1e61121a'],
51
+ ['v2.1.0', '1df547800dcd168e589bb9b26b4039bff3a7f7e4']]
52
+ end
53
+ end
47
54
  end
48
55
  end
@@ -24,7 +24,6 @@ module OhlohScm::Adapters
24
24
  def test_basic_push
25
25
  with_git_repository('git') do |src|
26
26
  OhlohScm::ScratchDir.new do |dest_dir|
27
-
28
27
  dest = GitAdapter.new(:url => dest_dir).normalize
29
28
  assert !dest.exist?
30
29
 
@@ -36,10 +35,10 @@ module OhlohScm::Adapters
36
35
  File.open(File.join(src.url, 'foo'), 'w') { }
37
36
  src.commit_all(OhlohScm::Commit.new)
38
37
 
38
+ system("cd #{ dest_dir } && git config --bool core.bare true && git config receive.denyCurrentBranch refuse")
39
39
  src.push(dest)
40
40
  assert dest.exist?
41
41
  assert_equal src.log, dest.log
42
-
43
42
  end
44
43
  end
45
44
  end
@@ -35,7 +35,7 @@ EXPECTED
35
35
  File.open(File.join(dir, funny_name), 'w') { |f| f.write "contents" }
36
36
 
37
37
  # Add it to an hg repository
38
- `cd #{dir} && hg init && hg add * && hg commit -m test`
38
+ `cd #{dir} && hg init && hg add * && hg commit -u tester -m test`
39
39
 
40
40
  # Confirm that we can read the file back
41
41
  hg = HgAdapter.new(:url => dir).normalize
@@ -5,9 +5,9 @@ module OhlohScm::Adapters
5
5
 
6
6
  def test_commit_count
7
7
  with_hg_repository('hg') do |hg|
8
- assert_equal 4, hg.commit_count
9
- assert_equal 2, hg.commit_count(:after => 'b14fa4692f949940bd1e28da6fb4617de2615484')
10
- assert_equal 0, hg.commit_count(:after => '75532c1e1f1de55c2271f6fd29d98efbe35397c4')
8
+ assert_equal 5, hg.commit_count
9
+ assert_equal 3, hg.commit_count(:after => 'b14fa4692f949940bd1e28da6fb4617de2615484')
10
+ assert_equal 0, hg.commit_count(:after => '655f04cf6ad708ab58c7b941672dce09dd369a18')
11
11
  end
12
12
  end
13
13
 
@@ -16,12 +16,13 @@ module OhlohScm::Adapters
16
16
  assert_equal ['01101d8ef3cea7da9ac6e9a226d645f4418f05c9',
17
17
  'b14fa4692f949940bd1e28da6fb4617de2615484',
18
18
  '468336c6671cbc58237a259d1b7326866afc2817',
19
- '75532c1e1f1de55c2271f6fd29d98efbe35397c4'], hg.commit_tokens
19
+ '75532c1e1f1de55c2271f6fd29d98efbe35397c4',
20
+ '655f04cf6ad708ab58c7b941672dce09dd369a18'], hg.commit_tokens
20
21
 
21
- assert_equal ['75532c1e1f1de55c2271f6fd29d98efbe35397c4'],
22
- hg.commit_tokens(:after => '468336c6671cbc58237a259d1b7326866afc2817')
22
+ assert_equal ['655f04cf6ad708ab58c7b941672dce09dd369a18'],
23
+ hg.commit_tokens(:after => '75532c1e1f1de55c2271f6fd29d98efbe35397c4')
23
24
 
24
- assert_equal [], hg.commit_tokens(:after => '75532c1e1f1de55c2271f6fd29d98efbe35397c4')
25
+ assert_equal [], hg.commit_tokens(:after => '655f04cf6ad708ab58c7b941672dce09dd369a18')
25
26
  end
26
27
  end
27
28
 
@@ -30,15 +31,34 @@ module OhlohScm::Adapters
30
31
  assert_equal ['01101d8ef3cea7da9ac6e9a226d645f4418f05c9',
31
32
  'b14fa4692f949940bd1e28da6fb4617de2615484',
32
33
  '468336c6671cbc58237a259d1b7326866afc2817',
33
- '75532c1e1f1de55c2271f6fd29d98efbe35397c4'], hg.commits.collect { |c| c.token }
34
+ '75532c1e1f1de55c2271f6fd29d98efbe35397c4',
35
+ '655f04cf6ad708ab58c7b941672dce09dd369a18'], hg.commits.collect { |c| c.token }
34
36
 
35
- assert_equal ['75532c1e1f1de55c2271f6fd29d98efbe35397c4'],
36
- hg.commits(:after => '468336c6671cbc58237a259d1b7326866afc2817').collect { |c| c.token }
37
+ assert_equal ['655f04cf6ad708ab58c7b941672dce09dd369a18'],
38
+ hg.commits(:after => '75532c1e1f1de55c2271f6fd29d98efbe35397c4').collect { |c| c.token }
37
39
 
38
40
  # Check that the diffs are not populated
39
- assert_equal [], hg.commits(:after => '468336c6671cbc58237a259d1b7326866afc2817').first.diffs
41
+ assert_equal [], hg.commits(:after => '75532c1e1f1de55c2271f6fd29d98efbe35397c4').first.diffs
40
42
 
41
- assert_equal [], hg.commits(:after => '75532c1e1f1de55c2271f6fd29d98efbe35397c4')
43
+ assert_equal [], hg.commits(:after => '655f04cf6ad708ab58c7b941672dce09dd369a18')
44
+ end
45
+ end
46
+
47
+ def test_commits_with_branch
48
+ with_hg_repository('hg', 'develop') do |hg|
49
+ assert_equal ['01101d8ef3cea7da9ac6e9a226d645f4418f05c9',
50
+ 'b14fa4692f949940bd1e28da6fb4617de2615484',
51
+ '468336c6671cbc58237a259d1b7326866afc2817',
52
+ '75532c1e1f1de55c2271f6fd29d98efbe35397c4',
53
+ '4d54c3f0526a1ec89214a70615a6b1c6129c665c'], hg.commits.collect { |c| c.token }
54
+
55
+ assert_equal ['4d54c3f0526a1ec89214a70615a6b1c6129c665c'],
56
+ hg.commits(:after => '75532c1e1f1de55c2271f6fd29d98efbe35397c4').collect { |c| c.token }
57
+
58
+ # Check that the diffs are not populated
59
+ assert_equal [], hg.commits(:after => '75532c1e1f1de55c2271f6fd29d98efbe35397c4').first.diffs
60
+
61
+ assert_equal [], hg.commits(:after => '4d54c3f0526a1ec89214a70615a6b1c6129c665c')
42
62
  end
43
63
  end
44
64
 
@@ -129,18 +149,34 @@ module OhlohScm::Adapters
129
149
  assert_equal ['01101d8ef3cea7da9ac6e9a226d645f4418f05c9',
130
150
  'b14fa4692f949940bd1e28da6fb4617de2615484',
131
151
  '468336c6671cbc58237a259d1b7326866afc2817',
132
- '75532c1e1f1de55c2271f6fd29d98efbe35397c4'], commits.collect { |c| c.token }
152
+ '75532c1e1f1de55c2271f6fd29d98efbe35397c4',
153
+ '655f04cf6ad708ab58c7b941672dce09dd369a18'], commits.collect { |c| c.token }
133
154
  end
134
155
  end
135
156
 
157
+ def test_each_commit_for_branch
158
+ commits = []
159
+
160
+ with_hg_repository('hg', 'develop') do |hg|
161
+ commits = hg.each_commit
162
+ end
163
+
164
+ assert_equal ['01101d8ef3cea7da9ac6e9a226d645f4418f05c9',
165
+ 'b14fa4692f949940bd1e28da6fb4617de2615484',
166
+ '468336c6671cbc58237a259d1b7326866afc2817',
167
+ '75532c1e1f1de55c2271f6fd29d98efbe35397c4',
168
+ '4d54c3f0526a1ec89214a70615a6b1c6129c665c'], commits.collect { |c| c.token }
169
+ end
170
+
171
+
136
172
  def test_each_commit_after
137
173
  commits = []
138
174
  with_hg_repository('hg') do |hg|
139
- hg.each_commit(:after => 'b14fa4692f949940bd1e28da6fb4617de2615484') do |c|
175
+ hg.each_commit(:after => '468336c6671cbc58237a259d1b7326866afc2817') do |c|
140
176
  commits << c
141
177
  end
142
- assert_equal ['468336c6671cbc58237a259d1b7326866afc2817',
143
- '75532c1e1f1de55c2271f6fd29d98efbe35397c4'], commits.collect { |c| c.token }
178
+ assert_equal ['75532c1e1f1de55c2271f6fd29d98efbe35397c4',
179
+ '655f04cf6ad708ab58c7b941672dce09dd369a18'], commits.collect { |c| c.token }
144
180
  end
145
181
  end
146
182
 
@@ -5,14 +5,20 @@ module OhlohScm::Adapters
5
5
 
6
6
  def test_head_and_parents
7
7
  with_hg_repository('hg') do |hg|
8
- assert_equal '75532c1e1f1d', hg.head_token
9
- assert_equal '75532c1e1f1de55c2271f6fd29d98efbe35397c4', hg.head.token
8
+ assert_equal '655f04cf6ad7', hg.head_token
9
+ assert_equal '655f04cf6ad708ab58c7b941672dce09dd369a18', hg.head.token
10
10
  assert hg.head.diffs.any? # diffs should be populated
11
11
 
12
- assert_equal '468336c6671cbc58237a259d1b7326866afc2817', hg.parents(hg.head).first.token
12
+ assert_equal '75532c1e1f1de55c2271f6fd29d98efbe35397c4', hg.parents(hg.head).first.token
13
13
  assert hg.parents(hg.head).first.diffs.any?
14
14
  end
15
15
  end
16
16
 
17
+ def test_head_with_branch
18
+ with_hg_repository('hg', 'develop') do |hg|
19
+ assert_equal '4d54c3f0526a1ec89214a70615a6b1c6129c665c', hg.head.token
20
+ assert hg.head.diffs.any?
21
+ end
22
+ end
17
23
  end
18
24
  end
@@ -14,7 +14,7 @@ module OhlohScm::Adapters
14
14
 
15
15
  def test_ls_tree
16
16
  with_hg_repository('hg') do |hg|
17
- assert_equal ['README','makefile'], hg.ls_tree(hg.head_token).sort
17
+ assert_equal ['README','makefile', 'two'], hg.ls_tree(hg.head_token).sort
18
18
  end
19
19
  end
20
20
 
@@ -22,7 +22,7 @@ module OhlohScm::Adapters
22
22
  with_hg_repository('hg') do |hg|
23
23
  OhlohScm::ScratchDir.new do |dir|
24
24
  hg.export(dir)
25
- assert_equal ['.', '..', 'README', 'makefile'], Dir.entries(dir).sort
25
+ assert_equal ['.', '..', 'README', 'makefile', 'two'], Dir.entries(dir).sort
26
26
  end
27
27
  end
28
28
  end
@@ -36,5 +36,11 @@ module OhlohScm::Adapters
36
36
  end
37
37
  end
38
38
  end
39
+
40
+ def test_tags
41
+ with_hg_repository('hg') do |hg|
42
+ assert_equal hg.tags, [['tip', '5']]
43
+ end
44
+ end
39
45
  end
40
46
  end
@@ -137,12 +137,12 @@ SAMPLE
137
137
  def test_styled_parser
138
138
  with_hg_repository('hg') do |hg|
139
139
  assert FileTest.exist?(HgStyledParser.style_path)
140
- log = hg.run("cd #{hg.url} && hg log --style #{OhlohScm::Parsers::HgStyledParser.style_path}")
140
+ log = hg.run("cd #{hg.url} && hg log -f --style #{OhlohScm::Parsers::HgStyledParser.style_path}")
141
141
  commits = OhlohScm::Parsers::HgStyledParser.parse(log)
142
142
  assert_styled_commits(commits, false)
143
143
 
144
144
  assert FileTest.exist?(HgStyledParser.verbose_style_path)
145
- log = hg.run("cd #{hg.url} && hg log --style #{OhlohScm::Parsers::HgStyledParser.verbose_style_path}")
145
+ log = hg.run("cd #{hg.url} && hg log -f --style #{OhlohScm::Parsers::HgStyledParser.verbose_style_path}")
146
146
  commits = OhlohScm::Parsers::HgStyledParser.parse(log)
147
147
  assert_styled_commits(commits, true)
148
148
  end
@@ -151,31 +151,31 @@ SAMPLE
151
151
  protected
152
152
 
153
153
  def assert_styled_commits(commits, with_diffs=false)
154
- assert_equal 4, commits.size
154
+ assert_equal 5, commits.size
155
155
 
156
- assert_equal '75532c1e1f1de55c2271f6fd29d98efbe35397c4', commits[0].token
157
- assert_equal 'Robin Luckey', commits[0].committer_name
158
- assert_equal 'robin@ohloh.net', commits[0].committer_email
159
- assert Time.utc(2009,1,20,19,34,53) - commits[0].committer_date < 1 # Don't care about milliseconds
160
- assert_equal "deleted helloworld.c\n", commits[0].message
156
+ assert_equal '75532c1e1f1de55c2271f6fd29d98efbe35397c4', commits[1].token
157
+ assert_equal 'Robin Luckey', commits[1].committer_name
158
+ assert_equal 'robin@ohloh.net', commits[1].committer_email
159
+ assert Time.utc(2009,1,20,19,34,53) - commits[1].committer_date < 1 # Don't care about milliseconds
160
+ assert_equal "deleted helloworld.c\n", commits[1].message
161
161
 
162
162
  if with_diffs
163
- assert_equal 1, commits[0].diffs.size
164
- assert_equal 'D', commits[0].diffs[0].action
165
- assert_equal 'helloworld.c', commits[0].diffs[0].path
163
+ assert_equal 1, commits[1].diffs.size
164
+ assert_equal 'D', commits[1].diffs[0].action
165
+ assert_equal 'helloworld.c', commits[1].diffs[0].path
166
166
  else
167
- assert_equal [], commits[0].diffs
167
+ assert_equal [], commits[1].diffs
168
168
  end
169
169
 
170
- assert_equal '468336c6671cbc58237a259d1b7326866afc2817', commits[1].token
171
- assert Time.utc(2009, 1,20,19,34,04) - commits[1].committer_date < 1
170
+ assert_equal '468336c6671cbc58237a259d1b7326866afc2817', commits[2].token
171
+ assert Time.utc(2009, 1,20,19,34,04) - commits[2].committer_date < 1
172
172
 
173
173
  if with_diffs
174
- assert_equal 2, commits[1].diffs.size
175
- assert_equal 'M', commits[1].diffs[0].action
176
- assert_equal 'helloworld.c', commits[1].diffs[0].path
177
- assert_equal 'A', commits[1].diffs[1].action
178
- assert_equal 'README', commits[1].diffs[1].path
174
+ assert_equal 2, commits[2].diffs.size
175
+ assert_equal 'M', commits[2].diffs[0].action
176
+ assert_equal 'helloworld.c', commits[2].diffs[0].path
177
+ assert_equal 'A', commits[2].diffs[1].action
178
+ assert_equal 'README', commits[2].diffs[1].path
179
179
  else
180
180
  assert_equal [], commits[0].diffs
181
181
  end
@@ -35,7 +35,7 @@ EXPECTED
35
35
  File.open(File.join(dir, funny_name), 'w') { |f| f.write "contents" }
36
36
 
37
37
  # Add it to an hg repository
38
- `cd #{dir} && hg init && hg add * && hg commit -m test`
38
+ `cd #{dir} && hg init && hg add * && hg commit -u tester -m test`
39
39
 
40
40
  # Confirm that we can read the file back
41
41
  hg = HglibAdapter.new(:url => dir).normalize
@@ -5,11 +5,11 @@ module OhlohScm::Adapters
5
5
 
6
6
  def test_head_and_parents
7
7
  with_hglib_repository('hg') do |hg|
8
- assert_equal '75532c1e1f1d', hg.head_token
9
- assert_equal '75532c1e1f1de55c2271f6fd29d98efbe35397c4', hg.head.token
8
+ assert_equal '655f04cf6ad7', hg.head_token
9
+ assert_equal '655f04cf6ad708ab58c7b941672dce09dd369a18', hg.head.token
10
10
  assert hg.head.diffs.any? # diffs should be populated
11
11
 
12
- assert_equal '468336c6671cbc58237a259d1b7326866afc2817', hg.parents(hg.head).first.token
12
+ assert_equal '75532c1e1f1de55c2271f6fd29d98efbe35397c4', hg.parents(hg.head).first.token
13
13
  assert hg.parents(hg.head).first.diffs.any?
14
14
  end
15
15
  end
@@ -1,4 +1,5 @@
1
1
  require_relative '../test_helper'
2
+ require 'timeout'
2
3
 
3
4
  class ShelloutTest < OhlohScm::Test
4
5
  def test_execute_must_pipe_the_results_accurately
@@ -12,6 +12,23 @@ module OhlohScm::Adapters
12
12
  end
13
13
  end
14
14
 
15
+ def test_export_tag
16
+ with_svn_repository('svn', 'trunk') do |source_scm|
17
+ OhlohScm::ScratchDir.new do |svn_working_folder|
18
+ OhlohScm::ScratchDir.new do |dir|
19
+ folder_name = source_scm.root.slice(/[^\/]+\/?\Z/)
20
+ system "cd #{ svn_working_folder } && svn co #{ source_scm.root } && cd #{ folder_name } &&
21
+ mkdir -p #{ source_scm.root.gsub(/^file:../, '') }/db/transactions
22
+ svn copy trunk tags/2.0 && svn commit -m 'v2.0' && svn update"
23
+
24
+ source_scm.export_tag(dir, '2.0')
25
+
26
+ assert_equal ['.','..','COPYING','README','helloworld.c', 'makefile'], Dir.entries(dir).sort
27
+ end
28
+ end
29
+ end
30
+ end
31
+
15
32
  def test_ls_tree
16
33
  with_svn_repository('svn') do |svn|
17
34
  assert_equal ['branches/','tags/','trunk/','trunk/helloworld.c','trunk/makefile'], svn.ls_tree(2).sort
@@ -85,5 +102,18 @@ module OhlohScm::Adapters
85
102
  assert_equal "/trunk", svn.branch_name
86
103
  end
87
104
  end
105
+
106
+ def test_tags
107
+ with_svn_repository('svn', 'trunk') do |source_scm|
108
+ OhlohScm::ScratchDir.new do |svn_working_folder|
109
+ folder_name = source_scm.root.slice(/[^\/]+\/?\Z/)
110
+ system "cd #{ svn_working_folder } && svn co #{ source_scm.root } && cd #{ folder_name } &&
111
+ mkdir -p #{ source_scm.root.gsub(/^file:../, '') }/db/transactions
112
+ svn copy trunk tags/2.0 && svn commit -m 'v2.0' && svn update"
113
+
114
+ assert_equal([['2.0', source_scm.head_token.to_s]], source_scm.tags)
115
+ end
116
+ end
117
+ end
88
118
  end
89
119
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ohloh_scm
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - BlackDuck Software
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-07 00:00:00.000000000 Z
11
+ date: 2016-08-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: posix-spawn
@@ -35,9 +35,11 @@ extensions: []
35
35
  extra_rdoc_files: []
36
36
  files:
37
37
  - .gitignore
38
- - .install_dependencies.sh
39
38
  - .ruby-version
40
39
  - .travis.yml
40
+ - .travis/.install_dependencies.sh
41
+ - .travis/.install_multiple_scms.sh
42
+ - .travis/.travis_ssh_setup.sh
41
43
  - COPYING
42
44
  - README.md
43
45
  - Rakefile
@@ -410,36 +412,9 @@ files:
410
412
  - test/repositories/git_with_empty_merge.tgz
411
413
  - test/repositories/git_with_invalid_encoding.tgz
412
414
  - test/repositories/git_with_null_merge.tgz
413
- - test/repositories/hg/.hg/00changelog.i
414
- - test/repositories/hg/.hg/branch
415
- - test/repositories/hg/.hg/branch.cache
416
- - test/repositories/hg/.hg/dirstate
417
- - test/repositories/hg/.hg/requires
418
- - test/repositories/hg/.hg/store/00changelog.i
419
- - test/repositories/hg/.hg/store/00manifest.i
420
- - test/repositories/hg/.hg/store/data/_r_e_a_d_m_e.i
421
- - test/repositories/hg/.hg/store/data/helloworld.c.i
422
- - test/repositories/hg/.hg/store/data/makefile.i
423
- - test/repositories/hg/.hg/store/fncache
424
- - test/repositories/hg/.hg/store/undo
425
- - test/repositories/hg/.hg/undo.branch
426
- - test/repositories/hg/.hg/undo.dirstate
415
+ - test/repositories/hg.tgz
427
416
  - test/repositories/hg_dupe_delete.tgz
428
- - test/repositories/hg_walk/.hg/00changelog.i
429
- - test/repositories/hg_walk/.hg/branch
430
- - test/repositories/hg_walk/.hg/branch.cache
431
- - test/repositories/hg_walk/.hg/dirstate
432
- - test/repositories/hg_walk/.hg/merge/69e27356ef629022720d868ab0c0e3394775b6c1
433
- - test/repositories/hg_walk/.hg/merge/state
434
- - test/repositories/hg_walk/.hg/requires
435
- - test/repositories/hg_walk/.hg/store/00changelog.i
436
- - test/repositories/hg_walk/.hg/store/00manifest.i
437
- - test/repositories/hg_walk/.hg/store/data/_r_e_a_d_m_e.i
438
- - test/repositories/hg_walk/.hg/store/fncache
439
- - test/repositories/hg_walk/.hg/store/undo
440
- - test/repositories/hg_walk/.hg/undo.branch
441
- - test/repositories/hg_walk/.hg/undo.dirstate
442
- - test/repositories/hg_walk/README
417
+ - test/repositories/hg_walk.tgz
443
418
  - test/repositories/hg_with_invalid_encoding.tgz
444
419
  - test/repositories/svn/README.txt
445
420
  - test/repositories/svn/conf/authz
@@ -913,36 +888,9 @@ test_files:
913
888
  - test/repositories/git_with_empty_merge.tgz
914
889
  - test/repositories/git_with_invalid_encoding.tgz
915
890
  - test/repositories/git_with_null_merge.tgz
916
- - test/repositories/hg/.hg/00changelog.i
917
- - test/repositories/hg/.hg/branch
918
- - test/repositories/hg/.hg/branch.cache
919
- - test/repositories/hg/.hg/dirstate
920
- - test/repositories/hg/.hg/requires
921
- - test/repositories/hg/.hg/store/00changelog.i
922
- - test/repositories/hg/.hg/store/00manifest.i
923
- - test/repositories/hg/.hg/store/data/_r_e_a_d_m_e.i
924
- - test/repositories/hg/.hg/store/data/helloworld.c.i
925
- - test/repositories/hg/.hg/store/data/makefile.i
926
- - test/repositories/hg/.hg/store/fncache
927
- - test/repositories/hg/.hg/store/undo
928
- - test/repositories/hg/.hg/undo.branch
929
- - test/repositories/hg/.hg/undo.dirstate
891
+ - test/repositories/hg.tgz
930
892
  - test/repositories/hg_dupe_delete.tgz
931
- - test/repositories/hg_walk/.hg/00changelog.i
932
- - test/repositories/hg_walk/.hg/branch
933
- - test/repositories/hg_walk/.hg/branch.cache
934
- - test/repositories/hg_walk/.hg/dirstate
935
- - test/repositories/hg_walk/.hg/merge/69e27356ef629022720d868ab0c0e3394775b6c1
936
- - test/repositories/hg_walk/.hg/merge/state
937
- - test/repositories/hg_walk/.hg/requires
938
- - test/repositories/hg_walk/.hg/store/00changelog.i
939
- - test/repositories/hg_walk/.hg/store/00manifest.i
940
- - test/repositories/hg_walk/.hg/store/data/_r_e_a_d_m_e.i
941
- - test/repositories/hg_walk/.hg/store/fncache
942
- - test/repositories/hg_walk/.hg/store/undo
943
- - test/repositories/hg_walk/.hg/undo.branch
944
- - test/repositories/hg_walk/.hg/undo.dirstate
945
- - test/repositories/hg_walk/README
893
+ - test/repositories/hg_walk.tgz
946
894
  - test/repositories/hg_with_invalid_encoding.tgz
947
895
  - test/repositories/svn/README.txt
948
896
  - test/repositories/svn/conf/authz
Binary file
@@ -1 +0,0 @@
1
- default
Binary file
@@ -1,2 +0,0 @@
1
- revlogv1
2
- store
@@ -1,3 +0,0 @@
1
- data/helloworld.c.i
2
- data/makefile.i
3
- data/README.i
Binary file
@@ -1 +0,0 @@
1
- default
Binary file
@@ -1 +0,0 @@
1
- default
Binary file
@@ -1,2 +0,0 @@
1
- revlogv1
2
- store
@@ -1 +0,0 @@
1
- data/README.i
@@ -1 +0,0 @@
1
- default
@@ -1 +0,0 @@
1
- D