tractive 1.0.21 → 1.0.25

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7a10eeb2f828d2d135d48f0f6437f669c939104e17ef1b777e42d29e59aac5dc
4
- data.tar.gz: df20934dfee4b890c9f633df93955f60d237987743c48f12a95a4bb8cb1b8806
3
+ metadata.gz: 8a7508c99649ff11344e9456302900a4aa7fbadbb69eeadd722b55051bd22986
4
+ data.tar.gz: d6b909e3870a8078dedd18f5ee07f47464661ee2eec12638d1ae48b877246b75
5
5
  SHA512:
6
- metadata.gz: 8dbc73bbf823c89b05267fb42991401f33c6e1097488b0e49bd4ec87a3c457ddfa500d6d16fd88793a6bb9ccd4a2c27514a74b1ca3e5c10786184284d691ae7f
7
- data.tar.gz: ca6165b8852a0c5609737f5794683e8bb82c522934f861d59eb798a2475d8662b95742a76cd19c585a45980aa4a12cfaf3a35f169235c74ae2adb43851b667e4
6
+ metadata.gz: daf2cfe63bba64235429e51e53e4b1bb89e67fd13aff56794c89104f049fe4465173bc2519ee99198443730036f8112e22cf8e2a09a805019a070595404f2300
7
+ data.tar.gz: b43eb5f2fed5b47397052936027b7a0de60b5cde6dfe4ad685969291aa88c26a03c22a99e6c209840c1f746565640a37a7f2d939640463dd7e464c3225955e70
data/Gemfile CHANGED
@@ -5,6 +5,8 @@ source "https://rubygems.org"
5
5
  # Specify your gem's dependencies in tractive.gemspec
6
6
  gemspec
7
7
 
8
+ gem "pry"
9
+
8
10
  gem "rake", "~> 13.0"
9
11
 
10
12
  gem "rspec", "~> 3.0"
data/exe/command_base.rb CHANGED
File without changes
data/exe/generate.rb CHANGED
File without changes
@@ -26,6 +26,8 @@ module GithubApi
26
26
  GithubApi::GraphQlClient.const_set("Schema", GraphQL::Client.load_schema(HttpAdapter))
27
27
  GithubApi::GraphQlClient.const_set("Client", GraphQL::Client.new(schema: Schema, execute: HttpAdapter))
28
28
  GithubApi::GraphQlClient.const_set("DeleteIssueQuery", Client.parse(DELETE_ISSUE_QUERY))
29
+ rescue KeyError
30
+ raise ::StandardError, "Github access token is incorrect or does not have sufficent permissions to access the Github API"
29
31
  end
30
32
  end
31
33
  end
data/lib/tractive/main.rb CHANGED
@@ -8,16 +8,21 @@ module Tractive
8
8
  @opts = opts
9
9
  @cfg = YAML.load_file(@opts[:config])
10
10
 
11
+ Tractive::Utilities.setup_logger(output_stream: @opts[:logfile] || $stderr, verbose: @opts[:verbose])
12
+
13
+ verify_config!(@cfg, @opts)
14
+
11
15
  @cfg["github"] ||= {}
12
16
  @cfg["github"]["token"] = @opts["git-token"] if @opts["git-token"]
13
17
 
14
18
  GithubApi::GraphQlClient.add_constants(@cfg["github"]["token"]) unless @opts[:info]
15
19
 
16
- Tractive::Utilities.setup_logger(output_stream: @opts[:logfile] || $stderr, verbose: @opts[:verbose])
17
20
  @db = Tractive::Utilities.setup_db!(@opts["trac-database-path"] || @cfg["trac"]["database"])
18
21
  rescue Sequel::DatabaseConnectionError, Sequel::AdapterNotFound, URI::InvalidURIError, Sequel::DatabaseError => e
19
22
  $logger.error e.message
20
23
  exit 1
24
+ rescue StandardError => e
25
+ warn_and_exit(e.message, 1)
21
26
  end
22
27
 
23
28
  def run
@@ -56,6 +61,15 @@ module Tractive
56
61
 
57
62
  private
58
63
 
