git-multirepo 1.0.0.beta57 → 1.0.0.beta58
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/CHANGELOG.md +4 -0
- data/lib/multirepo/commands/install-command.rb +45 -33
- data/lib/multirepo/info.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5d395226345d705bab1e2dcdd86b5f3aa14b48d2
|
4
|
+
data.tar.gz: aa3870bdb60046e7906e5292a0bc806104ea4bd5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 821b990a89c3c0a6f14ce0d1390e6a4b0053101a9e24ebe734307ef3490b00e66a76a499e3a591bf08acfe4a341df0dd3a1bc69ee428eba4771d2a18469a554e
|
7
|
+
data.tar.gz: 1363a6fadfa135c58794f71809613cc155b8a0479d6e02c93501b4d6b1fe6de41441debe1f8ebae008061f6ded91e50b119bb6f6e704a61ef4b606d83c88c0ca
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,10 @@
|
|
2
2
|
|
3
3
|
To install betas run `gem install git-multirepo --pre`
|
4
4
|
|
5
|
+
## 1.0.0.beta58
|
6
|
+
|
7
|
+
- **Enhancement:** Support for `multi install` in non git-tracked main "repo" using the `--no-repo` flag (for server-side checkout CI scenarios)
|
8
|
+
|
5
9
|
## 1.0.0.beta57
|
6
10
|
|
7
11
|
- **Bug Fix:** Fixed error in multi install clone error message building
|
@@ -15,13 +15,15 @@ module MultiRepo
|
|
15
15
|
def self.options
|
16
16
|
[
|
17
17
|
['[--hooks]', 'Only install local git hooks.'],
|
18
|
-
['[--ci]', 'Perform a continuous-integration-aware install (such as on a CI build server or agent).']
|
18
|
+
['[--ci]', 'Perform a continuous-integration-aware install (such as on a CI build server or agent).'],
|
19
|
+
['[--no-repo]', 'Tell multirepo that the directory is not a git repository. Useful when the main repo is not a git working copy in CI scenarios.']
|
19
20
|
].concat(super)
|
20
21
|
end
|
21
22
|
|
22
23
|
def initialize(argv)
|
23
24
|
@hooks = argv.flag?("hooks")
|
24
25
|
@ci = argv.flag?("ci")
|
26
|
+
@repo = argv.flag?("repo", true)
|
25
27
|
super
|
26
28
|
end
|
27
29
|
|
@@ -33,7 +35,7 @@ module MultiRepo
|
|
33
35
|
end
|
34
36
|
|
35
37
|
def run
|
36
|
-
ensure_in_work_tree
|
38
|
+
ensure_in_work_tree if @no_repo
|
37
39
|
ensure_multirepo_tracked
|
38
40
|
|
39
41
|
if @hooks
|
@@ -48,37 +50,6 @@ module MultiRepo
|
|
48
50
|
Console.log_step("Done!")
|
49
51
|
end
|
50
52
|
|
51
|
-
def log_ci_info
|
52
|
-
Console.log_info("Performing continuous-integration-aware install")
|
53
|
-
Console.log_info("Using git-multirepo #{MultiRepo::VERSION}")
|
54
|
-
|
55
|
-
main_repo = Repo.new(".")
|
56
|
-
main_repo_branch = main_repo.current_branch
|
57
|
-
meta_file = MetaFile.new(".").load
|
58
|
-
|
59
|
-
if main_repo.head.merge_commit?
|
60
|
-
Console.log_warning("[MERGE COMMIT] The checked-out main repo revision is a merge commit.")
|
61
|
-
Console.log_warning("[MERGE COMMIT] Lock file might not represent a valid project state.")
|
62
|
-
end
|
63
|
-
|
64
|
-
table = Terminal::Table.new do |t|
|
65
|
-
t.title = "Revision Info"
|
66
|
-
t.add_row ["Tracked Using", "git-multirepo #{meta_file.version}"]
|
67
|
-
t.add_separator
|
68
|
-
t.add_row ["Main Repo", commit_info(main_repo.head.commit_id, (main_repo_branch.name rescue nil))]
|
69
|
-
t.add_separator
|
70
|
-
LockFile.new(".").load_entries.each do |lock_entry|
|
71
|
-
branch_name = lock_entry.branch
|
72
|
-
t.add_row [lock_entry.name, commit_info(lock_entry.head, branch_name)]
|
73
|
-
end
|
74
|
-
end
|
75
|
-
puts table
|
76
|
-
end
|
77
|
-
|
78
|
-
def commit_info(commit_id, branch_name)
|
79
|
-
commit_id + (branch_name ? " (on branch #{branch_name})" : "")
|
80
|
-
end
|
81
|
-
|
82
53
|
def full_install
|
83
54
|
install_dependencies_step
|
84
55
|
install_hooks_step unless @ci
|
@@ -157,5 +128,46 @@ module MultiRepo
|
|
157
128
|
fail MultiRepoException, "'#{dependency.config_entry.path}' origin URL (#{dependency.config_entry.repo.remote('origin').url}) does not match entry (#{dependency.config_entry.url})!"
|
158
129
|
end
|
159
130
|
end
|
131
|
+
|
132
|
+
# Logging
|
133
|
+
|
134
|
+
def log_ci_info
|
135
|
+
Console.log_info("Performing continuous-integration-aware install")
|
136
|
+
Console.log_info("Using git-multirepo #{MultiRepo::VERSION}")
|
137
|
+
|
138
|
+
main_repo = Repo.new(".")
|
139
|
+
|
140
|
+
return unless @repo
|
141
|
+
log_merge_commit_warning(main_repo)
|
142
|
+
log_merge_table(main_repo)
|
143
|
+
end
|
144
|
+
|
145
|
+
def log_merge_commit_warning(main_repo)
|
146
|
+
if main_repo.head.merge_commit?
|
147
|
+
Console.log_warning("[MERGE COMMIT] The checked-out main repo revision is a merge commit.")
|
148
|
+
Console.log_warning("[MERGE COMMIT] Lock file might not represent a valid project state.")
|
149
|
+
end
|
150
|
+
end
|
151
|
+
|
152
|
+
def log_merge_table(main_repo)
|
153
|
+
meta_file = MetaFile.new(".").load
|
154
|
+
main_repo_branch = main_repo.current_branch
|
155
|
+
|
156
|
+
puts Terminal::Table.new do |t|
|
157
|
+
t.title = "Revision Info"
|
158
|
+
t.add_row ["Tracked Using", "git-multirepo #{meta_file.version}"]
|
159
|
+
t.add_separator
|
160
|
+
t.add_row ["Main Repo", commit_info(main_repo.head.commit_id, (main_repo_branch.name rescue nil))]
|
161
|
+
t.add_separator
|
162
|
+
LockFile.new(".").load_entries.each do |lock_entry|
|
163
|
+
branch_name = lock_entry.branch
|
164
|
+
t.add_row [lock_entry.name, commit_info(lock_entry.head, branch_name)]
|
165
|
+
end
|
166
|
+
end
|
167
|
+
end
|
168
|
+
|
169
|
+
def commit_info(commit_id, branch_name)
|
170
|
+
commit_id + (branch_name ? " (on branch #{branch_name})" : "")
|
171
|
+
end
|
160
172
|
end
|
161
173
|
end
|
data/lib/multirepo/info.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: git-multirepo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.
|
4
|
+
version: 1.0.0.beta58
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michaël Fortin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-11-
|
11
|
+
date: 2015-11-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|