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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/bin/spectrerun +40 -1
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7e950edb165e04cb9fb3875b66af5891027553e5
4
- data.tar.gz: 2cd05467d689f910864106d9ffca3d4870c04837
3
+ metadata.gz: de2da3b50e70297ec5c3fbab536b5e217f4b6ece
4
+ data.tar.gz: 8e0740de6e9f2f02ccffde769ce10bffc22968a2
5
5
  SHA512:
6
- metadata.gz: ceaf98f3f7f0c5e75efc2d536382bdc2e3642b64d88c10c71d06e6b957f84c89a12d038b68803db78e2bf690ffb155e824808b2ade1f6ec5abfe70a903433bd9
7
- data.tar.gz: 60490bee115ee4b8c9a46445875e7f69154b62451bf98abe02b615f6b60f01d1983335b1b2fc7216607186449fc1ce25a9c582b3f064ce740310a9a68d08d58f
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
- changed_files = `git diff --name-only`.split("\n").map(&:chomp)
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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spectrerun
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Johnstone