src 0.4.0 → 0.5.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: dfa034574b19a8beace39413a4022a28b38af997
4
- data.tar.gz: f765c1e1ba1e83d16385b85408de5546b52285a0
3
+ metadata.gz: cbded57c54e70ec9ff4b05f74162cb27aaaf66aa
4
+ data.tar.gz: 0a073d23861b202d1609731fc79bf09d6d7cc1a6
5
5
  SHA512:
6
- metadata.gz: d3ec821745c6461df5cbe1337b959e5cb7f1443a171e57f1fae277b19b31e0fca8cd162efe8c3cc01a7a268183484aa6c2b1562372cfc29eea1ece4ee684166b
7
- data.tar.gz: c7d9c46d14e92a6942df657af4a61dc2df8ef88fee14f97d097be2a9fb071b36a652519a5cab7716ac844570e7956157800ad4b8571f47acb18d33f461369365
6
+ metadata.gz: 5852bfdb8dcf4275db417726b1ab74c37fabc4daa6f1cdb96250b9f25a20b92797e3b9bd432ebaa42e97234c67c9b67be166d7881c95f87f8537411a62815113
7
+ data.tar.gz: 241bb57f0282271f2a3e47201a798d9e347484734f730d8120619365c4889e8605072671bb00648fb360bf3bce964896bd47898f387d31808c7d1d589d43d70d
@@ -2,6 +2,10 @@ module SRC::Git
2
2
  class Branch
3
3
  VERSION_FILE = 'version'
4
4
 
5
+ AHEAD = /# Your branch is ahead/
6
+ BEHIND = /# Your branch is behind/
7
+ DIVERGED = /# Your branch and .* have diverged/
8
+
5
9
  attr_reader :name
6
10
 
7
11
  class << self
@@ -91,6 +95,28 @@ module SRC::Git
91
95
  end
92
96
  end
93
97
 
98
+ def status
99
+ checked_out do
100
+ `git status -uno`.chomp
101
+ end
102
+ end
103
+
104
+ def remote_ahead?
105
+ status =~ AHEAD
106
+ end
107
+
108
+ def remote_behind?
109
+ status =~ BEHIND
110
+ end
111
+
112
+ def remote_diverged?
113
+ status =~ DIVERGED
114
+ end
115
+
116
+ def remote_up_to_date?
117
+ !(remote_diverged? || remote_behind? || remote_ahead?)
118
+ end
119
+
94
120
  def to_s
95
121
  name
96
122
  end
data/lib/src/git.rb CHANGED
@@ -1,5 +1,7 @@
1
- module SRC::Git
2
- def self.fetch
3
- raise 'fetch failed' unless system('git fetch -q')
1
+ module SRC
2
+ module Git
3
+ def self.fetch
4
+ raise 'fetch failed' unless system('git fetch -q')
5
+ end
4
6
  end
5
7
  end
data/lib/src.rb CHANGED
@@ -1,3 +1,5 @@
1
+ require 'src/git'
2
+
1
3
  module SRC
2
4
  BRANCHES = {
3
5
  master: nil,
@@ -17,13 +19,21 @@ module SRC
17
19
  }
18
20
 
19
21
  def self.check
22
+ SRC::Git.fetch
23
+
20
24
  report = []
25
+
21
26
  branches.each_with_index do |branch, i|
27
+
22
28
  branches[(i + 1)..-1].each do |superset|
23
29
  unless branch.subset_of?(superset)
24
30
  report << "#{branch} should be merged into #{superset}"
25
31
  end
26
32
  end
33
+
34
+ unless branch.remote_up_to_date?
35
+ report << "#{branch} is not up to date with its remote"
36
+ end
27
37
  end
28
38
 
29
39
  if report.empty?
data/version CHANGED
@@ -1 +1 @@
1
- 0.4.0
1
+ 0.5.0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: src
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tyler Hartland