git-smart 0.1.6 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
-