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 +2 -2
- data/README.md +1 -1
- data/bin/git-outstanding-features +45 -9
- data/lib/git-whistles/version.rb +1 -1
- metadata +111 -102
- data/libexec/git-outstanding-features.sh +0 -11
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
git-whistles (0.
|
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.
|
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
|
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
|
-
#
|
4
|
+
# git-outstanding-features --
|
5
5
|
#
|
6
|
-
#
|
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 '
|
9
|
+
require 'optparse'
|
10
|
+
require 'term/ansicolor'
|
11
|
+
require 'git-whistles/app'
|
13
12
|
|
14
|
-
|
15
|
-
script_path = Git::Whistles::GEMDIR.join('libexec', "#{target_script}.sh").cleanpath.to_s
|
13
|
+
class App < Git::Whistles::App
|
16
14
|
|
17
|
-
|
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!
|
data/lib/git-whistles/version.rb
CHANGED
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
|
-
|
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
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
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
|
-
|
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
|
-
|
30
|
-
|
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
|
-
|
40
|
-
|
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
|
-
|
46
|
-
|
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
|
-
|
56
|
-
|
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
|
-
|
62
|
-
|
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
|
-
|
72
|
-
|
73
|
-
|
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
|
-
|
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
|
-
|
94
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
163
|
-
segments:
|
162
|
+
requirements:
|
163
|
+
- - ">="
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
hash: 3
|
166
|
+
segments:
|
164
167
|
- 0
|
165
|
-
|
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.
|
183
|
+
rubygems_version: 1.3.9.5
|
175
184
|
signing_key:
|
176
185
|
specification_version: 3
|
177
|
-
summary:
|
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
|
+
|