pivotal_git_scripts 1.1.0 → 1.1.2
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/.gitignore +1 -0
- data/.rspec +1 -0
- data/Gemfile +9 -0
- data/Gemfile.lock +29 -0
- data/README.md +15 -3
- data/Rakefile +22 -2
- data/bin/git-about +5 -6
- data/bin/git-pair +25 -14
- data/lib/pivotal_git_scripts/version.rb +3 -0
- data/pivotal_git_scripts.gemspec +12 -4
- data/spec/cli_spec.rb +213 -0
- metadata +33 -46
data/.gitignore
CHANGED
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--color
|
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
pivotal_git_scripts (1.1.2)
|
5
|
+
|
6
|
+
GEM
|
7
|
+
remote: http://rubygems.org/
|
8
|
+
specs:
|
9
|
+
diff-lcs (1.1.3)
|
10
|
+
rake (0.9.2.2)
|
11
|
+
rspec (2.8.0)
|
12
|
+
rspec-core (~> 2.8.0)
|
13
|
+
rspec-expectations (~> 2.8.0)
|
14
|
+
rspec-mocks (~> 2.8.0)
|
15
|
+
rspec-core (2.8.0)
|
16
|
+
rspec-expectations (2.8.0)
|
17
|
+
diff-lcs (~> 1.1.2)
|
18
|
+
rspec-mocks (2.8.0)
|
19
|
+
unindent (1.0)
|
20
|
+
|
21
|
+
PLATFORMS
|
22
|
+
ruby
|
23
|
+
|
24
|
+
DEPENDENCIES
|
25
|
+
bundler
|
26
|
+
pivotal_git_scripts!
|
27
|
+
rake
|
28
|
+
rspec
|
29
|
+
unindent
|
data/README.md
CHANGED
@@ -2,10 +2,14 @@
|
|
2
2
|
|
3
3
|
These scripts are helpers for managing developer workflow when using git repos hosted on GitHub. Install as a rubygem and they can be run as standard git commands like `git about`.
|
4
4
|
|
5
|
-
## Installation
|
5
|
+
## Gem Installation
|
6
6
|
|
7
7
|
$ gem install pivotal_git_scripts
|
8
8
|
|
9
|
+
## System Wide Installation
|
10
|
+
|
11
|
+
$ cd /usr/local/bin && curl -L http://github.com/pivotal/git_scripts/tarball/master | gunzip | tar xvf - --strip=2
|
12
|
+
|
9
13
|
## git-about
|
10
14
|
|
11
15
|
`git about` shows settings set by `git pair` and `git project`
|
@@ -28,10 +32,11 @@ Use `git pair` to set the git config user info that sets the commit user metadat
|
|
28
32
|
email:
|
29
33
|
prefix: pair
|
30
34
|
domain: pivotallabs.com
|
35
|
+
#global: true
|
31
36
|
|
32
37
|
You can put the .pairs file in your project repo root directory and check it into git, or you can put it in your ~ directory so it's available to all projects on the workstation.
|
33
38
|
|
34
|
-
By default this command affects the configuration in the current project (.git/config). Use the `--global` option to set the global git configuration for all projects (~/.gitconfig).
|
39
|
+
By default this command affects the configuration in the current project (.git/config). Use the `--global` option or add 'global: true' to your pairs file to set the global git configuration for all projects (~/.gitconfig).
|
35
40
|
|
36
41
|
## git-project
|
37
42
|
|
@@ -43,4 +48,11 @@ This script sets the user account you will use to access repos hosted on github.
|
|
43
48
|
User git
|
44
49
|
IdentityFile /Users/pivotal/.ssh/id_github_current
|
45
50
|
|
46
|
-
|
51
|
+
Authors
|
52
|
+
====
|
53
|
+
Copyright (c) 2010 [Pivotal Labs](http://pivotallabs.com). This software is licensed under the MIT License.
|
54
|
+
|
55
|
+
### [Contributors](https://github.com/pivotal/git_scripts/contributors)
|
56
|
+
- lots of pivots :)
|
57
|
+
- [James Sanders](https://github.com/jsanders)
|
58
|
+
- [Todd Persen](https://github.com/toddboom)
|
data/Rakefile
CHANGED
@@ -1,2 +1,22 @@
|
|
1
|
-
require
|
2
|
-
|
1
|
+
require "bundler/gem_tasks"
|
2
|
+
|
3
|
+
task :default do
|
4
|
+
sh "bundle exec rspec spec"
|
5
|
+
end
|
6
|
+
|
7
|
+
# extracted from https://github.com/grosser/project_template
|
8
|
+
rule /^version:bump:.*/ do |t|
|
9
|
+
sh "git status | grep 'nothing to commit'" # ensure we are not dirty
|
10
|
+
index = ['major', 'minor','patch'].index(t.name.split(':').last)
|
11
|
+
file = 'lib/pivotal_git_scripts/version.rb'
|
12
|
+
|
13
|
+
version_file = File.read(file)
|
14
|
+
old_version, *version_parts = version_file.match(/(\d+)\.(\d+)\.(\d+)/).to_a
|
15
|
+
version_parts[index] = version_parts[index].to_i + 1
|
16
|
+
version_parts[2] = 0 if index < 2 # remove patch for minor
|
17
|
+
version_parts[1] = 0 if index < 1 # remove minor for major
|
18
|
+
new_version = version_parts * '.'
|
19
|
+
File.open(file,'w'){|f| f.write(version_file.sub(old_version, new_version)) }
|
20
|
+
|
21
|
+
sh "bundle && git add #{file} Gemfile.lock && git commit -m 'bump version to #{new_version}'"
|
22
|
+
end
|
data/bin/git-about
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
config = `git config -l`
|
4
2
|
user_name = `git config --get user.name`
|
5
|
-
user_name = "NONE" if user_name.
|
3
|
+
user_name = "NONE" if user_name.strip.empty?
|
4
|
+
|
6
5
|
user_email = `git config --get user.email`
|
7
|
-
user_email = "NONE" if user_email.
|
6
|
+
user_email = "NONE" if user_email.strip.empty?
|
8
7
|
|
9
8
|
begin
|
10
|
-
|
11
|
-
project =
|
9
|
+
key_file = File.readlink(File.expand_path("~/.ssh/id_github_current"))
|
10
|
+
project = (key_file =~ %r{id_github_(\w+)} ? $1 : "NONE")
|
12
11
|
rescue Errno::ENOENT
|
13
12
|
project = "NONE"
|
14
13
|
end
|
data/bin/git-pair
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# Configures the git author to a list of developers when pair programming,
|
4
4
|
# alphabetized on first name
|
5
|
-
#
|
5
|
+
#
|
6
6
|
# Usage: git pair ls gw (Sets the repo specific author to 'Greg Woodward & Loren Siebert')
|
7
7
|
# git pair (Unsets the repo specific author so the git global config takes effect)
|
8
8
|
# git pair --global ls gw (Sets the global author to 'Greg Woodward & Loren Siebert')
|
@@ -14,10 +14,8 @@
|
|
14
14
|
|
15
15
|
require 'yaml'
|
16
16
|
|
17
|
-
|
18
|
-
|
19
|
-
exit 1
|
20
|
-
end
|
17
|
+
git_dir = `git rev-parse --git-dir`.chomp
|
18
|
+
exit 1 unless File.exists?(git_dir)
|
21
19
|
|
22
20
|
## Configuration
|
23
21
|
|
@@ -31,6 +29,8 @@ def get_pairs_config
|
|
31
29
|
candidate_file_path = File.join("..", candidate_file_path)
|
32
30
|
end
|
33
31
|
end
|
32
|
+
puts pairs_file_path.inspect
|
33
|
+
|
34
34
|
unless pairs_file_path
|
35
35
|
puts <<-INSTRUCTIONS
|
36
36
|
Could not find a .pairs file. Create a YAML file in your project or home directory.
|
@@ -51,11 +51,17 @@ INSTRUCTIONS
|
|
51
51
|
pairs_file_path ? YAML.load_file(pairs_file_path) : {}
|
52
52
|
end
|
53
53
|
|
54
|
+
def get_global_config(config)
|
55
|
+
if ARGV.delete("--global") || config["global"]
|
56
|
+
"--global"
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
54
60
|
## End of configuration
|
55
61
|
#######################################################################
|
56
62
|
|
57
|
-
global_config_string = ARGV.delete("--global").to_s
|
58
63
|
config = get_pairs_config
|
64
|
+
global_config_string = get_global_config(config)
|
59
65
|
authors = ARGV.map do |initials|
|
60
66
|
if full_name = config['pairs'][initials.downcase]
|
61
67
|
full_name
|
@@ -81,22 +87,27 @@ if authors.any?
|
|
81
87
|
else
|
82
88
|
authors = names[0..-2].join(", ") + " & " + names.last
|
83
89
|
end
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
+
|
91
|
+
email = if config['email'].is_a?(Hash)
|
92
|
+
"#{([config['email']['prefix']] + emails).compact.join('+')}@#{config['email']['domain']}"
|
93
|
+
else
|
94
|
+
config['email']
|
95
|
+
end
|
96
|
+
|
97
|
+
initials = ARGV.join(' ')
|
98
|
+
|
90
99
|
system(%Q{git config #{global_config_string} user.name "#{authors}"})
|
91
100
|
system(%Q{git config #{global_config_string} user.email "#{email}"})
|
101
|
+
system(%Q{git config #{global_config_string} user.initials "#{initials}"})
|
92
102
|
else
|
93
103
|
system("git config #{global_config_string} --unset user.name")
|
94
104
|
system("git config #{global_config_string} --unset user.email")
|
105
|
+
system("git config #{global_config_string} --unset user.initials")
|
95
106
|
puts "Unset #{global_config_string} user.name and user.email"
|
96
107
|
end
|
97
108
|
|
98
109
|
global_name_setting = `git config --global --get-regexp '^user\.name'`
|
99
|
-
local_name_setting = `git config -f
|
110
|
+
local_name_setting = `git config -f #{git_dir}/config --get-regexp '^user\.name'`
|
100
111
|
if global_name_setting.length > 0 && local_name_setting.length > 0
|
101
112
|
puts "NOTE: Overriding global user.name setting with local."
|
102
113
|
end
|
@@ -105,7 +116,7 @@ puts "local: #{local_name_setting}" if local_name_setting.length > 0
|
|
105
116
|
|
106
117
|
|
107
118
|
global_email_setting = `git config --global --get-regexp '^user\.email'`
|
108
|
-
local_email_setting = `git config -f
|
119
|
+
local_email_setting = `git config -f #{git_dir}/config --get-regexp '^user\.email'`
|
109
120
|
if global_email_setting.length > 0 && local_email_setting.length > 0
|
110
121
|
puts "NOTE: Overriding global user.email setting with local."
|
111
122
|
end
|
data/pivotal_git_scripts.gemspec
CHANGED
@@ -1,17 +1,25 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
+
$LOAD_PATH.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "pivotal_git_scripts/version"
|
2
4
|
|
3
5
|
Gem::Specification.new do |s|
|
4
6
|
s.name = "pivotal_git_scripts"
|
5
|
-
s.version =
|
6
|
-
s.date = Time.now.strftime('%Y-%m-%d')
|
7
|
-
s.platform = Gem::Platform::RUBY
|
7
|
+
s.version = PivotalGitScripts::VERSION
|
8
8
|
s.authors = ["Pivotal Labs"]
|
9
9
|
s.email = ["gems@pivotallabs.com"]
|
10
10
|
s.homepage = "http://github.com/pivotal/git_scripts"
|
11
11
|
s.summary = %q{Developer git workflow convenience scripts}
|
12
12
|
s.description = %q{These scripts are helpers for managing developer workflow when using git repos hosted on GitHub.}
|
13
|
-
|
13
|
+
|
14
|
+
s.rubyforge_project = "pivotal_git_scripts"
|
14
15
|
|
15
16
|
s.files = `git ls-files`.split("\n")
|
17
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
16
18
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
|
+
s.require_paths = ["lib"]
|
20
|
+
s.license = "MIT"
|
21
|
+
|
22
|
+
# specify any dependencies here; for example:
|
23
|
+
# s.add_development_dependency "rspec"
|
24
|
+
# s.add_runtime_dependency "rest-client"
|
17
25
|
end
|
data/spec/cli_spec.rb
ADDED
@@ -0,0 +1,213 @@
|
|
1
|
+
require "unindent"
|
2
|
+
|
3
|
+
describe "CLI" do
|
4
|
+
before :all do
|
5
|
+
# use local scripts
|
6
|
+
ENV["PATH"] = "#{File.join(File.dirname(__FILE__),"..","bin")}:#{ENV["PATH"]}"
|
7
|
+
end
|
8
|
+
|
9
|
+
def run(command, options={})
|
10
|
+
result = `#{command}`
|
11
|
+
raise "FAILED #{command} : #{result}" if $?.success? == !!options[:fail]
|
12
|
+
result
|
13
|
+
end
|
14
|
+
|
15
|
+
def write(file, content)
|
16
|
+
File.open(file, 'w'){|f| f.write content }
|
17
|
+
end
|
18
|
+
|
19
|
+
around do |example|
|
20
|
+
dir = "spec/tmp"
|
21
|
+
run "rm -rf #{dir}"
|
22
|
+
run "mkdir #{dir}"
|
23
|
+
|
24
|
+
# use fake home for .ssh hacks
|
25
|
+
run "mkdir #{dir}/home"
|
26
|
+
ENV["HOME"] = File.expand_path("#{dir}/home")
|
27
|
+
|
28
|
+
Dir.chdir dir do
|
29
|
+
run "touch a && git init && git add . && git commit -am 'initial'"
|
30
|
+
example.run
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
describe "about" do
|
35
|
+
it "lists the user" do
|
36
|
+
run "git config user.name NAME"
|
37
|
+
run("git about").should =~ /git user:\s+NAME/
|
38
|
+
end
|
39
|
+
|
40
|
+
it "lists the user as NONE if there is none" do
|
41
|
+
run "git config user.name ''"
|
42
|
+
run("git about").should =~ /git user:\s+NONE/
|
43
|
+
end
|
44
|
+
|
45
|
+
it "lists the email" do
|
46
|
+
run "git config user.email EMAIL"
|
47
|
+
run("git about").should =~ /git email:\s+EMAIL/
|
48
|
+
end
|
49
|
+
|
50
|
+
it "lists the email as NONE if there is none" do
|
51
|
+
run "git config user.email ''"
|
52
|
+
run("git about").should =~ /git email:\s+NONE/
|
53
|
+
end
|
54
|
+
|
55
|
+
it "does not find a project" do
|
56
|
+
run("git about").should =~ /GitHub project:\s+NONE/
|
57
|
+
end
|
58
|
+
|
59
|
+
context "with github project" do
|
60
|
+
before do
|
61
|
+
run "mkdir home/.ssh"
|
62
|
+
run "touch home/.ssh/id_github_foo"
|
63
|
+
run "ln -s home/.ssh/id_github_foo home/.ssh/id_github_current"
|
64
|
+
end
|
65
|
+
|
66
|
+
it "finds a project" do
|
67
|
+
run("git about").should =~ /GitHub project:\s+foo/
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
describe "pair" do
|
73
|
+
def expect_config(result, name, initials, email, options={})
|
74
|
+
global = "cd /tmp && " if options[:global]
|
75
|
+
run("#{global}git config user.name").should == "#{name}\n"
|
76
|
+
run("#{global}git config user.initials").should == "#{initials}\n"
|
77
|
+
run("#{global}git config user.email").should == "#{email}\n"
|
78
|
+
|
79
|
+
prefix = (options[:global] ? "global: " : "local: ")
|
80
|
+
result.should include "#{prefix}user.name #{name}"
|
81
|
+
#result.should include "#{prefix}user.initials #{initials}" # TODO
|
82
|
+
result.should include "#{prefix}user.email #{email}"
|
83
|
+
end
|
84
|
+
|
85
|
+
context "with .pairs file" do
|
86
|
+
before do
|
87
|
+
write ".pairs", <<-YAML.unindent
|
88
|
+
pairs:
|
89
|
+
ab: Aa Bb
|
90
|
+
bc: Bb Cc
|
91
|
+
cd: Cc Dd
|
92
|
+
|
93
|
+
email:
|
94
|
+
prefix: the-pair
|
95
|
+
domain: the-host.com
|
96
|
+
YAML
|
97
|
+
end
|
98
|
+
|
99
|
+
describe "global" do
|
100
|
+
it "sets pairs globally when global: true is set" do
|
101
|
+
write ".pairs", File.read(".pairs") + "\nglobal: true"
|
102
|
+
result = run "git pair ab"
|
103
|
+
expect_config result, "Aa Bb", "ab", "the-pair+aa@the-host.com", :global => true
|
104
|
+
end
|
105
|
+
|
106
|
+
it "sets pairs globally when --global is given" do
|
107
|
+
result = run "git pair ab --global"
|
108
|
+
result.should include "global: user.name Aa Bb"
|
109
|
+
expect_config result, "Aa Bb", "ab", "the-pair+aa@the-host.com", :global => true
|
110
|
+
end
|
111
|
+
|
112
|
+
it "unsets global config when no argument is passed" do
|
113
|
+
run "git pair ab --global"
|
114
|
+
run "git pair ab"
|
115
|
+
result = run "git pair --global"
|
116
|
+
#result.should include "Unset --global user.name, user.email and user.initials"
|
117
|
+
expect_config result, "Aa Bb", "ab", "the-pair+aa@the-host.com"
|
118
|
+
result.should_not include("global:")
|
119
|
+
end
|
120
|
+
end
|
121
|
+
|
122
|
+
it "can set a single user as pair" do
|
123
|
+
result = run "git pair ab"
|
124
|
+
expect_config result, "Aa Bb", "ab", "the-pair+aa@the-host.com"
|
125
|
+
end
|
126
|
+
|
127
|
+
it "can set a 2 users as pair" do
|
128
|
+
result = run "git pair ab bc"
|
129
|
+
expect_config result, "Aa Bb & Bb Cc", "ab bc", "the-pair+aa+bb@the-host.com"
|
130
|
+
end
|
131
|
+
|
132
|
+
it "can set a n users as pair" do
|
133
|
+
result = run "git pair ab bc cd"
|
134
|
+
expect_config result, "Aa Bb, Bb Cc & Cc Dd", "ab bc cd", "the-pair+aa+bb+cc@the-host.com"
|
135
|
+
end
|
136
|
+
|
137
|
+
it "fails when there is no .git in the tree" do
|
138
|
+
run "rm -f /tmp/pairs"
|
139
|
+
run "cp .pairs /tmp"
|
140
|
+
Dir.chdir "/tmp" do
|
141
|
+
result = run "git pair ab 2>&1", :fail => true
|
142
|
+
result.should include("Not a git repository (or any of the parent directories)")
|
143
|
+
end
|
144
|
+
run "rm -f /tmp/pairs"
|
145
|
+
end
|
146
|
+
|
147
|
+
it "finds .pairs file in lower parent folder" do
|
148
|
+
run "mkdir foo"
|
149
|
+
Dir.chdir "foo" do
|
150
|
+
result = run "git pair ab"
|
151
|
+
expect_config result, "Aa Bb", "ab", "the-pair+aa@the-host.com"
|
152
|
+
end
|
153
|
+
end
|
154
|
+
|
155
|
+
it "unsets local config when no argument is passed" do
|
156
|
+
run "git pair ab --global"
|
157
|
+
run "git pair bc"
|
158
|
+
result = run "git pair"
|
159
|
+
#result.should include "Unset user.name, user.email and user.initials" #TODO
|
160
|
+
expect_config result, "Aa Bb", "ab", "the-pair+aa@the-host.com", :global => true
|
161
|
+
result.should_not include("local:")
|
162
|
+
end
|
163
|
+
|
164
|
+
it "uses hard email when given" do
|
165
|
+
write ".pairs", File.read(".pairs").sub(/email:.*/m, "email: foo@bar.com")
|
166
|
+
result = run "git pair ab"
|
167
|
+
expect_config result, "Aa Bb", "ab", "foo@bar.com"
|
168
|
+
end
|
169
|
+
|
170
|
+
it "uses no email prefix when only host is given" do
|
171
|
+
write ".pairs", File.read(".pairs").sub(/email:.*/m, "email:\n domain: foo.com")
|
172
|
+
result = run "git pair ab"
|
173
|
+
expect_config result, "Aa Bb", "ab", "aa@foo.com"
|
174
|
+
end
|
175
|
+
|
176
|
+
it "fails with unknown initials" do
|
177
|
+
result = run "git pair xx", :fail => true
|
178
|
+
result.should include("Couldn't find author name for initials: xx")
|
179
|
+
end
|
180
|
+
|
181
|
+
it "uses alternate email prefix" do
|
182
|
+
write ".pairs", File.read(".pairs").sub(/ab:.*/, "ab: Aa Bb; blob")
|
183
|
+
result = run "git pair ab"
|
184
|
+
expect_config result, "Aa Bb", "ab", "the-pair+blob@the-host.com"
|
185
|
+
end
|
186
|
+
end
|
187
|
+
|
188
|
+
context "without a .pairs file in the tree" do
|
189
|
+
around do |example|
|
190
|
+
Dir.chdir "/tmp" do
|
191
|
+
run "rm -f .pairs"
|
192
|
+
dir = "git_stats_test"
|
193
|
+
run "rm -rf #{dir}"
|
194
|
+
run "mkdir #{dir}"
|
195
|
+
Dir.chdir dir do
|
196
|
+
run "git init"
|
197
|
+
example.run
|
198
|
+
end
|
199
|
+
run "rm -rf #{dir}"
|
200
|
+
end
|
201
|
+
end
|
202
|
+
|
203
|
+
it "fails if it cannot find a pairs file" do
|
204
|
+
run "git pair ab", :fail => true
|
205
|
+
end
|
206
|
+
|
207
|
+
it "prints instructions" do
|
208
|
+
result = run "git pair ab", :fail => true
|
209
|
+
result.should include("Could not find a .pairs file. Create a YAML file in your project or home directory.")
|
210
|
+
end
|
211
|
+
end
|
212
|
+
end
|
213
|
+
end
|
metadata
CHANGED
@@ -1,38 +1,32 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: pivotal_git_scripts
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 1
|
8
|
-
- 1
|
9
|
-
- 0
|
10
|
-
version: 1.1.0
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.1.2
|
5
|
+
prerelease:
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Pivotal Labs
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
date: 2010-11-15 00:00:00 -08:00
|
19
|
-
default_executable:
|
12
|
+
date: 2012-03-14 00:00:00.000000000Z
|
20
13
|
dependencies: []
|
21
|
-
|
22
|
-
|
23
|
-
email:
|
14
|
+
description: These scripts are helpers for managing developer workflow when using
|
15
|
+
git repos hosted on GitHub.
|
16
|
+
email:
|
24
17
|
- gems@pivotallabs.com
|
25
|
-
executables:
|
18
|
+
executables:
|
26
19
|
- git-about
|
27
20
|
- git-pair
|
28
21
|
- git-project
|
29
22
|
- git-superpull
|
30
23
|
extensions: []
|
31
|
-
|
32
24
|
extra_rdoc_files: []
|
33
|
-
|
34
|
-
files:
|
25
|
+
files:
|
35
26
|
- .gitignore
|
27
|
+
- .rspec
|
28
|
+
- Gemfile
|
29
|
+
- Gemfile.lock
|
36
30
|
- MIT.LICENSE
|
37
31
|
- README.md
|
38
32
|
- Rakefile
|
@@ -40,40 +34,33 @@ files:
|
|
40
34
|
- bin/git-pair
|
41
35
|
- bin/git-project
|
42
36
|
- bin/git-superpull
|
37
|
+
- lib/pivotal_git_scripts/version.rb
|
43
38
|
- pivotal_git_scripts.gemspec
|
44
|
-
|
39
|
+
- spec/cli_spec.rb
|
45
40
|
homepage: http://github.com/pivotal/git_scripts
|
46
|
-
licenses:
|
47
|
-
|
41
|
+
licenses:
|
42
|
+
- MIT
|
48
43
|
post_install_message:
|
49
44
|
rdoc_options: []
|
50
|
-
|
51
|
-
require_paths:
|
45
|
+
require_paths:
|
52
46
|
- lib
|
53
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
47
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
54
48
|
none: false
|
55
|
-
requirements:
|
56
|
-
- -
|
57
|
-
- !ruby/object:Gem::Version
|
58
|
-
|
59
|
-
|
60
|
-
- 0
|
61
|
-
version: "0"
|
62
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
49
|
+
requirements:
|
50
|
+
- - ! '>='
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: '0'
|
53
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
63
54
|
none: false
|
64
|
-
requirements:
|
65
|
-
- -
|
66
|
-
- !ruby/object:Gem::Version
|
67
|
-
|
68
|
-
segments:
|
69
|
-
- 0
|
70
|
-
version: "0"
|
55
|
+
requirements:
|
56
|
+
- - ! '>='
|
57
|
+
- !ruby/object:Gem::Version
|
58
|
+
version: '0'
|
71
59
|
requirements: []
|
72
|
-
|
73
|
-
|
74
|
-
rubygems_version: 1.3.7
|
60
|
+
rubyforge_project: pivotal_git_scripts
|
61
|
+
rubygems_version: 1.8.6
|
75
62
|
signing_key:
|
76
63
|
specification_version: 3
|
77
64
|
summary: Developer git workflow convenience scripts
|
78
|
-
test_files:
|
79
|
-
|
65
|
+
test_files:
|
66
|
+
- spec/cli_spec.rb
|