git-multirepo 1.0.0.beta20 → 1.0.0.beta21

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
  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