lace 0.3.4 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YjBmODJmNDczOGIyNmYxYzUxZWU3NmRmM2QzOWNlNjg2NWU3ODc2Mg==
4
+ MmM4ZTMxYjE1NTNmNjM4MWEzZjFlYTNhMTMyMDNjZDc3OGQ3NjYzMA==
5
5
  data.tar.gz: !binary |-
6
- YmYxMTAzMTUyNzk2Y2IzNzQ4YjUzNjA1Njc4ZDBjMDQ5MTJmODA5YQ==
6
+ MTc1ZTA0YjA0NjViMmU4YjFmNTJkM2VjMGViMzg4M2Q2NzFlMDU0ZQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NzY3YzVkNTQ1ZTQ0ZmYxZjJkNGE3YzU0YWUyN2M0ZGQ4N2MxYmIzYWMyMDRj
10
- MDZmM2QzNzFkYmM5YTVlMjA0NDI2ZGZhZDQ2ZmFkNjYzZmU5OWM5ZWE5MTZl
11
- NjBiZjU3YTJiNGJlZWU0ZjcwM2U3YjYzNzVkZmEwZDM3ODIyNjM=
9
+ YzBjYzBkZDc3ZjI4ZjU0NmIxNWRkZDQ1Nzk1ODYwNDFmMGU4MjY3NGJkMTFm
10
+ MmQ3ZWNmY2I1ODJkYWNmZTNkMWYyNGFhODJlYTBhYjRjOWVmMTMwODI1Yzg2
11
+ MzljNDBmMWU4YzAwMzI4NGFmNjQ1ZmM4ZDNkNjIwMDkyODhmNzM=
12
12
  data.tar.gz: !binary |-
13
- YjU0MWUxMzVkN2Q3NjRjOWYzNzMxMzE1MmQ5YjRkNjEzYjA1MjI5YzY4YWY4
14
- YzZiNTk1Y2IyZWY3MGJjNDkzOTM5NzZiYmQ3OWZlYTk5NGVmYzM1YTVlNzdm
15
- YWIyMWMxNWY0MWRmYTkyMzViMTk1MGY4MzAwNTdhZGNkNjE0NWI=
13
+ YjQwYjBjN2QyYWY4ZDJhMjc3ZGJjYjdlM2VhNjRjYzU3ZGFlY2Y0MDIyZTdm
14
+ M2NlZGJlZTU5NjVhMjRlZTExNDcyOTc0MDI1OTdhMGU4ODMzMjgxYmJkNjA3
15
+ YzUzYWE5NzQwZTZhZDY3ZGU4NmFhOGJmNDllNTdhYmY5NjY3MTY=
data/lib/cmd/list.rb CHANGED
@@ -26,7 +26,7 @@ module Lace extend self
26
26
  if installed_packages.length > 0
27
27
  installed_packages.map do |d|
28
28
  package = Package.new(d, false)
29
- puts "[#{Tty.green}#{package.is_active? ? "*" : " "}#{Tty.reset}] #{d}"
29
+ puts "[#{Tty.green}#{package.is_active? ? "*" : " "}#{Tty.reset}] #{d}#{package.is_modified? ? " (has local changes)":""}"
30
30
  end
31
31
  else
32
32
  puts "There are no pkgs installed"
@@ -75,6 +75,15 @@ module GitCommands
75
75
  quiet_system "git", "--git-dir", git_dir, "status", "-s"
76
76
  end
77
77
 
78
+ def repo_modified?
79
+ @target_folder.cd do
80
+ result = `git status --porcelain`
81
+ result.split("\n").any? do |line|
82
+ line =~ /^ M/
83
+ end
84
+ end
85
+ end
86
+
78
87
  def submodules?
79
88
  @target_folder.join(".gitmodules").exist?
80
89
  end
@@ -157,12 +166,12 @@ class GitDownloadStrategy < AbstractDownloadStrategy
157
166
  end
158
167
 
159
168
  class AbbrevGitDownloadStrategy < GitDownloadStrategy
160
- def initialize uri
169
+ def initialize uri, desired_package_name=nil
161
170
  unless uri.end_with?(".git")
162
171
  uri = "#{uri}.git"
163
172
  end
164
173
  uri = "https://github.com/#{uri}"
165
- super uri
174
+ super uri, desired_package_name
166
175
  end
167
176
  end
168
177
 
@@ -39,6 +39,12 @@ class Package
39
39
  repo_valid?
40
40
  end
41
41
 
42
+ def is_modified?
43
+ return false unless is_git_repo?
44
+ @target_folder = @path
45
+ repo_modified?
46
+ end
47
+
42
48
  def is_active?
43
49
  if @facts.has_flavors? && @flavor == false
44
50
  @facts.flavors.any?{|f| Package.new(@name, f).is_active?}
data/lib/lace/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Lace
2
- VERSION = "0.3.4"
2
+ VERSION = "0.4.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lace
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.4
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kai Richard Koenig
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-03 00:00:00.000000000 Z
11
+ date: 2015-06-15 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Lace lets you manage your dotfiles when using them on multiple machines
14
14
  email: kai@kairichardkoenig.de