avm-git 0.13.4 → 0.15.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 97b90e458de2c4249f60e964c1d95564bd46dbe0f4fd754ce591f475ba13313f
4
- data.tar.gz: 03bc99cf2b5863dc919a8d06f92711959c8f3fd8b4ae360500528a5b82f74a9a
3
+ metadata.gz: '069dd4b5903571ba7437e10f037563d08a7be64d9066e37c4fde8dbb2e2ec221'
4
+ data.tar.gz: 757222ff60fabf5df18cdc42152adc5013208ada07132a2a554412a0a8a79f8d
5
5
  SHA512:
6
- metadata.gz: afb7e4062254feab12e955691537fabe63c5a31318aa4965a31b807c40636ade3835dd90649bff89b830eb79d666d73680e0b74501910b1d7f58f9c5eed009c7
7
- data.tar.gz: aba1de78c58adcfee8009bf3a02f2ac7e87ff97a0313643745dd393416d76559ba02197ebab4e345244758d6e8de80f2f726957360f58b3edab5608c8a4b7129
6
+ metadata.gz: 78921f2c0c1c40525726b8a9dd466e877ac601cc2239ed48f771f0322d3e386ac9405b5f1c3993893dea4fa38e4689a3caf6dafeeca26ebdad47c45e12ee5073
7
+ data.tar.gz: 17e20fe9e5b9ddca9c8185e9ee31133d870e3f533d011294fea343c596bb912414ef3084885c6493ff01bc333797b2a104542f3c3099311f6aba5ccec602b0e0
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/application_scms/base'
4
+ require 'eac_git/local'
5
+ require 'eac_git/remote'
6
+ require 'eac_ruby_utils/core_ext'
7
+
8
+ module Avm
9
+ module Git
10
+ module ApplicationScms
11
+ class Base < ::Avm::ApplicationScms::Base
12
+ class AssertMainAt
13
+ MAIN_REFERENCE = 'HEAD'
14
+
15
+ acts_as_instance_method
16
+ enable_simple_cache
17
+ common_constructor :base, :path
18
+
19
+ # @return [Pathname]
20
+ def result
21
+ local_repos.remote(base.git_https_url).fetch
22
+ local_repos.command('checkout', remote_head_commit_id).execute!
23
+ path
24
+ end
25
+
26
+ private
27
+
28
+ # @return [String]
29
+ def remote_head_commit_id
30
+ remote_repos.ls.fetch(MAIN_REFERENCE)
31
+ end
32
+
33
+ # @return [EacGit::Local]
34
+ def local_repos_uncached
35
+ path.mkpath
36
+ r = ::EacGit::Local.new(path)
37
+ r.command('init').execute! unless r.root_path.join('.git').exist?
38
+ r
39
+ end
40
+
41
+ # @return [EacGit::Remote]
42
+ def remote_repos_uncached
43
+ ::EacGit::Remote.new(base.git_https_url)
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/application_scms/base'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Git
8
+ module ApplicationScms
9
+ class Base < ::Avm::ApplicationScms::Base
10
+ acts_as_abstract
11
+
12
+ # @return [Addressable::URI]
13
+ def git_https_url
14
+ raise_abstract_method __method__
15
+ end
16
+
17
+ require_sub __FILE__, require_mode: :kernel
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module Git
7
+ module ApplicationScms
8
+ require_sub __FILE__
9
+ end
10
+ end
11
+ end
@@ -32,8 +32,8 @@ module Avm
32
32
  end
33
33
 
34
34
  def commit_parents(commit)
35
- launcher_git.execute!('log', '--pretty=%P', '-n', '1', commit).split(' ').map(&:strip)
36
- .select(&:present?)
35
+ launcher_git.execute!('log', '--pretty=%P', '-n', '1', commit).split.map(&:strip)
36
+ .select(&:present?)
37
37
  end
38
38
  end
39
39
  end
@@ -25,11 +25,11 @@ module Avm
25
25
  end
26
26
 
27
27
  def pushs_uncached
28
- [master_push, remove_branch_push, tag_push].reject(&:nil?)
28
+ [master_push, remove_branch_push, tag_push].compact
29
29
  end
30
30
 
31
31
  def master_push
32
- remote_master_hash != branch_hash ? "#{branch_hash}:refs/heads/master" : nil
32
+ remote_master_hash == branch_hash ? nil : "#{branch_hash}:refs/heads/master"
33
33
  end
34
34
 
