spectrerun 0.0.2 → 0.1.0
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/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
|