legit 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,4 +1,8 @@
1
- # Legit [![Dependency Status](https://gemnasium.com/dillonkearns/legit.png)](https://gemnasium.com/dillonkearns/legit) [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/dillonkearns/dotfile-linker)
1
+ # Legit
2
+
3
+ [![Gem Version](https://fury-badge.herokuapp.com/rb/legit.png)](http://badge.fury.io/rb/legit)
4
+ [![Dependency Status](https://gemnasium.com/dillonkearns/legit.png)](https://gemnasium.com/dillonkearns/legit)
5
+ [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/dillonkearns/dotfile-linker)
2
6
 
3
7
  ## Installation
4
8
  ```bash
@@ -22,6 +26,12 @@ legit catch-todos TODO
22
26
  chmod +x .git/hooks/pre-commit
23
27
  ```
24
28
 
29
+ Enable or disable catch-todos with the `--enable` and `--disable` options
30
+ ```
31
+ legit catch-todos --disable # will not check todos until re-enabled
32
+ legit catch-todos --enable # sets it back to normal
33
+ ```
34
+
25
35
  Note: if you use a graphical git tool (such as [SourceTree](http://http://www.sourcetreeapp.com/) for OS X), you may need read the following:
26
36
 
27
37
  RVM and similar tools do store executables in custom locations instead of the standard locations for executables such as `/usr/bin`. Since your `.bash_profile` (or similar) might not be executed by your GUI tool, you may need to create a symlink to legit in a location that is in the tool's default path. `/usr/bin` is usually included, so this should do:
data/legit.gemspec CHANGED
@@ -19,5 +19,5 @@ Gem::Specification.new do |gem|
19
19
  gem.add_development_dependency "rake", "~> 10.0.3"
20
20
  gem.add_runtime_dependency "colorize", "~> 0.5.8"
21
21
  gem.add_runtime_dependency "thor", "~> 0.17.0"
22
- gem.add_runtime_dependency "rugged", "0.17.0.b7"
22
+ gem.add_runtime_dependency "rugged", "0.17.0.b7" # need version 0.17 for a bug accessing Rugged::Repo.config in 0.16
23
23
  end
data/lib/legit/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Legit
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
data/lib/legit.rb CHANGED
@@ -12,11 +12,10 @@ class Legit < Thor
12
12
  command << arg
13
13
  end
14
14
 
15
- system(command.join(' '))
15
+ run_command(command.join(' '))
16
16
  end
17
17
 
18
18
  desc "catch-todos [TODO_FORMAT]", "Abort commit if any todos in TODO_FORMAT found"
19
- method_option :warn, :type => :boolean, :aliases => "-w", :desc => 'Warn and prompt the user to choose whether to abort the commit'
20
19
  method_option :enable, :type => :boolean, :desc => 'Enable todo checking'
21
20
  method_option :disable, :type => :boolean, :desc => 'Disable todo checking'
22
21
  def catch_todos(todo_format = "TODO")
@@ -33,16 +32,24 @@ class Legit < Thor
33
32
  end
34
33
  end
35
34
 
35
+ desc "bisect BAD GOOD COMMAND", "Find the first bad commit by running COMMAND, using GOOD and BAD as the first known good and bad commits"
36
+ def bisect(bad, good, *command_args)
37
+ command = command_args.join(' ')
38
+ run_command("git bisect start #{bad} #{good}")
39
+ run_command("git bisect run #{command}")
40
+ run_command("git bisect reset")
41
+ end
42
+
36
43
  desc "delete BRANCH", "Delete BRANCH both locally and remotely"
37
44
  def delete(branch_name)
38
- system("git branch -d #{branch_name}")
45
+ run_command("git branch -d #{branch_name}")
39
46
 
40
47
  if $?.success?
41
48
  delete_remote_branch(branch_name)
42
49
  else
43
50
  show("Force delete branch #{branch_name}? (y/n)", :warning)
44
51
  if STDIN.gets.chomp =~ /^y/
45
- system("git branch -D #{branch_name}")
52
+ run_command("git branch -D #{branch_name}")
46
53
  delete_remote_branch(branch_name)
47
54
  else
48
55
  puts "Abort. #{branch_name} not deleted"
@@ -56,7 +63,7 @@ class Legit < Thor
56
63
  end
57
64
 
58
65
  def run_catch_todos(todo_format)
59
- system("git diff --staged | grep '^+' | grep #{todo_format}")
66
+ run_command("git diff --staged | grep '^+' | grep #{todo_format}")
60
67
 
61
68
  if $?.success?
62
69
  if options[:warn]
data/lib/legit_helper.rb CHANGED
@@ -17,6 +17,11 @@ def user_name
17
17
  `git config --get user.name`.chomp
18
18
  end
19
19
 
20
+ def run_command(command)
21
+ show(command, :low_warning) if ENV['DEBUG']
22
+ system(command)
23
+ end
24
+
20
25
  def show(message, type = :success)
21
26
  color =
22
27
  case type
metadata CHANGED
@@ -1,99 +1,89 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: legit
3
- version: !ruby/object:Gem::Version
4
- hash: 19
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.7
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 0
9
- - 6
10
- version: 0.0.6
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Dillon Kearns
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2013-02-04 00:00:00 -08:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
22
- version_requirements: &id001 !ruby/object:Gem::Requirement
12
+ date: 2013-02-19 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rake
16
+ requirement: !ruby/object:Gem::Requirement
23
17
  none: false
24
- requirements:
18
+ requirements:
25
19
  - - ~>
26
- - !ruby/object:Gem::Version
27
- hash: 73
28
- segments:
29
- - 10
30
- - 0
31
- - 3
20
+ - !ruby/object:Gem::Version
32
21
  version: 10.0.3
33
- requirement: *id001
34
- prerelease: false
35
- name: rake
36
22
  type: :development
37
- - !ruby/object:Gem::Dependency
38
- version_requirements: &id002 !ruby/object:Gem::Requirement
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
39
25
  none: false
40
- requirements:
26
+ requirements:
41
27
  - - ~>
42
- - !ruby/object:Gem::Version
43
- hash: 27
44
- segments:
45
- - 0
46
- - 5
47
- - 8
48
- version: 0.5.8
49
- requirement: *id002
50
- prerelease: false
28
+ - !ruby/object:Gem::Version
29
+ version: 10.0.3
30
+ - !ruby/object:Gem::Dependency
51
31
  name: colorize
52
- type: :runtime
53
- - !ruby/object:Gem::Dependency
54
- version_requirements: &id003 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
55
33
  none: false
56
- requirements:
34
+ requirements:
57
35
  - - ~>
58
- - !ruby/object:Gem::Version
59
- hash: 91
60
- segments:
61
- - 0
62
- - 17
63
- - 0
64
- version: 0.17.0
65
- requirement: *id003
36
+ - !ruby/object:Gem::Version
37
+ version: 0.5.8
38
+ type: :runtime
66
39
  prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 0.5.8
46
+ - !ruby/object:Gem::Dependency
67
47
  name: thor
68
- type: :runtime
69
- - !ruby/object:Gem::Dependency
70
- version_requirements: &id004 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
71
49
  none: false
72
- requirements:
73
- - - "="
74
- - !ruby/object:Gem::Version
75
- hash: -2833707614
76
- segments:
77
- - 0
78
- - 17
79
- - 0
80
- - b
81
- - 7
82
- version: 0.17.0.b7
83
- requirement: *id004
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: 0.17.0
54
+ type: :runtime
84
55
  prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 0.17.0
62
+ - !ruby/object:Gem::Dependency
85
63
  name: rugged
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - '='
68
+ - !ruby/object:Gem::Version
69
+ version: 0.17.0.b7
86
70
  type: :runtime
87
- description: A collection of scripts for common git tasks to simplify and improve workflow.
88
- email:
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - '='
76
+ - !ruby/object:Gem::Version
77
+ version: 0.17.0.b7
78
+ description: A collection of scripts for common git tasks to simplify and improve
79
+ workflow.
80
+ email:
89
81
  - dillon@dillonkearns.com
90
- executables:
82
+ executables:
91
83
  - legit
92
84
  extensions: []
93
-
94
85
  extra_rdoc_files: []
95
-
96
- files:
86
+ files:
97
87
  - .gitignore
98
88
  - Gemfile
99
89
  - LICENSE
@@ -104,41 +94,31 @@ files:
104
94
  - lib/legit.rb
105
95
  - lib/legit/version.rb
106
96
  - lib/legit_helper.rb
107
- has_rdoc: true
108
97
  homepage: https://github.com/dillonkearns/legit
109
98
  licenses: []
110
-
111
99
  post_install_message:
112
100
  rdoc_options: []
113
-
114
- require_paths:
101
+ require_paths:
115
102
  - lib
116
- required_ruby_version: !ruby/object:Gem::Requirement
103
+ required_ruby_version: !ruby/object:Gem::Requirement
117
104
  none: false
118
- requirements:
119
- - - ">="
120
- - !ruby/object:Gem::Version
121
- hash: 57
122
- segments:
123
- - 1
124
- - 8
125
- - 7
105
+ requirements:
106
+ - - ! '>='
107
+ - !ruby/object:Gem::Version
126
108
  version: 1.8.7
127
- required_rubygems_version: !ruby/object:Gem::Requirement
109
+ required_rubygems_version: !ruby/object:Gem::Requirement
128
110
  none: false
129
- requirements:
130
- - - ">="
131
- - !ruby/object:Gem::Version
132
- hash: 3
133
- segments:
111
+ requirements:
112
+ - - ! '>='
113
+ - !ruby/object:Gem::Version
114
+ version: '0'
115
+ segments:
134
116
  - 0
135
- version: "0"
117
+ hash: 1460548303740247406
136
118
  requirements: []
137
-
138
119
  rubyforge_project:
139
- rubygems_version: 1.5.3
120
+ rubygems_version: 1.8.23
140
121
  signing_key:
141
122
  specification_version: 3
142
123
  summary: A collection of scripts for common git tasks to simplify and improve workflow.
143
124
  test_files: []
144
-