gitbulk 0.0.10.368567 → 0.0.11.368668

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: 2468fab5a8882b88f78dd43e07c495a0fd01568dea71211b180c42e0ecc82661
4
- data.tar.gz: 843fe1f8344d17573e8762f8c79cc48e53018112c749f0d0532aa63a254c3f30
3
+ metadata.gz: 8caff1b3cd1e8174f90336371aebef398086b9c0816d48ce5c99ad0b1f1b6fcf
4
+ data.tar.gz: 31419e61035a5992936973400812f65f92cc9b202ac10217a710d9c19d20e916
5
5
  SHA512:
6
- metadata.gz: 41402c155585c43e10e9f50ea76b9cfde3eabfee5ba06212bfd684b80afbee451d865fd13132b15dde7c9ecba45a55cde13bcaa39d7f2bef50a6867fb76861f3
7
- data.tar.gz: 52cd7897820db985965a732816ad7debff4b711b6f2f62af9410175550afec0df171e83e469da963248e2d19d09d99fdadf8b32b3c6e5b1efab5cc2408d64a93
6
+ metadata.gz: 64e1364adcded38cbe405fe8fcc3a364f4833f7abdf300d61bb496d850c0b3a25d419a4e358f405d164891425a3aa446a34b2234c0d7b7cfada0685ffd578084
7
+ data.tar.gz: a9bfbf488835a9920169cbbadbcaa6512028c2c0d342bdac6d3fd7210230a6888f10951c888e708c247cd1b9086a351e6429cce233514e4c78d545453584a987
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- gitbulk (0.0.10)
4
+ gitbulk (0.0.11)
5
5
  activesupport
6
6
  colorize
7
7
  fileutils
data/bin/gitbulk CHANGED
@@ -62,68 +62,83 @@ Gitbulk::Util.logger.debug do
62
62
  end
63
63
 
64
64
  config = YAML.load_file(@opts[:config])
65
- logger = Gitbulk::Util.logger
65
+ $logger = logger = Gitbulk::Util.logger
66
66
 
67
67
  FileUtils.mkdir_p(File.expand_path(config['workdir']))
68
68
 
69
69
  $exit_with_error = 0
70
70
 
71
+ def simple_sync(repo, git)
72
+ Gitbulk::Util.within_repo(git, logger: $logger) do |_name|
73
+ repo['mirrors'].shuffle.each do |mirror|
74
+ $logger.info "Pushing to #{mirror}".colorize(:blue)
75
+
76
+ # cmd = "git push --mirror #{mirror}"
77
+ cmd = "git push --all #{mirror}"
78
+ if @opts[:dryrun]
79
+ $logger.tagged('DRYRUN') { $logger.info cmd }
80
+ else
81
+ Gitbulk::Util.cmd!(cmd)
82
+ end
83
+ end
84
+ end
85
+ end
86
+
87
+ def twoway_sync(repo, git)
88
+ $logger.tagged('TWOWAY'.colorize(:red)) do
89
+ repo['mirrors'].shuffle.each do |mirror|
90
+ name = Gitbulk::Util.name_slug(git) + '_' + Gitbulk::Util.name_slug(mirror)
91
+ cmd = "git_sync_project_folder=#{Gitbulk::Util.name_slug(name)} url_a=#{git} url_b=#{mirror} git-sync.sh"
92
+ fetchtagscmd1 = "git fetch origin_a --tags"
93
+ fetchtagscmd2 = "git fetch origin_b --tags"
94
+ allcmd = "git push origin_b --all"
95
+ tagscmd1 = "git push origin_a --tags"
96
+ tagscmd2 = "git push origin_b --tags"
97
+ if @opts[:dryrun]
98
+ $logger.tagged('DRYRUN') { $logger.info cmd }
99
+ $logger.tagged('DRYRUN') { $logger.info fetchtagscmd1 }
100
+ $logger.tagged('DRYRUN') { $logger.info fetchtagscmd2 }
101
+ $logger.tagged('DRYRUN') { $logger.info allcmd }
102
+ $logger.tagged('DRYRUN') { $logger.info tagscmd1 }
103
+ $logger.tagged('DRYRUN') { $logger.info tagscmd2 }
104
+ else
105
+ $logger.info cmd
106
+ Gitbulk::Util.cmd!(cmd)
107
+ Dir.chdir("sync-projects/#{name}/sync_repo") do |_dir|
108
+ Gitbulk::Util.cmd!(fetchtagscmd1)
109
+ Gitbulk::Util.cmd!(fetchtagscmd2)
110
+ Gitbulk::Util.cmd!(allcmd)
111
+ Gitbulk::Util.cmd!(tagscmd1)
112
+ Gitbulk::Util.cmd!(tagscmd2)
113
+ end
114
+ end
115
+ end
116
+ end
117
+ end
118
+
71
119
  Dir.chdir(config['workdir']) do |wd|
