ohloh_scm 3.0.19 → 3.0.21
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +20 -0
- data/.rubocop.yml +3 -0
- data/Dockerfile +1 -0
- data/README.md +3 -1
- data/lib/ohloh_scm/bzr/activity.rb +2 -3
- data/lib/ohloh_scm/git/activity.rb +0 -3
- data/lib/ohloh_scm/git/scm.rb +6 -2
- data/lib/ohloh_scm/git_svn/scm.rb +2 -1
- data/lib/ohloh_scm/hg/activity.rb +0 -3
- data/lib/ohloh_scm/hg/scm.rb +3 -2
- data/lib/ohloh_scm/parser/cvs_parser.rb +0 -2
- data/lib/ohloh_scm/version.rb +1 -1
- data/spec/ohloh_scm/git/activity_spec.rb +15 -13
- data/spec/ohloh_scm/hg/activity_spec.rb +29 -23
- data/spec/ohloh_scm/parser/hg_parser_spec.rb +13 -13
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a3bc5fee4822aa9fdb23808cf18333cf2439fb67beba337281b19e5e29162d60
|
4
|
+
data.tar.gz: e6617dc6ce992273abc6b51321ff3092086e27c87821a9175d4551c2b8f9ce3c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 177ba8662a8b8cba0370393061af014fd6061e8c58268d8b61c463eb1a4c441967bea7c07f788a03f4ec32dcc878b97d6a51601818bbd644b48a21bd40648122
|
7
|
+
data.tar.gz: 481ef3fad98f4418fddae8e43b2cefb10d4cab68da6eb5646ffef32a459b13e6f00ee6ba7290184f8ab131e8d2f18ed5a0f20a3de13e8315e3f752ca7012f2b6
|
@@ -0,0 +1,20 @@
|
|
1
|
+
name: CI Pipeline
|
2
|
+
|
3
|
+
on:
|
4
|
+
pull_request:
|
5
|
+
types:
|
6
|
+
- opened
|
7
|
+
- synchronize
|
8
|
+
push:
|
9
|
+
branches: [main]
|
10
|
+
|
11
|
+
jobs:
|
12
|
+
ci_task:
|
13
|
+
runs-on: ubuntu-latest
|
14
|
+
steps:
|
15
|
+
- uses: actions/checkout@v3
|
16
|
+
- name: Run rubocop and tests
|
17
|
+
run: |
|
18
|
+
docker pull ohdeployer/ohloh_scm:latest
|
19
|
+
cmd='/etc/init.d/ssh start; rubocop; LANG=en_US.UTF-8 rake test 2> /dev/null'
|
20
|
+
docker run --rm -P -v $(pwd):/home/app/ohloh_scm -i ohdeployer/ohloh_scm:latest /bin/sh -c "$cmd"
|
data/.rubocop.yml
CHANGED
data/Dockerfile
CHANGED
@@ -13,6 +13,7 @@ RUN apt-get install -y ruby2.5 ruby2.5-dev
|
|
13
13
|
|
14
14
|
RUN apt-get install -y ragel libxml2-dev libpcre3 libpcre3-dev swig gperf openssh-server expect
|
15
15
|
RUN apt-get install -y git git-svn subversion cvs mercurial bzr
|
16
|
+
RUN git config --global --add safe.directory '*'
|
16
17
|
|
17
18
|
RUN ssh-keygen -q -t rsa -N '' -f /root/.ssh/id_rsa
|
18
19
|
RUN cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
|
data/README.md
CHANGED
@@ -1,4 +1,6 @@
|
|
1
|
-
[![Ohloh SCM on OpenHub](https://www.openhub.net/p/ohloh_scm/widgets/project_partner_badge.gif)](https://www.openhub.net/p/ohloh_scm)
|
1
|
+
[![Ohloh SCM on OpenHub](https://www.openhub.net/p/ohloh_scm/widgets/project_partner_badge.gif)](https://www.openhub.net/p/ohloh_scm)
|
2
|
+
![Coverity Scan Build](https://github.com/blackducksoftware/ohloh_scm/actions/workflows/coverity.yml/badge.svg?branch=main)
|
3
|
+
![Build Status](https://github.com/blackducksoftware/ohloh_scm/actions/workflows/ci.yml/badge.svg?branch=main)
|
2
4
|
|
3
5
|
# Ohloh SCM
|
4
6
|
|
@@ -1,6 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
# rubocop:disable Metrics/ClassLength
|
4
3
|
module OhlohScm
|
5
4
|
module Bzr
|
6
5
|
class Activity < OhlohScm::Activity
|
@@ -75,7 +74,8 @@ module OhlohScm
|
|
75
74
|
end
|
76
75
|
|
77
76
|
def head_token
|
78
|
-
run("bzr log --limit 1 --show-id #{url} 2> /dev/null
|
77
|
+
run("bzr log --limit 1 --show-id #{url} 2> /dev/null"\
|
78
|
+
" | grep ^revision-id | cut -f2 -d' '").strip
|
79
79
|
end
|
80
80
|
|
81
81
|
def head
|
@@ -187,4 +187,3 @@ module OhlohScm
|
|
187
187
|
end
|
188
188
|
end
|
189
189
|
end
|
190
|
-
# rubocop:enable Metrics/ClassLength
|
@@ -1,8 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'ohloh_scm/data/git_ignore_list'
|
4
|
-
|
5
|
-
# rubocop:disable Metrics/ClassLength
|
6
4
|
module OhlohScm
|
7
5
|
module Git
|
8
6
|
class Activity < OhlohScm::Activity
|
@@ -314,4 +312,3 @@ module OhlohScm
|
|
314
312
|
end
|
315
313
|
end
|
316
314
|
end
|
317
|
-
# rubocop:enable Metrics/ClassLength
|
data/lib/ohloh_scm/git/scm.rb
CHANGED
@@ -57,6 +57,7 @@ module OhlohScm
|
|
57
57
|
end
|
58
58
|
|
59
59
|
# We need very high reliability and this sequence gets the job done every time.
|
60
|
+
# rubocop:disable Metrics/AbcSize
|
60
61
|
def clean_and_checkout_branch
|
61
62
|
return unless status.scm_dir_exist?
|
62
63
|
|
@@ -67,19 +68,22 @@ module OhlohScm
|
|
67
68
|
run "cd '#{url}' && git checkout #{branch_name} --"
|
68
69
|
run "cd '#{url}' && git reset --hard heads/#{branch_name} --"
|
69
70
|
end
|
71
|
+
# rubocop:enable Metrics/AbcSize
|
70
72
|
|
71
73
|
def create_tracking_branch(branch_name)
|
72
74
|
return if branch_name.to_s.empty?
|
73
75
|
return if activity.branches.include?(branch_name)
|
74
76
|
|
75
|
-
run
|
77
|
+
run("cd '#{url}' && git remote update && "\
|
78
|
+
"git branch -f #{branch_name} origin/#{branch_name}")
|
76
79
|
end
|
77
80
|
|
78
81
|
# Deletes everything but the *.git* folder in the working directory.
|
79
82
|
def clean_up_disk
|
80
83
|
return unless Dir.exist?(url)
|
81
84
|
|
82
|
-
run "cd #{url} &&
|
85
|
+
run "cd #{url} && "\
|
86
|
+
"find . -maxdepth 1 -not -name .git -not -name '*.nfs*' -not -name . -print0"\
|
83
87
|
' | xargs -0 rm -rf --'
|
84
88
|
end
|
85
89
|
|
@@ -88,7 +88,8 @@ module OhlohScm
|
|
88
88
|
def clean_up_disk
|
89
89
|
return unless File.exist?(url)
|
90
90
|
|
91
|
-
run "cd #{url} &&
|
91
|
+
run "cd #{url} && "\
|
92
|
+
"find . -maxdepth 1 -not -name .git -not -name '*.nfs*' -not -name . -print0"\
|
92
93
|
' | xargs -0 rm -rf --'
|
93
94
|
end
|
94
95
|
end
|
@@ -1,8 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'shellwords'
|
4
|
-
|
5
|
-
# rubocop:disable Metrics/ClassLength
|
6
4
|
module OhlohScm
|
7
5
|
module Hg
|
8
6
|
class Activity < OhlohScm::Activity
|
@@ -185,4 +183,3 @@ module OhlohScm
|
|
185
183
|
end
|
186
184
|
end
|
187
185
|
end
|
188
|
-
# rubocop:enable Metrics/ClassLength
|
data/lib/ohloh_scm/hg/scm.rb
CHANGED
@@ -19,7 +19,7 @@ module OhlohScm
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def checkout_files(names)
|
22
|
-
pattern = "(#{
|
22
|
+
pattern = "(#{names.join('|')})"
|
23
23
|
run "cd #{url} && hg revert $(hg manifest | grep -P '#{pattern}')"
|
24
24
|
end
|
25
25
|
|
@@ -48,7 +48,8 @@ module OhlohScm
|
|
48
48
|
def clean_up_disk
|
49
49
|
return unless FileTest.exist?(url)
|
50
50
|
|
51
|
-
run "cd #{url} &&
|
51
|
+
run "cd #{url} && "\
|
52
|
+
"find . -maxdepth 1 -not -name .hg -not -name '*.nfs*' -not -name . -print0"\
|
52
53
|
' | xargs -0 rm -rf --'
|
53
54
|
end
|
54
55
|
end
|
data/lib/ohloh_scm/version.rb
CHANGED
@@ -7,8 +7,8 @@ describe 'Git::Activity' do
|
|
7
7
|
with_git_repository('git') do |git|
|
8
8
|
tmpdir do |dir|
|
9
9
|
git.activity.export(dir)
|
10
|
-
|
11
|
-
|
10
|
+
entries = [".", "..", ".gitignore", "COPYING", "Gemfile.lock", "Godeps", "README", "helloworld.c", "makefile", "nested", "ohloh_token"]
|
11
|
+
Dir.entries(dir).sort.must_equal entries
|
12
12
|
end
|
13
13
|
end
|
14
14
|
end
|
@@ -79,8 +79,8 @@ describe 'Git::Activity' do
|
|
79
79
|
it 'must return correct head' do
|
80
80
|
with_git_repository('git') do |git|
|
81
81
|
assert git.status.exist?
|
82
|
-
git.activity.head_token.must_equal '
|
83
|
-
git.activity.head.token.must_equal '
|
82
|
+
git.activity.head_token.must_equal 'a2690f4471a0852723f0f0e95d97f7f1f3981639'
|
83
|
+
git.activity.head.token.must_equal 'a2690f4471a0852723f0f0e95d97f7f1f3981639'
|
84
84
|
assert git.activity.head.diffs.any?
|
85
85
|
end
|
86
86
|
end
|
@@ -93,9 +93,9 @@ describe 'Git::Activity' do
|
|
93
93
|
|
94
94
|
it 'commit_count' do
|
95
95
|
with_git_repository('git') do |git|
|
96
|
-
git.activity.commit_count.must_equal
|
97
|
-
git.activity.commit_count(after: 'b6e9220c3cabe53a4ed7f32952aeaeb8a822603d').must_equal
|
98
|
-
git.activity.commit_count(after: '1df547800dcd168e589bb9b26b4039bff3a7f7e4').must_equal
|
96
|
+
git.activity.commit_count.must_equal 5
|
97
|
+
git.activity.commit_count(after: 'b6e9220c3cabe53a4ed7f32952aeaeb8a822603d').must_equal 3
|
98
|
+
git.activity.commit_count(after: '1df547800dcd168e589bb9b26b4039bff3a7f7e4').must_equal 1
|
99
99
|
end
|
100
100
|
end
|
101
101
|
|
@@ -104,12 +104,13 @@ describe 'Git::Activity' do
|
|
104
104
|
git.activity.commit_tokens.must_equal %w[089c527c61235bd0793c49109b5bd34d439848c6
|
105
105
|
b6e9220c3cabe53a4ed7f32952aeaeb8a822603d
|
106
106
|
2e9366dd7a786fdb35f211fff1c8ea05c51968b1
|
107
|
-
1df547800dcd168e589bb9b26b4039bff3a7f7e4
|
107
|
+
1df547800dcd168e589bb9b26b4039bff3a7f7e4
|
108
|
+
a2690f4471a0852723f0f0e95d97f7f1f3981639]
|
108
109
|
|
109
110
|
git.activity.commit_tokens(after: '2e9366dd7a786fdb35f211fff1c8ea05c51968b1')
|
110
|
-
.must_equal [
|
111
|
+
.must_equal %w[1df547800dcd168e589bb9b26b4039bff3a7f7e4 a2690f4471a0852723f0f0e95d97f7f1f3981639]
|
111
112
|
|
112
|
-
git.activity.commit_tokens(after: '
|
113
|
+
git.activity.commit_tokens(after: 'a2690f4471a0852723f0f0e95d97f7f1f3981639').must_be :empty?
|
113
114
|
end
|
114
115
|
end
|
115
116
|
|
@@ -118,12 +119,13 @@ describe 'Git::Activity' do
|
|
118
119
|
git.activity.commits.collect(&:token).must_equal %w[089c527c61235bd0793c49109b5bd34d439848c6
|
119
120
|
b6e9220c3cabe53a4ed7f32952aeaeb8a822603d
|
120
121
|
2e9366dd7a786fdb35f211fff1c8ea05c51968b1
|
121
|
-
1df547800dcd168e589bb9b26b4039bff3a7f7e4
|
122
|
+
1df547800dcd168e589bb9b26b4039bff3a7f7e4
|
123
|
+
a2690f4471a0852723f0f0e95d97f7f1f3981639]
|
122
124
|
|
123
125
|
git.activity.commits(after: '2e9366dd7a786fdb35f211fff1c8ea05c51968b1').collect(&:token)
|
124
|
-
.must_equal [
|
126
|
+
.must_equal %w[1df547800dcd168e589bb9b26b4039bff3a7f7e4 a2690f4471a0852723f0f0e95d97f7f1f3981639]
|
125
127
|
|
126
|
-
git.activity.commits(after: '
|
128
|
+
git.activity.commits(after: 'a2690f4471a0852723f0f0e95d97f7f1f3981639').must_be :empty?
|
127
129
|
end
|
128
130
|
end
|
129
131
|
|
@@ -3,8 +3,8 @@ require 'spec_helper'
|
|
3
3
|
describe 'Hg::Activity' do
|
4
4
|
it 'must fetch tags' do
|
5
5
|
with_hg_repository('hg') do |hg|
|
6
|
-
time = Time.parse('
|
7
|
-
hg.activity.tags.first.must_equal ['tip', '
|
6
|
+
time = Time.parse('Mon Sep 19 15:27:19 2022 +0000')
|
7
|
+
hg.activity.tags.first.must_equal ['tip', '6', time]
|
8
8
|
hg.activity.tags.last.first(2).must_equal ['tagname with space', '2']
|
9
9
|
end
|
10
10
|
end
|
@@ -13,7 +13,8 @@ describe 'Hg::Activity' do
|
|
13
13
|
with_hg_repository('hg') do |hg|
|
14
14
|
Dir.mktmpdir do |dir|
|
15
15
|
hg.activity.export(dir)
|
16
|
-
|
16
|
+
entries = [".", "..", ".hgtags", "Gemfile.lock", "Godeps", "README", "makefile", "nested", "two"]
|
17
|
+
Dir.entries(dir).sort.must_equal entries
|
17
18
|
end
|
18
19
|
end
|
19
20
|
end
|
@@ -21,18 +22,18 @@ describe 'Hg::Activity' do
|
|
21
22
|
describe 'commits' do
|
22
23
|
it 'commit_count' do
|
23
24
|
with_hg_repository('hg') do |hg|
|
24
|
-
hg.activity.commit_count.must_equal
|
25
|
-
hg.activity.commit_count(after: 'b14fa4692f949940bd1e28da6fb4617de2615484').must_equal
|
26
|
-
hg.activity.commit_count(after: '655f04cf6ad708ab58c7b941672dce09dd369a18').must_equal
|
25
|
+
hg.activity.commit_count.must_equal 6
|
26
|
+
hg.activity.commit_count(after: 'b14fa4692f949940bd1e28da6fb4617de2615484').must_equal 4
|
27
|
+
hg.activity.commit_count(after: '655f04cf6ad708ab58c7b941672dce09dd369a18').must_equal 1
|
27
28
|
end
|
28
29
|
end
|
29
30
|
|
30
31
|
it 'commit_count_with_empty_branch' do
|
31
32
|
with_hg_repository('hg', '') do |hg|
|
32
33
|
hg.scm.branch_name.must_be_nil
|
33
|
-
hg.activity.commit_count.must_equal
|
34
|
-
hg.activity.commit_count(after: 'b14fa4692f949940bd1e28da6fb4617de2615484').must_equal
|
35
|
-
hg.activity.commit_count(after: '655f04cf6ad708ab58c7b941672dce09dd369a18').must_equal
|
34
|
+
hg.activity.commit_count.must_equal 6
|
35
|
+
hg.activity.commit_count(after: 'b14fa4692f949940bd1e28da6fb4617de2615484').must_equal 4
|
36
|
+
hg.activity.commit_count(after: '655f04cf6ad708ab58c7b941672dce09dd369a18').must_equal 1
|
36
37
|
end
|
37
38
|
end
|
38
39
|
|
@@ -42,15 +43,16 @@ describe 'Hg::Activity' do
|
|
42
43
|
b14fa4692f949940bd1e28da6fb4617de2615484
|
43
44
|
468336c6671cbc58237a259d1b7326866afc2817
|
44
45
|
75532c1e1f1de55c2271f6fd29d98efbe35397c4
|
45
|
-
655f04cf6ad708ab58c7b941672dce09dd369a18
|
46
|
+
655f04cf6ad708ab58c7b941672dce09dd369a18
|
47
|
+
1f45520fff3982761cfe7a0502ad0888d5783efe])
|
46
48
|
|
47
|
-
after = '
|
48
|
-
hg.activity.commits(after: after).map(&:token).must_equal ['
|
49
|
+
after = '655f04cf6ad708ab58c7b941672dce09dd369a18'
|
50
|
+
hg.activity.commits(after: after).map(&:token).must_equal ['1f45520fff3982761cfe7a0502ad0888d5783efe']
|
49
51
|
|
50
52
|
# Check that the diffs are not populated
|
51
|
-
hg.activity.commits(after: '
|
53
|
+
hg.activity.commits(after: '655f04cf6ad708ab58c7b941672dce09dd369a18').first.diffs.must_be :empty?
|
52
54
|
|
53
|
-
hg.activity.commits(after: '
|
55
|
+
hg.activity.commits(after: '1f45520fff3982761cfe7a0502ad0888d5783efe').must_be :empty?
|
54
56
|
end
|
55
57
|
end
|
56
58
|
|
@@ -113,7 +115,8 @@ describe 'Hg::Activity' do
|
|
113
115
|
b14fa4692f949940bd1e28da6fb4617de2615484
|
114
116
|
468336c6671cbc58237a259d1b7326866afc2817
|
115
117
|
75532c1e1f1de55c2271f6fd29d98efbe35397c4
|
116
|
-
655f04cf6ad708ab58c7b941672dce09dd369a18
|
118
|
+
655f04cf6ad708ab58c7b941672dce09dd369a18
|
119
|
+
1f45520fff3982761cfe7a0502ad0888d5783efe])
|
117
120
|
end
|
118
121
|
end
|
119
122
|
|
@@ -138,7 +141,8 @@ describe 'Hg::Activity' do
|
|
138
141
|
commits << c
|
139
142
|
end
|
140
143
|
commits.map(&:token).must_equal(%w[75532c1e1f1de55c2271f6fd29d98efbe35397c4
|
141
|
-
655f04cf6ad708ab58c7b941672dce09dd369a18
|
144
|
+
655f04cf6ad708ab58c7b941672dce09dd369a18
|
145
|
+
1f45520fff3982761cfe7a0502ad0888d5783efe])
|
142
146
|
end
|
143
147
|
end
|
144
148
|
|
@@ -166,8 +170,8 @@ describe 'Hg::Activity' do
|
|
166
170
|
describe 'head' do
|
167
171
|
it 'hg_head_and_parents' do
|
168
172
|
with_hg_repository('hg') do |hg|
|
169
|
-
hg.activity.head_token.must_equal '
|
170
|
-
hg.activity.head.token.must_equal '
|
173
|
+
hg.activity.head_token.must_equal '1f45520fff3982761cfe7a0502ad0888d5783efe'
|
174
|
+
hg.activity.head.token.must_equal '1f45520fff3982761cfe7a0502ad0888d5783efe'
|
171
175
|
assert hg.activity.head.diffs.any? # diffs should be populated
|
172
176
|
end
|
173
177
|
end
|
@@ -187,18 +191,20 @@ describe 'Hg::Activity' do
|
|
187
191
|
b14fa4692f949940bd1e28da6fb4617de2615484
|
188
192
|
468336c6671cbc58237a259d1b7326866afc2817
|
189
193
|
75532c1e1f1de55c2271f6fd29d98efbe35397c4
|
190
|
-
655f04cf6ad708ab58c7b941672dce09dd369a18
|
194
|
+
655f04cf6ad708ab58c7b941672dce09dd369a18
|
195
|
+
1f45520fff3982761cfe7a0502ad0888d5783efe])
|
191
196
|
|
192
197
|
after = '01101d8ef3cea7da9ac6e9a226d645f4418f05c9'
|
193
198
|
hg.activity.commit_tokens(after: after).must_equal(%w[b14fa4692f949940bd1e28da6fb4617de2615484
|
194
199
|
468336c6671cbc58237a259d1b7326866afc2817
|
195
200
|
75532c1e1f1de55c2271f6fd29d98efbe35397c4
|
196
|
-
655f04cf6ad708ab58c7b941672dce09dd369a18
|
201
|
+
655f04cf6ad708ab58c7b941672dce09dd369a18
|
202
|
+
1f45520fff3982761cfe7a0502ad0888d5783efe])
|
197
203
|
|
198
|
-
after = '
|
199
|
-
hg.activity.commit_tokens(after: after).must_equal ['
|
204
|
+
after = '655f04cf6ad708ab58c7b941672dce09dd369a18'
|
205
|
+
hg.activity.commit_tokens(after: after).must_equal ['1f45520fff3982761cfe7a0502ad0888d5783efe']
|
200
206
|
|
201
|
-
hg.activity.commit_tokens(after: '
|
207
|
+
hg.activity.commit_tokens(after: '1f45520fff3982761cfe7a0502ad0888d5783efe').must_be :empty?
|
202
208
|
end
|
203
209
|
end
|
204
210
|
|
@@ -161,31 +161,31 @@ describe 'HgParser' do
|
|
161
161
|
protected
|
162
162
|
|
163
163
|
def assert_styled_commits(commits, with_diffs = false)
|
164
|
-
commits.size.must_equal
|
164
|
+
commits.size.must_equal 6
|
165
165
|
|
166
|
-
commits[1].token.must_equal '
|
167
|
-
commits[1].committer_name.must_equal '
|
168
|
-
commits[1].committer_email.must_equal '
|
166
|
+
commits[1].token.must_equal '655f04cf6ad708ab58c7b941672dce09dd369a18'
|
167
|
+
commits[1].committer_name.must_equal 'Alex'
|
168
|
+
commits[1].committer_email.must_equal 'alex@example.com'
|
169
169
|
assert Time.utc(2009, 1, 20, 19, 34, 53) - commits[1].committer_date < 1 # Don't care about milliseconds
|
170
|
-
commits[1].message.must_equal "
|
170
|
+
commits[1].message.must_equal "Adding file two\n"
|
171
171
|
|
172
172
|
if with_diffs
|
173
173
|
commits[1].diffs.size.must_equal 1
|
174
|
-
commits[1].diffs[0].action.must_equal '
|
175
|
-
commits[1].diffs[0].path.must_equal '
|
174
|
+
commits[1].diffs[0].action.must_equal 'A'
|
175
|
+
commits[1].diffs[0].path.must_equal 'two'
|
176
176
|
else
|
177
177
|
commits[1].diffs.must_equal []
|
178
178
|
end
|
179
179
|
|
180
|
-
commits[2].token.must_equal '
|
180
|
+
commits[2].token.must_equal '75532c1e1f1de55c2271f6fd29d98efbe35397c4'
|
181
181
|
assert Time.utc(2009, 1, 20, 19, 34, 4) - commits[2].committer_date < 1
|
182
182
|
|
183
183
|
if with_diffs
|
184
|
-
commits[
|
185
|
-
commits[
|
186
|
-
commits[
|
187
|
-
commits[
|
188
|
-
commits[
|
184
|
+
commits[3].diffs.size.must_equal 2
|
185
|
+
commits[3].diffs[0].action.must_equal 'M'
|
186
|
+
commits[3].diffs[0].path.must_equal 'helloworld.c'
|
187
|
+
commits[3].diffs[1].action.must_equal 'A'
|
188
|
+
commits[3].diffs[1].path.must_equal 'README'
|
189
189
|
else
|
190
190
|
commits[0].diffs.must_equal []
|
191
191
|
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: 3.0.
|
4
|
+
version: 3.0.21
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- OpenHub Team at Synopsys
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-02-08 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: |-
|
14
14
|
The OpenHub source control management library for \
|
@@ -25,6 +25,7 @@ files:
|
|
25
25
|
- ".bin/run-tests"
|
26
26
|
- ".bin/string_encoder"
|
27
27
|
- ".git_hooks/pre-commit"
|
28
|
+
- ".github/workflows/ci.yml"
|
28
29
|
- ".github/workflows/coverity.yml"
|
29
30
|
- ".gitignore"
|
30
31
|
- ".rubocop.yml"
|