git-whistles 0.6.3 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- git-whistles (0.6.3)
4
+ git-whistles (0.7.0)
5
5
  pivotal-tracker (~> 0.5.6)
6
6
  term-ansicolor
7
7
 
@@ -13,7 +13,7 @@ GEM
13
13
  crack (0.3.2)
14
14
  happymapper (0.4.0)
15
15
  libxml-ruby (~> 2.0)
16
- libxml-ruby (2.6.0)
16
+ libxml-ruby (2.5.0)
17
17
  method_source (0.8)
18
18
  mime-types (1.21)
19
19
  nokogiri (1.5.6)
data/README.md CHANGED
@@ -13,7 +13,7 @@ Use it with:
13
13
  - `git ff-all-branches [-f] [-p] [-v]`. Fast-forward all local tracking branches to their remote counterpart (where possible). Very useful on big projects.
14
14
  - `git stash-and-checkout [branch]` As the name implies: stash and checkout another branch.
15
15
  - `git-pull-request [--from your-branch] [--to target-branch]` Open your browser at a Github pull-request page for the specified branch (defaults to the current `head`). If you're using Pivotal Tracker and your branch has a story number in its name, populates your pull request with story details.
16
- - `git outstanding-features [from-branch] [to-branch]` List the pull requests merged in `[to-branch]` but not in `[from-branch]`. Useful to prepare a list of stuff you're oging to deploy. Defaults to listing what's on `origin/master` but not on `origin/production`.
16
+ - `git outstanding-features [-f from-branch] [-t to-branch]` List the pull requests merged in `[to-branch]` but not in `[from-branch]`. Useful to prepare a list of stuff you're going to deploy. Defaults to listing what's on `origin/master` but not on `origin/production`. ([PedroCunha](https://github.com/PedroCunha))
17
17
  - `git chop [branch]` Delete the local and origin copy of a branch. Useful to close feature branches once a feature is completed.
18
18
  - `git list-branches [-l] [-r] [-i integration-branch]` Colourful listing of all local or origin branches, and their distance to an integration branch (`master` by default).
19
19
  - `git merge-po <ancestor> <left> <right>` Merge engine for GetText PO files.
@@ -1,17 +1,53 @@
1
1
  #!/usr/bin/env ruby
2
2
  # encoding: UTF-8
3
3
  #
4
- # runner.rb --
4
+ # git-outstanding-features --
5
5
  #
6
- # Run shell scripts from a gem.
7
- # Symlink to this script to run a script with the same name living in
8
- # libexec/.
6
+ # List merged pull requests.
9
7
  #
10
- require 'pathname'
11
8
  require 'rubygems'
12
- require 'git-whistles'
9
+ require 'optparse'
10
+ require 'term/ansicolor'
11
+ require 'git-whistles/app'
13
12
 
14
- target_script = Pathname.new($0).basename
15
- script_path = Git::Whistles::GEMDIR.join('libexec', "#{target_script}.sh").cleanpath.to_s
13
+ class App < Git::Whistles::App
16
14
 
17
- Kernel.exec script_path, *ARGV
15
+ def initialize
16
+ super
17
+ end
18
+
19
+ def main(args)
20
+ super
21
+ parse_args!(args)
22
+
23
+ `git log --oneline #{options.to} ^#{options.from} | grep 'Merge pull request' | sed -e 's:.*from [^/]*/::'`
24
+ end
25
+
26
+ def defaults
27
+ {
28
+ :from => 'origin/master',
29
+ :to => 'origin/production'
30
+ }
31
+ end
32
+
33
+ def option_parser
34
+ @option_parser ||= OptionParser.new do |op|
35
+ op.banner = "Usage: git outstanding-features --from [FROM-BRANCH] --to [TO-BRANCH]"
36
+
37
+ op.on("-f", "--from [BRANCH]", "From branch") do |from|
38
+ options.from = from
39
+ end
40
+
41
+ op.on("-t", "--to [BRANCH]", "To branch") do |to|
42
+ options.to = to
43
+ end
44
+
45
+ op.on_tail("-h", "--help", "Show this message") do
46
+ puts op
47
+ exit
48
+ end
49
+ end
50
+ end
51
+ end
52
+
53
+ App.run!
@@ -4,7 +4,7 @@ require 'pathname'
4
4
 
5
5
  module Git
6
6
  module Whistles
7
- VERSION = "0.6.3"
7
+ VERSION = "0.7.0"
8
8
  GEMDIR = Pathname.new(__FILE__).parent.parent.parent
9
9
  end
10
10
  end
metadata CHANGED
@@ -1,116 +1,115 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: git-whistles
3
- version: !ruby/object:Gem::Version
4
- version: 0.6.3
3
+ version: !ruby/object:Gem::Version
4
+ hash: 3
5
5
  prerelease:
6
+ segments:
7
+ - 0
8
+ - 7
9
+ - 0
10
+ version: 0.7.0
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Julien Letessier
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2013-02-18 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: bundler
16
- requirement: !ruby/object:Gem::Requirement
17
+
18
+ date: 2013-03-03 00:00:00 +00:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ requirement: &id001 !ruby/object:Gem::Requirement
17
23
  none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ hash: 23
28
+ segments:
29
+ - 1
30
+ - 0
31
+ - 0
21
32
  version: 1.0.0
22
- type: :development
23
33
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
34
+ name: bundler
35
+ type: :development
36
+ version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ requirement: &id002 !ruby/object:Gem::Requirement
25
39
  none: false
26
- requirements:
27
- - - ! '>='
28
- - !ruby/object:Gem::Version
29
- version: 1.0.0
30
- - !ruby/object:Gem::Dependency
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ hash: 3
44
+ segments:
45
+ - 0
46
+ version: "0"
47
+ prerelease: false
31
48
  name: rake
32
- requirement: !ruby/object:Gem::Requirement
33
- none: false
34
- requirements:
35
- - - ! '>='
36
- - !ruby/object:Gem::Version
37
- version: '0'
38
49
  type: :development
39
- prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
50
+ version_requirements: *id002
51
+ - !ruby/object:Gem::Dependency
52
+ requirement: &id003 !ruby/object:Gem::Requirement
41
53
  none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
45
- version: '0'
46
- - !ruby/object:Gem::Dependency
54
+ requirements:
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ hash: 3
58
+ segments:
59
+ - 0
60
+ version: "0"
61
+ prerelease: false
47
62
  name: pry
48
- requirement: !ruby/object:Gem::Requirement
49
- none: false
50
- requirements:
51
- - - ! '>='
52
- - !ruby/object:Gem::Version
53
- version: '0'
54
63
  type: :development
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
64
+ version_requirements: *id003
65
+ - !ruby/object:Gem::Dependency
66
+ requirement: &id004 !ruby/object:Gem::Requirement
57
67
  none: false
58
- requirements:
59
- - - ! '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- - !ruby/object:Gem::Dependency
68
+ requirements:
69
+ - - ">="
70
+ - !ruby/object:Gem::Version
71
+ hash: 3
72
+ segments:
73
+ - 0
74
+ version: "0"
75
+ prerelease: false
63
76
  name: pry-nav
64
- requirement: !ruby/object:Gem::Requirement
65
- none: false
66
- requirements:
67
- - - ! '>='
68
- - !ruby/object:Gem::Version
69
- version: '0'
70
77
  type: :development
71
- prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ! '>='
76
- - !ruby/object:Gem::Version
77
- version: '0'
78
- - !ruby/object:Gem::Dependency
79
- name: pivotal-tracker
80
- requirement: !ruby/object:Gem::Requirement
78
+ version_requirements: *id004
79
+ - !ruby/object:Gem::Dependency
80
+ requirement: &id005 !ruby/object:Gem::Requirement
81
81
  none: false
82
- requirements:
82
+ requirements:
83
83
  - - ~>
84
- - !ruby/object:Gem::Version
84
+ - !ruby/object:Gem::Version
85
+ hash: 7
86
+ segments:
87
+ - 0
88
+ - 5
89
+ - 6
85
90
  version: 0.5.6
86
- type: :runtime
87
91
  prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
92
+ name: pivotal-tracker
93
+ type: :runtime
94
+ version_requirements: *id005
95
+ - !ruby/object:Gem::Dependency
96
+ requirement: &id006 !ruby/object:Gem::Requirement
89
97
  none: false
90
- requirements:
91
- - - ~>
92
- - !ruby/object:Gem::Version
93
- version: 0.5.6
94
- - !ruby/object:Gem::Dependency
98
+ requirements:
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ hash: 3
102
+ segments:
103
+ - 0
104
+ version: "0"
105
+ prerelease: false
95
106
  name: term-ansicolor
96
- requirement: !ruby/object:Gem::Requirement
97
- none: false
98
- requirements:
99
- - - ! '>='
100
- - !ruby/object:Gem::Version
101
- version: '0'
102
107
  type: :runtime
103
- prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
- requirements:
107
- - - ! '>='
108
- - !ruby/object:Gem::Version
109
- version: '0'
108
+ version_requirements: *id006
110
109
  description: A few helpers for classic Git workflows
111
- email:
110
+ email:
112
111
  - julien.letessier@gmail.com
113
- executables:
112
+ executables:
114
113
  - git-chop
115
114
  - git-ff-all-branches
116
115
  - git-list-branches
@@ -120,8 +119,10 @@ executables:
120
119
  - git-select
121
120
  - git-stash-and-checkout
122
121
  extensions: []
122
+
123
123
  extra_rdoc_files: []
124
- files:
124
+
125
+ files:
125
126
  - .gitignore
126
127
  - Gemfile
127
128
  - Gemfile.lock
@@ -145,35 +146,43 @@ files:
145
146
  - libexec/git-chop.sh
146
147
  - libexec/git-list-branches.sh
147
148
  - libexec/git-merge-po.sh
148
- - libexec/git-outstanding-features.sh
149
149
  - libexec/git-stash-and-checkout.sh
150
150
  - libexec/runner.rb
151
+ has_rdoc: true
151
152
  homepage: http://github.com/mezis/git-whistles
152
153
  licenses: []
154
+
153
155
  post_install_message:
154
156
  rdoc_options: []
155
- require_paths:
157
+
158
+ require_paths:
156
159
  - lib
157
- required_ruby_version: !ruby/object:Gem::Requirement
160
+ required_ruby_version: !ruby/object:Gem::Requirement
158
161
  none: false
159
- requirements:
160
- - - ! '>='
161
- - !ruby/object:Gem::Version
162
- version: '0'
163
- segments:
162
+ requirements:
163
+ - - ">="
164
+ - !ruby/object:Gem::Version
165
+ hash: 3
166
+ segments:
164
167
  - 0
165
- hash: 4013642806970746288
166
- required_rubygems_version: !ruby/object:Gem::Requirement
168
+ version: "0"
169
+ required_rubygems_version: !ruby/object:Gem::Requirement
167
170
  none: false
168
- requirements:
169
- - - ! '>='
170
- - !ruby/object:Gem::Version
171
+ requirements:
172
+ - - ">="
173
+ - !ruby/object:Gem::Version
174
+ hash: 23
175
+ segments:
176
+ - 1
177
+ - 3
178
+ - 6
171
179
  version: 1.3.6
172
180
  requirements: []
181
+
173
182
  rubyforge_project:
174
- rubygems_version: 1.8.23
183
+ rubygems_version: 1.3.9.5
175
184
  signing_key:
176
185
  specification_version: 3
177
- summary: ! 'A few helpers for classic Git workflows: makes branching and merging,
178
- PO file handling, issuing pull requests slightly simpler.'
186
+ summary: "A few helpers for classic Git workflows: makes branching and merging, PO file handling, issuing pull requests slightly simpler."
179
187
  test_files: []
188
+
@@ -1,11 +0,0 @@
1
- #!/bin/sh
2
- #
3
- # git-outstanding-features --
4
- #
5
- # List merged pull requests.
6
- #
7
-
8
- from=${1:-origin/production}
9
- to=${2:-production}
10
-
11
- git log --oneline ${to} ^${from} | grep 'Merge pull request' | sed -e 's:.*from [^/]*/::'