git-smart 0.1.6 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -3,9 +3,7 @@ source :rubygems
3
3
  gem 'colorize'
4
4
 
5
5
  group :development do
6
- gem "rspec", "~> 2.3.0"
7
- gem "rcov", ">= 0"
8
- gem "bundler", "~> 1.0.0"
9
- gem "jeweler", "~> 1.5.2"
10
- gem "rocco"
6
+ gem 'rspec'
7
+ gem 'rcov'
8
+ gem 'rocco'
11
9
  end
@@ -2,35 +2,27 @@ GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
4
  colorize (0.5.8)
5
- diff-lcs (1.1.2)
6
- git (1.2.5)
7
- jeweler (1.5.2)
8
- bundler (~> 1.0.0)
9
- git (>= 1.2.5)
10
- rake
11
- mustache (0.12.0)
12
- rake (0.8.7)
13
- rcov (0.9.8)
14
- rdiscount (1.6.5)
15
- rocco (0.5)
5
+ diff-lcs (1.1.3)
6
+ mustache (0.99.4)
7
+ rcov (0.9.11)
8
+ redcarpet (1.17.2)
9
+ rocco (0.8.2)
16
10
  mustache
17
- rdiscount
18
- rspec (2.3.0)
19
- rspec-core (~> 2.3.0)
20
- rspec-expectations (~> 2.3.0)
21
- rspec-mocks (~> 2.3.0)
22
- rspec-core (2.3.1)
23
- rspec-expectations (2.3.0)
11
+ redcarpet
12
+ rspec (2.7.0)
13
+ rspec-core (~> 2.7.0)
14
+ rspec-expectations (~> 2.7.0)
15
+ rspec-mocks (~> 2.7.0)
16
+ rspec-core (2.7.1)
17
+ rspec-expectations (2.7.0)
24
18
  diff-lcs (~> 1.1.2)
25
- rspec-mocks (2.3.0)
19
+ rspec-mocks (2.7.0)
26
20
 
27
21
  PLATFORMS
28
22
  ruby
29
23
 
30
24
  DEPENDENCIES
31
- bundler (~> 1.0.0)
32
25
  colorize
33
- jeweler (~> 1.5.2)
34
26
  rcov
35
27
  rocco
36
- rspec (~> 2.3.0)
28
+ rspec
@@ -1,4 +1,4 @@
1
- Copyright (c) 2011 Glen Maddern
1
+ Copyright (c) 2011 Glen Maddern and Envato Pty Ltd
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -21,7 +21,7 @@ You almost certainly want to run this as well, to allow git commands to be outpu
21
21
  git config --global color.ui always
22
22
 
23
23
  Git normally only colours output when being run from the terminal, not from within scripts like these. This sorts that right out.
24
-
24
+
25
25
  ## Get smart!
26
26
 
27
27
  There's only three commands at this point, but there'll be more!
@@ -64,5 +64,5 @@ Recommended alias to use: `gl`
64
64
 
65
65
  ## Copyright
66
66
 
67
- Copyright (c) 2011 Glen Maddern. See LICENSE.txt for
67
+ Copyright (c) 2011 Glen Maddern and Envato Pty Ltd. See LICENSE.txt for
68
68
  further details.
data/Rakefile CHANGED
@@ -1,5 +1,6 @@
1
1
  require 'rubygems'
2
2
  require 'bundler'
3
+
3
4
  begin
4
5
  Bundler.setup(:default, :development)
5
6
  rescue Bundler::BundlerError => e
@@ -7,20 +8,8 @@ rescue Bundler::BundlerError => e
7
8
  $stderr.puts "Run `bundle install` to install missing gems"
8
9
  exit e.status_code
9
10
  end
10
- require 'rake'
11
11
 
