spectrerun 0.0.2 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/spectrerun +40 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: de2da3b50e70297ec5c3fbab536b5e217f4b6ece
|
4
|
+
data.tar.gz: 8e0740de6e9f2f02ccffde769ce10bffc22968a2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a8fdb62db9553ea3d1dd02e5912fc27cd0f6596e8318b46f5fd1a20a26b0852a291c3019b121969007c080ba3ac97e7c4a263fb61fd6f96cf5e4fd7dd8f17add
|
7
|
+
data.tar.gz: 7b69dca1dbb95e9a8a7dbbddfc199819d386ae845f1b2575cdf0cdde27ef2b41a20f99fabb692d35cee27004d7fc523405cf513a1df22294488290b055f74376
|
data/bin/spectrerun
CHANGED
@@ -2,8 +2,47 @@
|
|
2
2
|
|
3
3
|
require 'spectrerun'
|
4
4
|
|
5
|
+
def find_uncomitted_files
|
6
|
+
files_in_states('modified')
|
7
|
+
end
|
8
|
+
|
9
|
+
def files_in_states(*states)
|
10
|
+
state_args = states.map { |state| "--#{state}" }.join(' ')
|
11
|
+
`git ls-files #{state_args}`.split("\n")
|
12
|
+
end
|
13
|
+
|
14
|
+
def files_in_ref(ref)
|
15
|
+
`git diff-tree --no-commit-id --name-only -r #{ref}`.split("\n")
|
16
|
+
end
|
17
|
+
|
18
|
+
def message_for_ref(ref)
|
19
|
+
`git log --format="%h %B" -n 1 #{ref}`.chomp
|
20
|
+
end
|
21
|
+
|
22
|
+
def log(msg)
|
23
|
+
$stderr.puts msg
|
24
|
+
end
|
25
|
+
|
26
|
+
uncomitted_files = find_uncomitted_files
|
27
|
+
REF_TO_USE = ARGV[0]
|
28
|
+
|
5
29
|
if $stdin.tty?
|
6
|
-
|
30
|
+
if !REF_TO_USE.nil?
|
31
|
+
log "checking against #{REF_TO_USE}"
|
32
|
+
log "\t#{message_for_ref(REF_TO_USE)}"
|
33
|
+
|
34
|
+
changed_files = files_in_ref(REF_TO_USE)
|
35
|
+
elsif !uncomitted_files.empty?
|
36
|
+
log "using files not in stage"
|
37
|
+
changed_files = uncomitted_files
|
38
|
+
else
|
39
|
+
ref_to_use = 'HEAD'
|
40
|
+
|
41
|
+
log "you have no uncomitted files - checking against #{ref_to_use}"
|
42
|
+
log "\t#{message_for_ref(ref_to_use)}"
|
43
|
+
|
44
|
+
changed_files = files_in_ref(ref_to_use)
|
45
|
+
end
|
7
46
|
else
|
8
47
|
changed_files = $stdin.readlines.map(&:chomp)
|
9
48
|
end
|