35
35
  def remove_branch_push
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'avm/tools/core_ext'
3
+ require 'eac_cli/core_ext'
4
4
  require 'eac_git/local'
5
5
 
6
6
  module Avm
data/lib/avm/git/issue.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'eac_ruby_utils/require_sub'
4
- ::EacRubyUtils.require_sub(__FILE__)
4
+ EacRubyUtils.require_sub(__FILE__)
5
5
 
6
6
  module Avm
7
7
  module Git
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'active_support/core_ext/object'
3
+ require 'eac_ruby_utils/core_ext'
4
4
 
5
5
  module Avm
6
6
  module Git
@@ -9,11 +9,11 @@ module Avm
9
9
  module DirtyFiles
10
10
  delegate :dirty?, to: :eac_git
11
11
 
12
+ # @return [Array<Struct>]
12
13
  def dirty_files
13
14
  eac_git.dirty_files.map do |df|
14
- ::OpenStruct.new(
15
- df.to_h.merge(path: df.path.to_path, absolute_path: df.absolute_path.to_path)
16
- )
15
+ df.to_h.merge(path: df.path.to_path, absolute_path: df.absolute_path.to_path)
16
+ .to_struct
17
17
  end
18
18
  end
19
19
  end
@@ -30,7 +30,7 @@ module Avm
30
30
  def subrepo_status_parse_output(output)
31
31
  r = {}.with_indifferent_access
32
32
  output.each_line do |l|
33
- m = /\A([^\:]+)\:(.*)\z/.match(l.strip)
33
+ m = /\A([^\:]+):(.*)\z/.match(l.strip)
34
34
  next unless m && m[2].present?
35
35
 
36
36
  r[m[1].strip] = m[2].strip
@@ -19,6 +19,7 @@ module Avm
19
19
  include ::Avm::Git::Launcher::Base::Underlying
20
20
 
21
21
  attr_reader :eac_git
22
+
22
23
  delegate :descendant?, :merge_base, :rev_parse, to: :eac_git
23
24
 
24
25
  def initialize(path)
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/simple_cache'
4
3
  require 'eac_ruby_utils/simple_cache'
5
4
  require 'avm/launcher/publish/base'
6
5
  require 'avm/launcher/publish/check_result'
@@ -111,7 +110,7 @@ module Avm
111
110
  def remote_sha_uncached
112
111
  remote_fetch
113
112
  b = sgit.git.branches["#{remote_name}/#{remote_ref}"]
114
- b ? b.gcommit.sha : nil
113
+ b&.gcommit&.sha
115
114
  end
116
115
 
117
116
  def remote_fetch_uncached
@@ -13,10 +13,10 @@ module Avm
13
13
  end
14
14
 
15
15
  def ls
16
- git.execute!(['ls-remote', name]).each_line.map do |line|
16
+ git.execute!(['ls-remote', name]).each_line.to_h do |line|
17
17
  x = line.strip.split(/\s+/)
18
18
  [x[1], x[0]]
19
- end.to_h
19
+ end
20
20
  end
21
21
 
22
22
  # +git remote add ...+
@@ -33,8 +33,9 @@ module Avm
33
33
  return
34
34
  end
35
35
 
36
- raise ::Avm::Launcher::Instances::Error, 'Refspec ' \
37
- "\"#{source_instance.options.git_current_revision}\" not found in \"#{source_git}\""
36
+ raise ::Avm::Launcher::Instances::Error,
37
+ "Refspec \"#{source_instance.options.git_current_revision}\" " \
38
+ "not found in \"#{source_git}\""
38
39
  end
39
40
 
40
41
  def update
@@ -33,8 +33,8 @@ module Avm
33
33
  parent_git_warped.descendant?('HEAD', subrepo_parent_hash)
34
34
 
35
35
  raise Avm::Launcher::Errors::Base,
36
- "Subrepo parent hash \"#{subrepo_parent_hash}\"" \
37
- " not found in \"#{parent_git_warped}\""
36
+ "Subrepo parent hash \"#{subrepo_parent_hash}\" " \
37
+ "not found in \"#{parent_git_warped}\""
38
38
  end
39
39
 
40
40
  def subrepo_parent_hash
@@ -42,7 +42,7 @@ module Avm
42
42
 
43
43
  def all_references
44
44
  ::Pathname.glob("#{refs_root}/**/*").select(&:file?)
