git-multirepo 1.0.0.beta43 → 1.0.0.beta44
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/.multirepo.meta +1 -1
- data/README.md +1 -1
- data/lib/info.rb +1 -1
- data/lib/multirepo/commands/checkout-command.rb +1 -1
- data/lib/multirepo/commands/install-command.rb +20 -7
- 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: c94db73c957e83def2963148314ae81c9867655a
|
4
|
+
data.tar.gz: a9ccff47aed61ed13e5c63e91edc9186acbd142a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6e21d03ac2e5a534db8e82e33aac4f825c3cf1a1b623f6f00431bb8979e613419ebc05a2e8ca26df5d06cdfee4661e310c3146f5cc3bffafd8b6457b3f777b9e
|
7
|
+
data.tar.gz: 1c1ffe438f95de180904f875649419eba79aa6897036a3e278c7695706874af5ecaddd22d72431bd91ac27362355bea2e469c24d71be4f43114a6bd2af55eb12
|
data/.multirepo.meta
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
--- !ruby/object:MultiRepo::MetaFile
|
2
|
-
version: 1.0.0.
|
2
|
+
version: 1.0.0.beta43
|
data/README.md
CHANGED
@@ -122,7 +122,7 @@ Here is a quick rundown of commands available to you in git-multirepo:
|
|
122
122
|
| clone | Clones the specified repository in a subfolder, then installs it. |
|
123
123
|
| do | Perform an arbitrary Git operation in the main repository, dependency repositories or all repositories. |
|
124
124
|
| graph | Graphs the dependency tree from the current repository. |
|
125
|
-
| install | Clones and checks out dependencies as defined in the version-controlled multirepo metadata files and installs git-multirepo's local git hooks. |
|
125
|
+
| install | Clones and checks out dependencies as defined in the version-controlled multirepo metadata files and installs git-multirepo's local git hooks. Idempotent for a given main repo checkout. |
|
126
126
|
| merge | Performs a git merge on all dependencies and the main repo, in the proper order. |
|
127
127
|
| open | Opens repositories in the OS's file explorer. |
|
128
128
|
| remove | Removes the specified dependency from multirepo. |
|
data/lib/info.rb
CHANGED
@@ -111,7 +111,7 @@ module MultiRepo
|
|
111
111
|
|
112
112
|
# Checkout!
|
113
113
|
if config_entry.repo.checkout(revision)
|
114
|
-
Console.log_substep("Checked out #{dependency_name} #{revision}")
|
114
|
+
Console.log_substep("Checked out #{dependency_name} '#{revision}'")
|
115
115
|
else
|
116
116
|
raise MultiRepoException, "Couldn't check out the appropriate version of dependency #{dependency_name}"
|
117
117
|
end
|
@@ -10,23 +10,35 @@ module MultiRepo
|
|
10
10
|
self.summary = "Clones and checks out dependencies as defined in the version-controlled multirepo metadata files and installs git-multirepo's local git hooks."
|
11
11
|
|
12
12
|
def self.options
|
13
|
-
[
|
13
|
+
[
|
14
|
+
['[--hooks]', 'Only install local git hooks.'],
|
15
|
+
['[--ci]', 'For use in a continuous integration context (such as on a CI build server or agent).']
|
16
|
+
].concat(super)
|
14
17
|
end
|
15
18
|
|
16
19
|
def initialize(argv)
|
17
20
|
@hooks = argv.flag?("hooks")
|
21
|
+
@ci = argv.flag?("ci")
|
18
22
|
super
|
19
23
|
end
|
24
|
+
|
25
|
+
def validate!
|
26
|
+
super
|
27
|
+
unless validate_only_one_flag(@hooks, @ci)
|
28
|
+
help! "You can't provide more than one operation modifier (--hooks, --ci, etc.)"
|
29
|
+
end
|
30
|
+
end
|
20
31
|
|
21
32
|
def run
|
22
|
-
ensure_in_work_tree
|
33
|
+
ensure_in_work_tree unless @ci
|
23
34
|
ensure_multirepo_tracked
|
24
35
|
|
25
36
|
if @hooks
|
26
37
|
Console.log_step("Installing hooks in main repo and all dependencies...")
|
27
38
|
install_hooks_step
|
28
39
|
else
|
29
|
-
Console.log_step("
|
40
|
+
Console.log_step("Installing dependencies...")
|
41
|
+
Console.log_warning("Performing continuous-integration-aware install")
|
30
42
|
full_install
|
31
43
|
end
|
32
44
|
|
@@ -35,8 +47,8 @@ module MultiRepo
|
|
35
47
|
|
36
48
|
def full_install
|
37
49
|
install_dependencies_step
|
38
|
-
install_hooks_step
|
39
|
-
update_gitconfigs_step
|
50
|
+
install_hooks_step unless @ci
|
51
|
+
update_gitconfigs_step unless @ci
|
40
52
|
end
|
41
53
|
|
42
54
|
def install_dependencies_step
|
@@ -49,7 +61,8 @@ module MultiRepo
|
|
49
61
|
|
50
62
|
# Checkout the appropriate branches as specified in the lock file
|
51
63
|
checkout_command = CheckoutCommand.new(CLAide::ARGV.new([]))
|
52
|
-
|
64
|
+
mode = @ci ? RevisionSelectionMode::AS_LOCK : RevisionSelectionMode::LATEST
|
65
|
+
checkout_command.dependencies_checkout_step(mode)
|
53
66
|
end
|
54
67
|
|
55
68
|
def install_hooks_step
|
@@ -76,7 +89,7 @@ module MultiRepo
|
|
76
89
|
if dependency.config_entry.repo.exists?
|
77
90
|
check_repo_validity(dependency)
|
78
91
|
|
79
|
-
Console.log_substep("Working copy '#{dependency.config_entry.repo.path}' already exists, fetching
|
92
|
+
Console.log_substep("Working copy '#{dependency.config_entry.repo.path}' already exists, fetching...")
|
80
93
|
fetch_repo(dependency)
|
81
94
|
else
|
82
95
|
Console.log_substep("Cloning #{dependency.config_entry.url} into '#{dependency.config_entry.repo.path}'")
|
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.beta44
|
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-05-
|
11
|
+
date: 2015-05-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|