64
+ def verify_config!(config, options)
65
+ database_path_missing_error = <<~DATABASE_PATH_MISSING_ERROR
66
+ Missing path for trac database which can be set using `--trac-database-path` or can
67
+ be set in config file (see https://github.com/ietf-ribose/tractive#trac-configuration)
68
+ DATABASE_PATH_MISSING_ERROR
69
+
70
+ warn_and_exit(database_path_missing_error, 1) if !options["trac-database-path"] && !(config["trac"] && config["trac"]["database"])
71
+ end
72
+
59
73
  def verify_options!(options)
60
74
  verify_config_options!(options)
61
75
  verify_filter_options!(options)
@@ -80,9 +80,14 @@ module Migrator
80
80
  changes.each do |change|
81
81
  kind = change[:field] || "attachment"
82
82
 
83
- next unless interested_in_change?(kind, change[:newvalue])
83
+ next if %w[cc reporter version].include?(kind)
84
84
 
85
- if kind == "comment" || (kind == "attachment" && change[:description] != "")
85
+ if kind == "comment" && (change[:newvalue].nil? || change[:newvalue].lstrip.empty?)
86
+ curr_index += 1
87
+ next
88
+ end
89
+
90
+ if kind == "comment"
86
91
  @comments_map[curr_index] = index
87
92
  curr_index += 1
88
93
  end
@@ -171,7 +176,7 @@ module Migrator
171
176
 
172
177
  if @users.key?(ticket[:owner])
173
178
  owner = trac_mail(ticket[:owner])
174
- github_owner = @users[owner]["username"]
179
+ github_owner = extract_github_owner_username(owner)
175
180
  $logger.debug("..owner in trac: #{owner}")
176
181
  $logger.debug("..assignee in GitHub: #{github_owner}")
177
182
  issue["assignee"] = github_owner
@@ -184,13 +189,7 @@ module Migrator
184
189
  # issue["updated_at"] = format_time(ticket[:changetime])
185
190
  end
186
191
 
187
- if issue["closed"]
188
- issue["closed_at"] = if closed_time
189
- format_time(closed_time)
190
- else
191
- format_time(ticket[:closed_at].to_i)
192
- end
193
- end
192
+ issue["closed_at"] = format_time(closed_time || ticket[:closed_at].to_i) if issue["closed"]
194
193
 
195
194
  {
196
195
  "issue" => issue,
@@ -378,6 +377,17 @@ module Migrator
378
377
 
379
378
  "[trac:#{ticket[:id]}](#{@trac_ticket_base_url}/#{ticket[:id]})"
380
379
  end
380
+
381
+ def extract_github_owner_username(owner)
382
+ if !owner || !@users[owner]
383
+ raise(
384
+ StandardError,
385
+ "Unable to find Github username for #{owner}, this can be set in the config file."
386
+ )
387
+ end
388
+
389
+ @users[owner]["username"]
390
+ end
381
391
  end
382
392
  end
383
393
  end
@@ -63,7 +63,7 @@ module Migrator
63
63
  @safetychecks = safetychecks
64
64
  @start_ticket = (start_ticket || (@last_created_issue + 1)).to_i
65
65
  @filter_closed = filter_closed
66
- @delete_mocked_tickets = args[:cfg]["ticket"]["delete_mocked"]
66
+ @delete_mocked_tickets = args[:cfg]["ticket"]["delete_mocked"] if args[:cfg]["ticket"]
67
67
  end
68
68
 
69
69
  def migrate
@@ -74,6 +74,9 @@ module Migrator
74
74
  else
75
75
  migrate_from_db
76
76
  end
77
+ rescue StandardError => e
78
+ $logger.error e.message
79
+ exit 1
77
80
  end
78
81
 
79
82
  private
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Tractive
4
- VERSION = "1.0.21"
4
+ VERSION = "1.0.25"
5
5
  end
data/tractive.gemspec CHANGED
@@ -35,6 +35,4 @@ Gem::Specification.new do |spec|
35
35
  spec.add_dependency "sequel"
36
36
  spec.add_dependency "sqlite3"
37
37
  spec.add_dependency "thor"
38
-
39
- spec.add_development_dependency "pry"
40
38
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tractive
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.21
4
+ version: 1.0.25
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-03-01 00:00:00.000000000 Z
11
+ date: 2023-10-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: graphql
@@ -122,20 +122,6 @@ dependencies:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
- - !ruby/object:Gem::Dependency
126
- name: pry
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
125
  description:
140
126
  email:
141
127
  - open.source@ribose.com
@@ -225,7 +211,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
225
211
  - !ruby/object:Gem::Version
226
212
  version: '0'
227
213
  requirements: []
228
- rubygems_version: 3.1.2
214
+ rubygems_version: 3.3.7
229
215
  signing_key:
230
216
  specification_version: 4
231
217
  summary: Exporting tool for Trac