git-whistles 0.6.3 → 0.7.0

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.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 [^/]*/::'