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 +4 -4
- data/Gemfile.lock +1 -1
- data/bin/gitbulk +62 -47
- data/lib/gitbulk/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8caff1b3cd1e8174f90336371aebef398086b9c0816d48ce5c99ad0b1f1b6fcf
|
|
4
|
+
data.tar.gz: 31419e61035a5992936973400812f65f92cc9b202ac10217a710d9c19d20e916
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 64e1364adcded38cbe405fe8fcc3a364f4833f7abdf300d61bb496d850c0b3a25d419a4e358f405d164891425a3aa446a34b2234c0d7b7cfada0685ffd578084
|
|
7
|
+
data.tar.gz: a9bfbf488835a9920169cbbadbcaa6512028c2c0d342bdac6d3fd7210230a6888f10951c888e708c247cd1b9086a351e6429cce233514e4c78d545453584a987
|
data/Gemfile.lock
CHANGED
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
|
-
|
|
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
|
-
|
|
116
|
-
repo
|
|
117
|
-
|
|
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
|
|
data/lib/gitbulk/version.rb
CHANGED