git-multirepo 1.0.0.beta20 → 1.0.0.beta21

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 292c05d1335e888a82eeaea12ca7170378669a90
4
- data.tar.gz: d8c27f7671954a3aeab46ddb9ad55461dfbac529
3
+ metadata.gz: 8a2847900b5c1e42e101b309f6a493dadd74ed7c
4
+ data.tar.gz: e97802efdf245c8731831f5ca759c0395e7f9a2e
5
5
  SHA512:
6
- metadata.gz: 088543b1a14197625ed68c3aed17bbd8a6b959f638cad894da37f94bca89896249c8152914b9a265727aaf3daee0761a986d213826591ff41ea91ac35e74af59
7
- data.tar.gz: d98eb47bc0c08028b255f4f229981d2d2608c2ddfc96710706249e4198a7470e17d4c3415f8b906ed987e500630878ccccadab5070e28c34b642f2d9413dc12d
6
+ metadata.gz: 01ee0b062a92963e616137d44980a2614b6ff201b58d87efc8aab5a7388975e20e16b9ebef478387573ed4f9d72f6635dd342c8e347307e26c3479f70a6da566
7
+ data.tar.gz: a935be358532182e80fe9d9da69842d3590d1941c824054e765593a54e66e55ba7562f6c40706e2a99b48f9cd55f0c24ec8299ea4951e171df86891e1a62f1e8
data/lib/git-multirepo.rb CHANGED
@@ -1,2 +1,3 @@
1
1
  require "multirepo/hooks/pre-commit-hook.rb"
2
+ require "multirepo/hooks/prepare-commit-msg-hook.rb"
2
3
  require "multirepo/hooks/post-merge-hook.rb"
data/lib/info.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module MultiRepo
2
2
  NAME = "git-multirepo"
3
- VERSION = "1.0.0.beta20"
3
+ VERSION = "1.0.0.beta21"
4
4
  DESCRIPTION = "Track multiple Git repositories side-by-side."
5
5
  end
@@ -34,9 +34,16 @@ module MultiRepo
34
34
  def install_hooks(path = nil)
35
35
  actual_path = path || "."
36
36
  Utils.install_hook("pre-commit", actual_path)
37
+ Utils.install_hook("prepare-commit-msg", actual_path)
37
38
  Utils.install_hook("post-merge", actual_path)
38
39
  end
39
40
 
41
+ def uninstall_hooks
42
+ File.delete(".git/hooks/pre-commit")
43
+ File.delete(".git/hooks/prepare-commit-msg")
44
+ File.delete(".git/hooks/post-merge")
45
+ end
46
+
40
47
  def ensure_multirepo_initialized
41
48
  raise MultiRepoException, "multirepo is not initialized in this repository." unless Utils.is_multirepo_enabled(".")
42
49
  end
@@ -11,8 +11,7 @@ module MultiRepo
11
11
 
12
12
  File.delete(".multirepo")
13
13
  File.delete(".multirepo.lock")
14
- File.delete(".git/hooks/pre-commit")
15
- File.delete(".git/hooks/post-merge")
14
+ uninstall_hooks
16
15
 
17
16
  Console.log_step("All traces of multirepo have been removed from this repository")
18
17
  rescue MultiRepoException => e
@@ -27,7 +27,7 @@ module MultiRepo
27
27
  end
28
28
 
29
29
  def self.commit(message = nil)
30
- message = message || "Updated multirepo lock file with the latest version of all dependencies"
30
+ message = message || "[multirepo] Updated lock file"
31
31
  Git.run_in_current_dir("commit -m \"#{message}\" -o -- #{FILE.to_s}", Runner::Verbosity::OUTPUT_ON_ERROR)
32
32
  end
33
33
 
@@ -6,6 +6,8 @@ module MultiRepo
6
6
  def self.run
7
7
  Config.instance.running_git_hook = true
8
8
 
9
+ Console.log_step("multirepo: Performing post-merge operations...")
10
+
9
11
  LockFile.update
10
12
  Console.log_info("multirepo: Updated the lock file with current HEAD revisions for all dependencies")
11
13
 
@@ -8,10 +8,12 @@ module MultiRepo
8
8
  def self.run
9
9
  Config.instance.running_git_hook = true
10
10
 
11
+ Console.log_step("multirepo: Performing pre-commit operations...")
12
+
11
13
  dependencies_clean = Utils.ensure_dependencies_clean(ConfigFile.load)
12
14
 
13
15
  if !dependencies_clean
14
- Console.log_error("multirepo: You must commit changes to your dependencies before you can commit the main repo")
16
+ Console.log_error("multirepo: You must commit changes to your dependencies before you can commit this repo")
15
17
  exit 1
16
18
  end
17
19
 
@@ -0,0 +1,28 @@
1
+ require "multirepo/files/config-file"
2
+ require "multirepo/files/lock-file"
3
+ require "multirepo/utility/utils"
4
+ require "multirepo/utility/console"
5
+
6
+ module MultiRepo
7
+ class PrepareCommitMsgHook
8
+ def self.run(argv)
9
+ Config.instance.running_git_hook = true
10
+
11
+ pre_merge if argv[1] == "merge"
12
+
13
+ exit 0 # Success!
14
+ end
15
+
16
+ def self.pre_merge
17
+ Console.log_step("multirepo: Performing pre-merge operations...")
18
+ ensure_dependencies_clean
19
+ end
20
+
21
+ def self.ensure_dependencies_clean
22
+ unless Utils.ensure_dependencies_clean(ConfigFile.load)
23
+ Console.log_error("multirepo: You must commit changes to your dependencies before you can commit this repo")
24
+ exit 1
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "rubygems"
4
+ require "git-multirepo"
5
+
6
+ MultiRepo::PrepareCommitMsgHook.run(ARGV)
@@ -13,11 +13,7 @@ RSpec.describe("Init") do
13
13
  pending
14
14
  end
15
15
 
16
- it "installs the pre-commit hook" do
17
- pending
18
- end
19
-
20
- it "installs the post-merge hook" do
16
+ it "installs the hooks" do
21
17
  pending
22
18
  end
23
19
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: git-multirepo
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.beta20
4
+ version: 1.0.0.beta21
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michaël Fortin
@@ -146,12 +146,14 @@ files:
146
146
  - lib/multirepo/git/repo.rb
147
147
  - lib/multirepo/hooks/post-merge-hook.rb
148
148
  - lib/multirepo/hooks/pre-commit-hook.rb
149
+ - lib/multirepo/hooks/prepare-commit-msg-hook.rb
149
150
  - lib/multirepo/multirepo-exception.rb
150
151
  - lib/multirepo/utility/console.rb
151
152
  - lib/multirepo/utility/runner.rb
152
153
  - lib/multirepo/utility/utils.rb
153
154
  - resources/post-merge
154
155
  - resources/pre-commit
156
+ - resources/prepare-commit-msg
155
157
  - spec/integration/init_spec.rb
156
158
  - spec/spec_helper.rb
157
159
  homepage: https://github.com/fortinmike/git-multirepo