72
120
  ENV['GITBULK_REPOS'] = Dir.getwd
121
+
122
+ spec = Gem::Specification.find_by_name("gitbulk")
123
+ gem_root = spec.gem_dir
124
+ syncer_home = File.join(gem_root, "lib", "git-repo-sync")
125
+ syncer = File.join(syncer_home, "git-sync.sh")
126
+ ENV['PATH'] = "#{ENV['PATH']}:#{syncer_home}"
127
+
128
+
73
129
  config['repositories'].shuffle.each do |repo|
74
130
  git = repo['git']
75
131
 
76
132
  logger.info "Mirroring: #{git.inspect}".colorize(:green)
77
133
 
78
134
  if @opts[:twoway]
79
- spec = Gem::Specification.find_by_name("gitbulk")
80
- gem_root = spec.gem_dir
81
- syncer_home = File.join(gem_root, "lib", "git-repo-sync")
82
- syncer = File.join(syncer_home, "git-sync.sh")
83
- ENV['PATH'] = "#{ENV['PATH']}:#{syncer_home}"
84
- logger.tagged('TWOWAY'.colorize(:red)) do
85
- repo['mirrors'].shuffle.each do |mirror|
86
- name = Gitbulk::Util.name_slug(git) + '_' + Gitbulk::Util.name_slug(mirror)
87
- cmd = "git_sync_project_folder=#{Gitbulk::Util.name_slug(name)} url_a=#{git} url_b=#{mirror} git-sync.sh"
88
- fetchtagscmd1 = "git fetch origin_a --tags"
89
- fetchtagscmd2 = "git fetch origin_b --tags"
90
- allcmd = "git push origin_b --all"
91
- tagscmd1 = "git push origin_a --tags"
92
- tagscmd2 = "git push origin_b --tags"
93
- if @opts[:dryrun]
94
- logger.tagged('DRYRUN') { logger.info cmd }
95
- logger.tagged('DRYRUN') { logger.info fetchtagscmd1 }
96
- logger.tagged('DRYRUN') { logger.info fetchtagscmd2 }
97
- logger.tagged('DRYRUN') { logger.info allcmd }
98
- logger.tagged('DRYRUN') { logger.info tagscmd1 }
99
- logger.tagged('DRYRUN') { logger.info tagscmd2 }
100
- else
101
- logger.info cmd
102
- Gitbulk::Util.cmd!(cmd)
103
- Dir.chdir("sync-projects/#{name}/sync_repo") do |_dir|
104
- Gitbulk::Util.cmd!(fetchtagscmd1)
105
- Gitbulk::Util.cmd!(fetchtagscmd2)
106
- Gitbulk::Util.cmd!(allcmd)
107
- Gitbulk::Util.cmd!(tagscmd1)
108
- Gitbulk::Util.cmd!(tagscmd2)
109
- end
110
- end
111
- end
112
- end
135
+ twoway_sync(repo, git)
113
136
  else
114
137
  # generic way
115
- Gitbulk::Util.within_repo(git, logger: logger) do |_name|
116
- repo['mirrors'].shuffle.each do |mirror|
117
- logger.info "Pushing to #{mirror}".colorize(:blue)
118
-
119
- # cmd = "git push --mirror #{mirror}"
120
- cmd = "git push --all #{mirror}"
121
- if @opts[:dryrun]
122
- logger.tagged('DRYRUN') { logger.info cmd }
123
- else
124
- Gitbulk::Util.cmd!(cmd)
125
- end
126
- end
138
+ if repo['twoway']
139
+ twoway_sync(repo, git)
140
+ else
141
+ simple_sync(repo, git)
127
142
  end
128
143
  end
129
144
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Gitbulk
4
4
 
5
- VERSION = '0.0.10'
5
+ VERSION = '0.0.11'
6
6
 
7
7
  end
8
8
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gitbulk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.10.368567
4
+ version: 0.0.11.368668
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samoilenko Yuri