45
- .map { |p| p.relative_path_from(refs_root).to_path }
45
+ .map { |p| p.relative_path_from(refs_root).to_path }
46
46
  end
47
47
 
48
48
  def reference_update_by_ref(reference)
@@ -57,8 +57,8 @@ module Avm
57
57
  end
58
58
 
59
59
  def run_test
60
- infom "Running test command \"#{::Shellwords.join(test_command_args)}\"" \
61
- " on \"#{git_absolute_path}\"..."
60
+ infom "Running test command \"#{::Shellwords.join(test_command_args)}\" " \
61
+ "on \"#{git_absolute_path}\"..."
62
62
  result = ::EacRubyUtils::Ruby.on_clean_environment { test_command.execute }
63
63
  infom 'Test done'
64
64
  write_result_cache(result)
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/scms/branch'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Git
8
+ module Scms
9
+ class Git < ::Avm::Scms::Base
10
+ class Branch < ::Avm::Scms::Branch
11
+ common_constructor :scm, :eac_git_branch
12
+
13
+ # @return [Avm::Git::Scms::Git::Commit]
14
+ def head_commit
15
+ ::Avm::Git::Scms::Git::Commit.new(scm, eac_git_branch.head_commit)
16
+ end
17
+
18
+ # @return [String]
19
+ def id
20
+ eac_git_branch.name
21
+ end
22
+
23
+ # @param remote [Avm::Git::Scms::Git::Remote]
24
+ def push(remote)
25
+ eac_git_branch.push(remote.eac_git_remote, force: true)
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/scms/commit'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Git
8
+ module Scms
9
+ class Git < ::Avm::Scms::Base
10
+ module Branches
11
+ # @return [Avm::Git::Scms::Git::Branch]
12
+ def head_branch
13
+ ::Avm::Git::Scms::Git::Branch.new(self,
14
+ git_repo.current_branch)
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -9,6 +9,7 @@ module Avm
9
9
  class ChangeTracker
10
10
  common_constructor :git_scm, :commit_info
11
11
  attr_reader :starting_commit
12
+
12
13
  delegate :git_repo, to: :git_scm
13
14
 
14
15
  def start
@@ -15,7 +15,7 @@ module Avm
15
15
  delegate :git_repo, to: :git_scm
16
16
  delegate :id, to: :git_commit
17
17
 
18
- FIXUP_SUBJECT_PATTERN = /\Afixup\!/.freeze
18
+ FIXUP_SUBJECT_PATTERN = /\Afixup!/.freeze
19
19
 
20
20
  # @return [Array<Pathname>]
21
21
  def changed_files
@@ -17,7 +17,7 @@ module Avm
17
17
  # @return [Array<Avm::Git::Scms::Git::Commit>]
18
18
  def commits
19
19
  scm.git_repo.command('log', '--pretty=format:%H', git_commit_interval).execute!
20
- .each_line.map { |sha1| scm.commit(sha1.strip) }
20
+ .each_line.map { |sha1| scm.commit(sha1.strip) }
21
21
  end
22
22
 
23
23
  # @return [String]
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/scms/remote'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Git
8
+ module Scms
9
+ class Git < ::Avm::Scms::Base
10
+ class Remote < ::Avm::Scms::Remote
11
+ common_constructor :scm, :eac_git_remote
12
+
13
+ # @return [String]
14
+ def id
15
+ nyi eac_git_remote
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/git/scms/git/remote'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Git
8
+ module Scms
9
+ class Git < ::Avm::Scms::Base
10
+ module Remotes
11
+ DEFAULT_REMOTE_ID = 'origin'
12
+
13
+ # @return [Avm::Git::Scms::Git::Remote]
14
+ def default_remote
15
+ remote(default_remote_id)
16
+ end
17
+
18
+ # @return [String]
19
+ def default_remote_id
20
+ DEFAULT_REMOTE_ID
21
+ end
22
+
23
+ # @param id [String]
24
+ # @return [Avm::Git::Scms::Git::Remote]
25
+ def remote(id)
26
+ ::Avm::Git::Scms::Git::Remote.new(self, git_repo.remote(id))
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -15,7 +15,7 @@ module Avm
15
15
 
16
16
  def valid?
17
17
  return false unless ::Avm::Git::Scms::Provider
18
- .new.all.any? { |scm_class| parent_scm.is_a?(scm_class) }
18
+ .new.all.any? { |scm_class| parent_scm.is_a?(scm_class) }
19
19
 
