overcommit 0.9.0 → 0.10.0
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c401b4037c6c90452c248dfaca8cacbd549179eb
|
4
|
+
data.tar.gz: 0dd31cd371594e594acf9a4801c35de6a86501fb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 87a27a2be76870493529d9f66bd518107c6bc3cfeb039801075da2d89c8d50b603c8245f871d0ceae26b9ef2b2aeb87c9b77eaad7c71548d0686e282ca17b882
|
7
|
+
data.tar.gz: b40a66a5f76dd54b234940370411f5dec3bc8061efe8a5c4c2dd85493f19ab350687605dab2a634fb72a183b8bfe6682484119ea9ba5f5bdb0430270995d0e80
|
data/lib/overcommit/hook/base.rb
CHANGED
@@ -70,22 +70,17 @@ module Overcommit::Hook
|
|
70
70
|
def applicable_file?(file)
|
71
71
|
includes = Array(@config['include']).map { |glob| convert_glob_to_absolute(glob) }
|
72
72
|
included = includes.empty? ||
|
73
|
-
includes.any? { |glob|
|
73
|
+
includes.any? { |glob| Dir[glob].include?(file) }
|
74
74
|
|
75
75
|
excludes = Array(@config['exclude']).map { |glob| convert_glob_to_absolute(glob) }
|
76
|
-
excluded = excludes.any? { |glob|
|
76
|
+
excluded = excludes.any? { |glob| Dir[glob].include?(file) }
|
77
77
|
|
78
78
|
included && !excluded
|
79
79
|
end
|
80
80
|
|
81
81
|
def convert_glob_to_absolute(glob)
|
82
82
|
repo_root = Overcommit::Utils.repo_root
|
83
|
-
|
84
|
-
if glob.start_with?('**')
|
85
|
-
repo_root + glob # Want ** to match items in the repo root as well
|
86
|
-
else
|
87
|
-
File.join(repo_root, glob)
|
88
|
-
end
|
83
|
+
File.join(repo_root, glob)
|
89
84
|
end
|
90
85
|
end
|
91
86
|
end
|
@@ -22,7 +22,7 @@ module Overcommit::Hook::PostCheckout
|
|
22
22
|
result = execute(%w[git diff --exit-code --name-only] + [new_head, previous_head])
|
23
23
|
|
24
24
|
result.stdout.split("\n").any? do |file|
|
25
|
-
Array(@config['include']).any? { |glob|
|
25
|
+
Array(@config['include']).any? { |glob| Dir[glob].include?(file) }
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'fileutils'
|
1
2
|
require 'set'
|
2
3
|
|
3
4
|
module Overcommit::HookContext
|
@@ -10,6 +11,7 @@ module Overcommit::HookContext
|
|
10
11
|
# about to be committed.
|
11
12
|
def setup_environment
|
12
13
|
store_modified_times
|
14
|
+
store_merge_state
|
13
15
|
|
14
16
|
if any_changes?
|
15
17
|
@changes_stashed = true
|
@@ -28,9 +30,10 @@ module Overcommit::HookContext
|
|
28
30
|
`git reset --hard` # Ensure working tree is clean before popping stash
|
29
31
|
|
30
32
|
if @changes_stashed
|
31
|
-
`git stash
|
33
|
+
`git stash apply --index --quiet`
|
32
34
|
end
|
33
35
|
|
36
|
+
restore_merge_state
|
34
37
|
restore_modified_times
|
35
38
|
end
|
36
39
|
|
@@ -83,6 +86,37 @@ module Overcommit::HookContext
|
|
83
86
|
lines
|
84
87
|
end
|
85
88
|
|
89
|
+
def store_merge_state
|
90
|
+
merge_head = `git rev-parse MERGE_HEAD 2> /dev/null`.chomp
|
91
|
+
|
92
|
+
# Store the merge state if we're in the middle of resolving a merge
|
93
|
+
# conflict. This is necessary since stashing removes the merge state.
|
94
|
+
if merge_head != 'MERGE_HEAD'
|
95
|
+
@merge_head = merge_head
|
96
|
+
|
97
|
+
merge_msg_file = File.expand_path('.git/MERGE_MSG', Overcommit::Utils.repo_root)
|
98
|
+
@merge_msg = File.open(merge_msg_file).read if File.exist?(merge_msg_file)
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
def restore_merge_state
|
103
|
+
if @merge_head
|
104
|
+
FileUtils.touch(File.expand_path('.git/MERGE_MODE', Overcommit::Utils.repo_root))
|
105
|
+
|
106
|
+
File.open(File.expand_path('.git/MERGE_HEAD', Overcommit::Utils.repo_root), 'w') do |f|
|
107
|
+
f.write("#{@merge_head}\n")
|
108
|
+
end
|
109
|
+
@merge_head = nil
|
110
|
+
end
|
111
|
+
|
112
|
+
if @merge_msg
|
113
|
+
File.open(File.expand_path('.git/MERGE_MSG', Overcommit::Utils.repo_root), 'w') do |f|
|
114
|
+
f.write("#{@merge_msg}\n")
|
115
|
+
end
|
116
|
+
@merge_msg = nil
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
86
120
|
def store_modified_times
|
87
121
|
@modified_times = {}
|
88
122
|
|
data/lib/overcommit/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: overcommit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Causes Engineering
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-05-
|
12
|
+
date: 2014-05-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: childprocess
|