spectrerun 0.0.2 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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