20
20
  (::Avm::Git::Scms::Provider.new.all - [self.class])
21
21
  .lazy.map { |scm_class| scm_class.new(path) }.none?(&:valid?)
@@ -24,7 +24,7 @@ module Avm
24
24
  end
25
25
 
26
26
  def out_attr(key, value)
27
- out('|' + "#{key}=".white + value)
27
+ out("|#{"#{key}=".white}#{value}")
28
28
  end
29
29
  end
30
30
  end
@@ -9,6 +9,7 @@ module Avm
9
9
  enable_speaker
10
10
  enable_simple_cache
11
11
  attr_accessor :check_remote, :fix_parent
12
+
12
13
  common_constructor :repository
13
14
 
14
15
  def add_all_subrepos
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module Git
5
- VERSION = '0.13.4'
5
+ VERSION = '0.15.0'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: avm-git
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.4
4
+ version: 0.15.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Put here the authors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-09-05 00:00:00.000000000 Z
11
+ date: 2024-02-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: avm
@@ -16,122 +16,90 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.79'
19
+ version: '0.85'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.79'
26
+ version: '0.85'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: avm-files
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.6'
34
- - - ">="
35
- - !ruby/object:Gem::Version
36
- version: 0.6.2
33
+ version: '0.7'
37
34
  type: :runtime
38
35
  prerelease: false
39
36
  version_requirements: !ruby/object:Gem::Requirement
40
37
  requirements:
41
38
  - - "~>"
42
39
  - !ruby/object:Gem::Version
43
- version: '0.6'
44
- - - ">="
45
- - !ruby/object:Gem::Version
46
- version: 0.6.2
40
+ version: '0.7'
47
41
  - !ruby/object:Gem::Dependency
48
42
  name: eac_git
49
43
  requirement: !ruby/object:Gem::Requirement
50
44
  requirements:
51
45
  - - "~>"
52
46
  - !ruby/object:Gem::Version
53
- version: '0.14'
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- version: 0.14.1
47
+ version: '0.16'
57
48
  type: :runtime
58
49
  prerelease: false
59
50
  version_requirements: !ruby/object:Gem::Requirement
60
51
  requirements:
61
52
  - - "~>"
62
53
  - !ruby/object:Gem::Version
63
- version: '0.14'
64
- - - ">="
65
- - !ruby/object:Gem::Version
66
- version: 0.14.1
54
+ version: '0.16'
67
55
  - !ruby/object:Gem::Dependency
68
56
  name: eac_ruby_utils
69
57
  requirement: !ruby/object:Gem::Requirement
70
58
  requirements:
71
59
  - - "~>"
72
60
  - !ruby/object:Gem::Version
73
- version: '0.119'
74
- - - ">="
75
- - !ruby/object:Gem::Version
76
- version: 0.119.1
61
+ version: '0.121'
77
62
  type: :runtime
78
63
  prerelease: false
79
64
  version_requirements: !ruby/object:Gem::Requirement
80
65
  requirements:
81
66
  - - "~>"
82
67
  - !ruby/object:Gem::Version
83
- version: '0.119'
84
- - - ">="
85
- - !ruby/object:Gem::Version
86
- version: 0.119.1
68
+ version: '0.121'
87
69
  - !ruby/object:Gem::Dependency
88
70
  name: git
89
71
  requirement: !ruby/object:Gem::Requirement
90
72
  requirements:
91
73
  - - "~>"
92
74
  - !ruby/object:Gem::Version
93
- version: '1.18'
94
- type: :runtime
95
- prerelease: false
96
- version_requirements: !ruby/object:Gem::Requirement
97
- requirements:
98
- - - "~>"
99
- - !ruby/object:Gem::Version
100
- version: '1.18'
101
- - !ruby/object:Gem::Dependency
102
- name: aranha-parsers
103
- requirement: !ruby/object:Gem::Requirement
104
- requirements:
105
- - - "~>"
106
- - !ruby/object:Gem::Version
107
- version: '0.8'
75
+ version: '1.19'
108
76
  - - ">="
109
77
  - !ruby/object:Gem::Version
110
- version: 0.8.5
111
- type: :development
78
+ version: 1.19.1
79
+ type: :runtime
112
80
  prerelease: false
113
81
  version_requirements: !ruby/object:Gem::Requirement
114
82
  requirements:
115
83
  - - "~>"
116
84
  - !ruby/object:Gem::Version
117
- version: '0.8'
85
+ version: '1.19'
118
86
  - - ">="
119
87
  - !ruby/object:Gem::Version
120
- version: 0.8.5
88
+ version: 1.19.1
121
89
  - !ruby/object:Gem::Dependency
122
90
  name: eac_ruby_gem_support
123
91
  requirement: !ruby/object:Gem::Requirement
124
92
  requirements:
125
93
  - - "~>"
126
94
  - !ruby/object:Gem::Version
127
- version: 0.7.0
95
+ version: '0.9'
128
96
  type: :development
129
97
  prerelease: false
130
98
  version_requirements: !ruby/object:Gem::Requirement
131
99
  requirements:
132
100
  - - "~>"
133
101
  - !ruby/object:Gem::Version
134
- version: 0.7.0
102
+ version: '0.9'
135
103
  description:
136
104
  email:
137
105
  executables: []
@@ -139,6 +107,9 @@ extensions: []
139
107
  extra_rdoc_files: []
140
108
  files:
141
109
  - lib/avm/git.rb
110
+ - lib/avm/git/application_scms.rb
111
+ - lib/avm/git/application_scms/base.rb
112
+ - lib/avm/git/application_scms/base/assert_main_at.rb
142
113
  - lib/avm/git/commit.rb
143
114
  - lib/avm/git/commit/class_methods.rb
144
115
  - lib/avm/git/commit/diff_tree_line.rb
@@ -156,7 +127,6 @@ files:
156
127
  - lib/avm/git/issue/complete/validation.rb
157
128
  - lib/avm/git/issue/complete/validations.rb
158
129
  - lib/avm/git/issue/complete/working_tree.rb
159
- - lib/avm/git/issue/deliver.rb
160
130
  - lib/avm/git/launcher.rb
161
131
  - lib/avm/git/launcher/base.rb
162
132
  - lib/avm/git/launcher/base/class_methods.rb
@@ -188,6 +158,8 @@ files:
188
158
  - lib/avm/git/revision_test.rb
189
159
  - lib/avm/git/scms.rb
190
160
  - lib/avm/git/scms/git.rb
161
+ - lib/avm/git/scms/git/branch.rb
162
+ - lib/avm/git/scms/git/branches.rb
191
163
  - lib/avm/git/scms/git/change_tracker.rb
192
164
  - lib/avm/git/scms/git/changed_file.rb
193
165
  - lib/avm/git/scms/git/changed_files.rb
@@ -198,6 +170,8 @@ files:
198
170
  - lib/avm/git/scms/git/commits.rb
199
171
  - lib/avm/git/scms/git/interval.rb
200
172
  - lib/avm/git/scms/git/milestones.rb
173
+ - lib/avm/git/scms/git/remote.rb
174
+ - lib/avm/git/scms/git/remotes.rb
201
175
  - lib/avm/git/scms/git/run_commit.rb
202
176
  - lib/avm/git/scms/git_sub_base.rb
203
177
  - lib/avm/git/scms/git_sub_base/changed_file.rb
@@ -1,56 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/tools/core_ext'
4
- require 'clipboard'
5
-
6
- module Avm
7
- module Git
8
- module Issue
9
- class Deliver
10
- enable_simple_cache
11
- enable_speaker
12
-
13
- common_constructor :git_repo
14
-
15
- def run
16
- push
17
- clipboard_copy_tracker_message
18
- true
19
- end
20
-
21
- def start_banner
22
- infov 'Branch name', branch_name
23
- infov 'Commit ID', branch_commit_id
24
- infov 'Push arguments', ::Shellwords.join(push_args)
25
- end
26
-
27
- private
28
-
29
- def branch_commit_id
30
- git_repo.rev_parse(branch_name)
31
- end
32
-
33
- def branch_name_uncached
34
- git_repo.command('rev-parse', '--abbrev-ref', 'HEAD').execute!.strip
35
- end
36
-
37
- def clipboard_copy_tracker_message
38
- ::Clipboard.copy(textile_tracker_message)
39
- infov 'Copied to clipboard', textile_tracker_message
40
- end
41
-
42
- def push
43
- git_repo.command(*push_args).system!
44
- end
45
-
46
- def push_args
47
- %w[push origin --force] + ["#{branch_name}:refs/heads/#{branch_name}"]
48
- end
49
-
50
- def textile_tracker_message
51
- "#{branch_name}: commit:#{branch_commit_id}."
52
- end
53
- end
54
- end
55
- end
56
- end