12
- require 'jeweler'
13
- Jeweler::Tasks.new do |gem|
14
- # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
15
- gem.name = "git-smart"
16
- gem.homepage = "http://github.com/geelen/git-smart"
17
- gem.license = "MIT"
18
- gem.summary = %Q{Add some smarts to your git workflow}
19
- gem.description = %Q{Installs some additional 'smart' git commands, like `git smart-pull`.}
20
- gem.email = "glenmaddern@gmail.com"
21
- gem.authors = ["Glen Maddern"]
22
- end
23
- Jeweler::RubygemsDotOrgTasks.new
12
+ require 'rake'
24
13
 
25
14
  require 'rspec/core'
26
15
  require 'rspec/core/rake_task'
@@ -35,7 +24,7 @@ end
35
24
 
36
25
  task :default => :spec
37
26
 
38
- require 'rake/rdoctask'
27
+ require 'rdoc/task'
39
28
  Rake::RDocTask.new do |rdoc|
40
29
  version = File.exist?('VERSION') ? File.read('VERSION') : ""
41
30
 
@@ -79,4 +68,4 @@ GitSmart.run('#{cmd}', ARGV)
79
68
  }
80
69
  end
81
70
 
82
- task :gemspec => :generate_binaries
71
+ task :build => :generate_binaries
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.6
1
+ 0.1.7
@@ -0,0 +1,43 @@
1
+ # Introducing git-smart
2
+
3
+ Recently, I grappled with some unexpected git behaviour when trying to rebase local changes (in particular, merge commits) onto changes from upstream. I blogged about [the solution](http://notes.envato.com/developers/rebasing-merge-commits-in-git/), which is to use `git rebase -p`, but I still didn't feel 'done'.
4
+
5
+ Most of the dev team here at Envato had begun using my [aliases](https://gist.github.com/590895), but it's not exactly an easy or maintainable solution. I also wanted to do more, such as stashing local changes if required, using fast-forward when possible, and giving more feedback to the user. But most importantly, I wanted to remove the 'magic' from using someone else's aliases and help people understand the decisions behind choosing the 'correct' git command to run.
6
+
7
+ ## A gem is born
8
+
9
+ Git allows you to add arbitrary commands by placing executables on the path. When you type `git some-custom-command`, git looks for a `git-custom-command` executable on your path and executes it. It can be in any language you want and has no special access to git's internals. It's perfect.
10
+
11
+ Packaging gems also allows you to generate any number of custom executables onto the path. It's perfect, too!
12
+
13
+ Putting them together, we get [git-smart](http://github.com/geelen/git-smart):
14
+
15
+ ![git-smart logo](https://github.com/geelen/git-smart/raw/master/docs/images/git-smart.png)
16
+
17
+ Installing it is as easy as `gem install git-smart` and will give you three new commands, `git smart-pull`, `git smart-merge` and `git smart-log`:
18
+
19
+ ## git smart-pull, the new king of the 'fetch & rebase' workflow
20
+
21
+ The first command I wrote was designed to expand on the knowledge behind `gup`, giving people a reliably-safe method of pulling updates from the server. I also wanted to give plenty of feedback to the user while it runs, and have the source code as [readable and well-documented as possible](http://github-displayer.heroku.com/geelen/git-smart/raw/master/docs/smart-pull.html).
22
+
23
+ In a nutshell, this script will detect which branch you want to pull from, assuming origin/same-branch-name if you haven't set up branch-tracking. If the remote branch hasn't moved on, there's nothing to do. If your local branch hasn't moved on, it can simply be fast-forwarded (wrapped in a `git stash`/`git stash pop` if necessary). Only if both the remote and your local branch have moved on, fall back to a `git rebase -p`, again wrapped in a stash/pop if needed. Easy!
24
+
25
+ This is what it looks like:
26
+
27
+ ![screenshot](https://github.com/geelen/git-smart/raw/master/docs/images/smart-pull-screenshot.png)
28
+
29
+ ## git smart-merge, a non-fast-forward merge wrapped in a stash
30
+
31
+ If you haven't read ["A successful Git branching model"](http://nvie.com/posts/a-successful-git-branching-model/) by Vincent Driessen, you really should. It's good stuff, and it makes the argument for using the `--no-ff` flag whenever you merge. I won't repeat the arguments here, but I wrote `git smart-merge` to effectively make `--no-ff` the default. It also does a stash/pop if required.
32
+
33
+ For more detail, take a look at the [annotated source code](http://github-displayer.heroku.com/geelen/git-smart/raw/master/docs/smart-merge.html).
34
+
35
+ ## git smart-log, the most blinged out ASCII log possible
36
+
37
+ Use this in place of `git log`. I'll let the output speak for itself:
38
+
39
+ ![screenshot](https://github.com/geelen/git-smart/raw/master/docs/images/smart-log-comparison.png)
40
+
41
+ Check out the [code itself](http://github-displayer.heroku.com/geelen/git-smart/raw/master/docs/smart-log.html). Hat tip to [@ben_h](http://twitter.com/ben_h) for the guts of this.
42
+
43
+ Also, if you're on OSX and not using [brotherbard's fork of gitx](https://github.com/brotherbard/gitx/wiki), you really should be. It's absolutely the best way to navigate through a git project's history.
@@ -0,0 +1,59 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="content-type" content="text/html;charset=utf-8">
5
+ <title>smart-log.rb</title>
6
+ <link rel="stylesheet" href="http://jashkenas.github.com/docco/resources/docco.css">
7
+ </head>
8
+ <body>
9
+ <div id='container'>
10
+ <div id="background"></div>
11
+ <div id="jump_to">
12
+ Jump To &hellip;
13
+ <div id="jump_wrapper">
14
+ <div id="jump_page">
15
+ <a class="source" href="smart-log.html">smart-log.rb</a>
16
+ <a class="source" href="smart-merge.html">smart-merge.rb</a>
17
+ <a class="source" href="smart-pull.html">smart-pull.rb</a>
18
+ </div>
19
+ </div>
20
+ </div>
21
+ <table cellspacing=0 cellpadding=0>
22
+ <thead>
23
+ <tr>
24
+ <th class=docs><h1>smart-log.rb</h1></th>
25
+ <th class=code></th>
26
+ </tr>
27
+ </thead>
28
+ <tbody>
29
+ <tr id='section-1'>
30
+ <td class=docs>
31
+ <div class="octowrap">
32
+ <a class="octothorpe" href="#section-1">#</a>
33
+ </div>
34
+ <p>This is a super simple alias for the most badass of log outputs that git
35
+ offers. Uses git log &mdash;graph under the hood.</p>
36
+
37
+ <p>Thanks to <a href="http://twitter.com/ben_h">@ben_h</a> for this one!</p>
38
+ </td>
39
+ <td class=code>
40
+ <div class='highlight'><pre><span class="no">GitSmart</span><span class="o">.</span><span class="n">register</span> <span class="s1">&#39;smart-log&#39;</span> <span class="k">do</span> <span class="o">|</span><span class="n">repo</span><span class="p">,</span> <span class="n">args</span><span class="o">|</span></pre></div>
41
+ </td>
42
+ </tr>
43
+ <tr id='section-2'>
44
+ <td class=docs>
45
+ <div class="octowrap">
46
+ <a class="octothorpe" href="#section-2">#</a>
47
+ </div>
48
+ <p>Super simple, passes the args through to git log, but
49
+ ratchets up the badassness quotient.</p>
50
+
51
+ </td>
52
+ <td class=code>
53
+ <div class='highlight'><pre> <span class="n">repo</span><span class="o">.</span><span class="n">log_to_shell</span><span class="p">(</span><span class="s1">&#39;--pretty=format:%Cblue%h%d%Creset %ar %Cgreen%an%Creset %s&#39;</span><span class="p">,</span> <span class="s1">&#39;--graph&#39;</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">)</span>
54
+ <span class="k">end</span></pre></div>
55
+ </td>
56
+ </tr>
57
+ </table>
58
+ </div>
59
+ </body>
@@ -12,6 +12,7 @@
12
12
  Jump To &hellip;
13
13
  <div id="jump_wrapper">
14
14
  <div id="jump_page">
15
+ <a class="source" href="smart-log.html">smart-log.rb</a>
15
16
  <a class="source" href="smart-merge.html">smart-merge.rb</a>
16
17
  <a class="source" href="smart-pull.html">smart-pull.rb</a>
17
18
  </div>
@@ -12,6 +12,7 @@
12
12
  Jump To &hellip;
13
13
  <div id="jump_wrapper">
14
14
  <div id="jump_page">
15
+ <a class="source" href="smart-log.html">smart-log.rb</a>
15
16
  <a class="source" href="smart-merge.html">smart-merge.rb</a>
16
17
  <a class="source" href="smart-pull.html">smart-pull.rb</a>
17
18
  </div>
@@ -34,7 +35,7 @@
34
35
  and reapply your work on top of it. It&rsquo;s like a much, much
35
36
  smarter version of <code>git pull --rebase</code>.</p>
36
37
 
37
- <p>For some background as to why this is needed, see <a href="https://gist.github.com/591209">my blog
38
+ <p>For some background as to why this is needed, see <a href="http://notes.envato.com/developers/rebasing-merge-commits-in-git/">my blog
38
39
  post about the perils of rebasing merge commits</a></p>
39
40
 
40
41
  <p>This is how it works:</p>
@@ -244,7 +245,7 @@ to pull.</p>
244
245
  <p>If our local branch has new commits, we need to rebase them on top of master.</p>
245
246
 
246
247
  <p>When we rebase, we use <code>git rebase -p</code>, which attempts to recreate merges
247
- instead of ignoring them. For a description as to why, see my <a href="(https://gist.github.com/591209">blog post</a>.</p>
248
+ instead of ignoring them. For a description as to why, see my <a href="http://notes.envato.com/developers/rebasing-merge-commits-in-git/">blog post</a>.</p>
248
249
  </td>
249
250
  <td class=code>
250
251
  <div class='highlight'><pre> <span class="n">note</span> <span class="s2">&quot;Both local and remote branches have moved on. Branch &#39;master&#39; needs to be rebased onto &#39;origin/master&#39;&quot;</span>
@@ -5,5 +5,5 @@
5
5
  GitSmart.register 'smart-log' do |repo, args|
6
6
  #Super simple, passes the args through to git log, but
7
7
  #ratchets up the badassness quotient.
8
- repo.log_to_shell('--pretty=format:%Cblue%h%d%Creset %ar %Cgreen%an%Creset %s', '--graph', *args)
8
+ repo.log_to_shell('--pretty=format:%C(yellow)%h%Cblue%d%Creset %s %C(white) %an, %ar%Creset', '--graph', *args)
9
9
  end
@@ -3,7 +3,7 @@
3
3
  #smarter version of `git pull --rebase`.
4
4
  #
5
5
  #For some background as to why this is needed, see [my blog
6
- #post about the perils of rebasing merge commits](https://gist.github.com/591209)
6
+ #post about the perils of rebasing merge commits](http://notes.envato.com/developers/rebasing-merge-commits-in-git/)
7
7
  #
8
8
  #This is how it works:
9
9
 
@@ -89,7 +89,7 @@ GitSmart.register 'smart-pull' do |repo, args|
89
89
  #If our local branch has new commits, we need to rebase them on top of master.
90
90
  #
91
91
  #When we rebase, we use `git rebase -p`, which attempts to recreate merges
92
- #instead of ignoring them. For a description as to why, see my [blog post]((https://gist.github.com/591209).
92
+ #instead of ignoring them. For a description as to why, see my [blog post](http://notes.envato.com/developers/rebasing-merge-commits-in-git/).
93
93
  note "Both local and remote branches have moved on. Branch 'master' needs to be rebased onto 'origin/master'"
94
94
  repo.rebase_preserving_merges!(upstream_branch)
95
95
  success_messages << "HEAD moved from #{head[0,7]} to #{repo.sha('HEAD')[0,7]}."
@@ -101,6 +101,9 @@ GitSmart.register 'smart-pull' do |repo, args|
101
101
  repo.stash_pop!
102
102
  end
103
103
 
104
+ #Use smart-log to show the new commits.
105
+ GitSmart.run('smart-log', ["#{merge_base}..#{upstream_branch}"])
106
+
104
107
  #Display a nice completion message in large, friendly letters.
105
108
  success ["All good.", *success_messages].join(" ")
106
109
  end
metadata CHANGED
@@ -1,138 +1,78 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: git-smart
3
- version: !ruby/object:Gem::Version
4
- hash: 23
5
- prerelease: false
6
- segments:
7
- - 0
8
- - 1
9
- - 6
10
- version: 0.1.6
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.7
5
+ prerelease:
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Glen Maddern
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-01-06 00:00:00 +11:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
22
- prerelease: false
23
- type: :runtime
12
+ date: 2011-01-06 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
24
15
  name: colorize
25
- version_requirements: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &70227984126720 !ruby/object:Gem::Requirement
26
17
  none: false
27
- requirements:
28
- - - ">="
29
- - !ruby/object:Gem::Version
30
- hash: 3
31
- segments:
32
- - 0
33
- version: "0"
34
- requirement: *id001
35
- - !ruby/object:Gem::Dependency
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
36
23
  prerelease: false
37
- type: :development
24
+ version_requirements: *70227984126720
25
+ - !ruby/object:Gem::Dependency
38
26
  name: rspec
39
- version_requirements: &id002 !ruby/object:Gem::Requirement
27
+ requirement: &70227984126060 !ruby/object:Gem::Requirement
40
28
  none: false
41
- requirements:
42
- - - ~>
43
- - !ruby/object:Gem::Version
44
- hash: 3
45
- segments:
46
- - 2
47
- - 3
48
- - 0
49
- version: 2.3.0
50
- requirement: *id002
51
- - !ruby/object:Gem::Dependency
52
- prerelease: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: 2.7.0
53
33
  type: :development
54
- name: rcov
55
- version_requirements: &id003 !ruby/object:Gem::Requirement
56
- none: false
57
- requirements:
58
- - - ">="
59
- - !ruby/object:Gem::Version
60
- hash: 3
61
- segments:
62
- - 0
63
- version: "0"
64
- requirement: *id003
65
- - !ruby/object:Gem::Dependency
66
34
  prerelease: false
67
- type: :development
68
- name: bundler
69
- version_requirements: &id004 !ruby/object:Gem::Requirement
35
+ version_requirements: *70227984126060
36
+ - !ruby/object:Gem::Dependency
37
+ name: rcov
38
+ requirement: &70227984125420 !ruby/object:Gem::Requirement
70
39
  none: false
71
- requirements:
72
- - - ~>
73
- - !ruby/object:Gem::Version
74
- hash: 23
75
- segments:
76
- - 1
77
- - 0
78
- - 0
79
- version: 1.0.0
80
- requirement: *id004
81
- - !ruby/object:Gem::Dependency
82
- prerelease: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
83
44
  type: :development
84
- name: jeweler
85
- version_requirements: &id005 !ruby/object:Gem::Requirement
86
- none: false
87
- requirements:
88
- - - ~>
89
- - !ruby/object:Gem::Version
90
- hash: 7
91
- segments:
92
- - 1
93
- - 5
94
- - 2
95
- version: 1.5.2
96
- requirement: *id005
97
- - !ruby/object:Gem::Dependency
98
45
  prerelease: false
99
- type: :development
46
+ version_requirements: *70227984125420
47
+ - !ruby/object:Gem::Dependency
100
48
  name: rocco
101
- version_requirements: &id006 !ruby/object:Gem::Requirement
49
+ requirement: &70227984124580 !ruby/object:Gem::Requirement
102
50
  none: false
103
- requirements:
104
- - - ">="
105
- - !ruby/object:Gem::Version
106
- hash: 3
107
- segments:
108
- - 0
109
- version: "0"
110
- requirement: *id006
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *70227984124580
111
58
  description: Installs some additional 'smart' git commands, like `git smart-pull`.
112
59
  email: glenmaddern@gmail.com
113
- executables:
60
+ executables:
114
61
  - git-smart-log
115
- - git-smart-pull
116
62
  - git-smart-merge
63
+ - git-smart-pull
117
64
  extensions: []
118
-
119
- extra_rdoc_files:
65
+ extra_rdoc_files:
120
66
  - LICENSE.txt
121
67
  - README.md
122
- files:
123
- - Gemfile
124
- - Gemfile.lock
125
- - LICENSE.txt
126
- - README.md
127
- - Rakefile
128
- - VERSION
129
- - bin/git-smart-log
130
- - bin/git-smart-merge
131
- - bin/git-smart-pull
68
+ files:
132
69
  - docs/images/git-smart.png
70
+ - docs/images/smart-log-comparison.png
71
+ - docs/images/smart-pull-screenshot.png
72
+ - docs/introductory_blog_post.md
73
+ - docs/smart-log.html
133
74
  - docs/smart-merge.html
134
75
  - docs/smart-pull.html
135
- - git-smart.gemspec
136
76
  - lib/commands/smart-log.rb
137
77
  - lib/commands/smart-merge.rb
138
78
  - lib/commands/smart-pull.rb
@@ -145,45 +85,45 @@ files:
145
85
  - lib/git-smart/git_repo.rb
146
86
  - lib/git-smart/git_smart.rb
147
87
  - lib/git-smart/safe_shell.rb
88
+ - Gemfile
89
+ - Gemfile.lock
90
+ - LICENSE.txt
91
+ - README.md
92
+ - Rakefile
93
+ - VERSION
148
94
  - spec/smart-merge_failures_spec.rb
149
95
  - spec/smart-merge_spec.rb
150
96
  - spec/smart-pull_spec.rb
151
97
  - spec/spec_helper.rb
152
- has_rdoc: true
98
+ - bin/git-smart-log
99
+ - bin/git-smart-merge
100
+ - bin/git-smart-pull
153
101
  homepage: http://github.com/geelen/git-smart
154
- licenses:
102
+ licenses:
155
103
  - MIT
156
104
  post_install_message:
157
105
  rdoc_options: []
158
-
159
- require_paths:
106
+ require_paths:
160
107
  - lib
161
- required_ruby_version: !ruby/object:Gem::Requirement
108
+ required_ruby_version: !ruby/object:Gem::Requirement
162
109
  none: false
163
- requirements:
164
- - - ">="
165
- - !ruby/object:Gem::Version
166
- hash: 3
167
- segments:
168
- - 0
169
- version: "0"
170
- required_rubygems_version: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - ! '>='
112
+ - !ruby/object:Gem::Version
113
+ version: '0'
114
+ required_rubygems_version: !ruby/object:Gem::Requirement
171
115
  none: false
172
- requirements:
173
- - - ">="
174
- - !ruby/object:Gem::Version
175
- hash: 3
176
- segments:
177
- - 0
178
- version: "0"
116
+ requirements:
117
+ - - ! '>='
118
+ - !ruby/object:Gem::Version
119
+ version: '0'
179
120
  requirements: []
180
-
181
121
  rubyforge_project:
182
- rubygems_version: 1.3.7
122
+ rubygems_version: 1.8.6.1
183
123
  signing_key:
184
124
  specification_version: 3
185
125
  summary: Add some smarts to your git workflow
186
- test_files:
126
+ test_files:
187
127
  - spec/smart-merge_failures_spec.rb
188
128
  - spec/smart-merge_spec.rb
189
129
  - spec/smart-pull_spec.rb
@@ -1,91 +0,0 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
- # -*- encoding: utf-8 -*-
5
-
6
- Gem::Specification.new do |s|
7
- s.name = %q{git-smart}
8
- s.version = "0.1.6"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Glen Maddern"]
12
- s.date = %q{2011-01-06}
13
- s.description = %q{Installs some additional 'smart' git commands, like `git smart-pull`.}
14
- s.email = %q{glenmaddern@gmail.com}
15
- s.executables = ["git-smart-log", "git-smart-pull", "git-smart-merge"]
16
- s.extra_rdoc_files = [
17
- "LICENSE.txt",
18
- "README.md"
19
- ]
20
- s.files = [
21
- "Gemfile",
22
- "Gemfile.lock",
23
- "LICENSE.txt",
24
- "README.md",
25
- "Rakefile",
26
- "VERSION",
27
- "bin/git-smart-log",
28
- "bin/git-smart-merge",
29
- "bin/git-smart-pull",
30
- "docs/images/git-smart.png",
31
- "docs/smart-merge.html",
32
- "docs/smart-pull.html",
33
- "git-smart.gemspec",
34
- "lib/commands/smart-log.rb",
35
- "lib/commands/smart-merge.rb",
36
- "lib/commands/smart-pull.rb",
37
- "lib/core_ext/array.rb",
38
- "lib/core_ext/hash.rb",
39
- "lib/core_ext/object.rb",
40
- "lib/git-smart.rb",
41
- "lib/git-smart/exceptions.rb",
42
- "lib/git-smart/execution_context.rb",
43
- "lib/git-smart/git_repo.rb",
44
- "lib/git-smart/git_smart.rb",
45
- "lib/git-smart/safe_shell.rb",
46
- "spec/smart-merge_failures_spec.rb",
47
- "spec/smart-merge_spec.rb",
48
- "spec/smart-pull_spec.rb",
49
- "spec/spec_helper.rb"
50
- ]
51
- s.homepage = %q{http://github.com/geelen/git-smart}
52
- s.licenses = ["MIT"]
53
- s.require_paths = ["lib"]
54
- s.rubygems_version = %q{1.3.7}
55
- s.summary = %q{Add some smarts to your git workflow}
56
- s.test_files = [
57
- "spec/smart-merge_failures_spec.rb",
58
- "spec/smart-merge_spec.rb",
59
- "spec/smart-pull_spec.rb",
60
- "spec/spec_helper.rb"
61
- ]
62
-
63
- if s.respond_to? :specification_version then
64
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
65
- s.specification_version = 3
66
-
67
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
68
- s.add_runtime_dependency(%q<colorize>, [">= 0"])
69
- s.add_development_dependency(%q<rspec>, ["~> 2.3.0"])
70
- s.add_development_dependency(%q<rcov>, [">= 0"])
71
- s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
72
- s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
73
- s.add_development_dependency(%q<rocco>, [">= 0"])
74
- else
75
- s.add_dependency(%q<colorize>, [">= 0"])
76
- s.add_dependency(%q<rspec>, ["~> 2.3.0"])
77
- s.add_dependency(%q<rcov>, [">= 0"])
78
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
79
- s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
80
- s.add_dependency(%q<rocco>, [">= 0"])
81
- end
82
- else
83
- s.add_dependency(%q<colorize>, [">= 0"])
84
- s.add_dependency(%q<rspec>, ["~> 2.3.0"])
85
- s.add_dependency(%q<rcov>, [">= 0"])
86
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
87
- s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
88
- s.add_dependency(%q<rocco>, [">= 0"])
89
- end
90
- end
91
-