edsinclair-git-pair 0.3.0 → 0.4.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/.rspec +2 -0
- data/.travis.yml +5 -0
- data/Gemfile +2 -4
- data/README.md +28 -8
- data/Rakefile +10 -12
- data/config/cucumber.yml +0 -2
- data/edsinclair-git-pair.gemspec +4 -3
- data/features/authors.feature +3 -3
- data/features/step_definitions/config_steps.rb +1 -1
- data/features/support/env.rb +19 -4
- data/features/switching_authors.feature +3 -11
- data/lib/git-pair.rb +5 -4
- data/lib/git-pair/author.rb +23 -18
- data/lib/git-pair/config.rb +1 -1
- data/lib/git-pair/display.rb +1 -1
- data/lib/git-pair/email_address.rb +22 -0
- data/lib/git-pair/version.rb +1 -1
- data/spec/git-pair/author_spec.rb +81 -0
- data/spec/git-pair/email_address_spec.rb +30 -0
- data/spec/spec_helper.rb +20 -0
- metadata +81 -63
- data/.autotest +0 -5
data/.rspec
ADDED
data/.travis.yml
ADDED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# git-pair
|
2
2
|
|
3
|
+
<img src="https://travis-ci.org/edsinclair/git-pair.png?branch=master" height="14" alt="Retina-ready Shields example" />
|
4
|
+
|
3
5
|
A git porcelain for changing `user.name` and `user.email` so you can commit as
|
4
6
|
more than one author.
|
5
7
|
|
@@ -9,7 +11,7 @@ Install the gem:
|
|
9
11
|
|
10
12
|
gem install edsinclair-git-pair
|
11
13
|
|
12
|
-
|
14
|
+
Usage:
|
13
15
|
|
14
16
|
$ git pair
|
15
17
|
|
@@ -29,20 +31,37 @@ And here's how to use it!
|
|
29
31
|
author's name. You can specify one or more authors.
|
30
32
|
|
31
33
|
Current config:
|
32
|
-
Author list: Adam McCrea
|
33
|
-
Jon Distad
|
34
|
+
Author list: Adam McCrea <amccrea@example.org>
|
35
|
+
Jon Distad <jdistad@example.net>
|
36
|
+
|
37
|
+
Pair email: devs@edgecase.com
|
34
38
|
|
35
39
|
Current author: Jon Distad + Adam McCrea
|
36
|
-
Current email: devs+jd+am@
|
40
|
+
Current email: devs+jd+am@example.com
|
37
41
|
|
38
42
|
## How does it work?
|
39
43
|
|
40
44
|
The list of authors is maintained in the global git configuration file.
|
41
45
|
The current author is set in the git configuration local to the project.
|
42
46
|
The email address for a pair will be generated using the first author's email
|
43
|
-
domain and the
|
44
|
-
|
45
|
-
|
47
|
+
domain part and the address local parts separated by a '+' will precede the '@'.
|
48
|
+
|
49
|
+
You can specify a 'pair' email address to be used in which case the local part
|
50
|
+
will be followed by each author's initials separated by a '+' will be used to
|
51
|
+
form the local part of the pair email address. Alternatively if you leave off
|
52
|
+
the local part and specify the pair email address as '@domain.tld' the
|
53
|
+
local part for the pair email will be composed of the local part for each
|
54
|
+
author's email address.
|
55
|
+
|
56
|
+
Examples with the git pair email set:
|
57
|
+
|
58
|
+
If the git pair email is: devs@example.com Then pair email address will be devs+am+jd@example.com
|
59
|
+
If the git pair email is: @example.com Then pair email address will be amccrea+jdistad@example.com
|
60
|
+
|
61
|
+
Examples without the git pair email set:
|
62
|
+
|
63
|
+
First author is Adam McCrea. Then pair email address will be amccrea+jdistad@example.org
|
64
|
+
First author is Jon Disatd. Then pair email address will be jdistad@+amccrea@example.net
|
46
65
|
|
47
66
|
## About this version
|
48
67
|
|
@@ -54,4 +73,5 @@ and --install-hook options and converts the gem to use Bundler for dependency ma
|
|
54
73
|
|
55
74
|
## License
|
56
75
|
|
57
|
-
Copyright (c) 2009 Chris Kampmeier.
|
76
|
+
Copyright (c) 2009 Chris Kampmeier.
|
77
|
+
Copyright (c) 2013 Eirik Dentz Sinclair. See `LICENSE` for details.
|
data/Rakefile
CHANGED
@@ -1,19 +1,17 @@
|
|
1
1
|
require "rubygems"
|
2
2
|
require "bundler"
|
3
3
|
Bundler.setup
|
4
|
-
require
|
4
|
+
require "bundler/gem_tasks"
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
task :features
|
10
|
-
rescue LoadError
|
11
|
-
task :features do
|
12
|
-
abort "Cucumber is not available. In order to run features, you must: sudo gem install cucumber"
|
13
|
-
end
|
14
|
-
end
|
6
|
+
require "rspec/core/rake_task"
|
7
|
+
RSpec::Core::RakeTask.new(:spec)
|
8
|
+
task :spec
|
15
9
|
|
16
|
-
task
|
10
|
+
require "cucumber/rake/task"
|
11
|
+
Cucumber::Rake::Task.new(:features)
|
12
|
+
task :features
|
13
|
+
|
14
|
+
task :default => [:spec, :features]
|
17
15
|
|
18
16
|
# Don't print commands when shelling out (for example, running Cucumber)
|
19
|
-
RakeFileUtils.verbose(false)
|
17
|
+
RakeFileUtils.verbose(false)
|
data/config/cucumber.yml
CHANGED
data/edsinclair-git-pair.gemspec
CHANGED
@@ -6,9 +6,9 @@ Gem::Specification.new do |s|
|
|
6
6
|
s.name = "edsinclair-git-pair"
|
7
7
|
s.version = GitPair::VERSION
|
8
8
|
s.authors = ["Chris Kampmeier", "Adam McCrea", "Jon Distad", "Eirik Dentz Sinclair", "Tim Gildea"]
|
9
|
-
s.email = ["
|
9
|
+
s.email = ["eirikdentz@gmail.com"]
|
10
10
|
s.homepage = ""
|
11
|
-
s.date = %q{
|
11
|
+
s.date = %q{2013-02-22}
|
12
12
|
s.summary = %q{Configure git to commit as more than one author}
|
13
13
|
s.description = %q{A git porcelain for pair programming. Changes git-config's user.name and user.email settings so you can commit as more than one author.}
|
14
14
|
|
@@ -19,5 +19,6 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
20
20
|
s.require_paths = ["lib"]
|
21
21
|
s.add_development_dependency "cucumber"
|
22
|
-
s.add_development_dependency "
|
22
|
+
s.add_development_dependency "rspec"
|
23
|
+
s.add_development_dependency "rake"
|
23
24
|
end
|
data/features/authors.feature
CHANGED
@@ -17,17 +17,17 @@ Feature: seeing authors on console
|
|
17
17
|
And I have added the author "Junio C Hamano <junio@example.org>"
|
18
18
|
And my global Git configuration is setup with email "devs@example.com"
|
19
19
|
When I specify the initials "LT JCH"
|
20
|
-
Then the last command's output should include "Linus Torvalds & Junio C Hamano <
|
20
|
+
Then the last command's output should include "Linus Torvalds & Junio C Hamano <linus+junio@example.net>"
|
21
21
|
|
22
22
|
Scenario: A single author and the pair email has been set
|
23
23
|
Given I have set the pair email to "devs@widgets.com"
|
24
24
|
And I have added the author "Linus Torvalds <linus@example.net>"
|
25
25
|
When I specify the initials "LT"
|
26
|
-
Then the last command's output should include "Linus Torvalds <linus@
|
26
|
+
Then the last command's output should include "Linus Torvalds <linus@widgets.com>"
|
27
27
|
|
28
28
|
Scenario: Pairing with two authors and the pair email has been set
|
29
29
|
Given I have set the pair email to "devs@widgets.com"
|
30
30
|
And I have added the author "Linus Torvalds <linus@example.net>"
|
31
31
|
And I have added the author "Junio C Hamano <junio@example.org>"
|
32
32
|
When I specify the initials "LT JCH"
|
33
|
-
Then the last command's output should include "Linus Torvalds & Junio C Hamano <devs+lt+jch@widgets.com>"
|
33
|
+
Then the last command's output should include "Linus Torvalds & Junio C Hamano <devs+lt+jch@widgets.com>"
|
data/features/support/env.rb
CHANGED
@@ -24,20 +24,35 @@ module RepositoryHelper
|
|
24
24
|
|
25
25
|
def backup_gitconfigs
|
26
26
|
FileUtils.mkdir_p CONFIG_BACKUP_PATH
|
27
|
-
|
27
|
+
backup_user_gitconfig
|
28
28
|
FileUtils.cp "#{PROJECT_PATH}/.git/config", "#{CONFIG_BACKUP_PATH}/config.backup"
|
29
29
|
end
|
30
30
|
|
31
31
|
def restore_gitconfigs
|
32
|
-
FileUtils.cp "#{CONFIG_BACKUP_PATH}/config.backup",
|
33
|
-
|
32
|
+
FileUtils.cp "#{CONFIG_BACKUP_PATH}/config.backup", "#{PROJECT_PATH}/.git/config"
|
33
|
+
restore_user_gitconfig
|
34
34
|
FileUtils.rm_rf CONFIG_BACKUP_PATH
|
35
35
|
end
|
36
|
+
|
37
|
+
def backup_user_gitconfig
|
38
|
+
FileUtils.cp(gitconfig_path, gitconfig_backup_path) if File.exists?(gitconfig_path)
|
39
|
+
end
|
40
|
+
|
41
|
+
def restore_user_gitconfig
|
42
|
+
FileUtils.cp(gitconfig_backup_path, gitconfig_path) if File.exists?(gitconfig_backup_path)
|
43
|
+
end
|
44
|
+
|
45
|
+
def gitconfig_backup_path
|
46
|
+
@gitconfig_backup_path ||= File.join(CONFIG_BACKUP_PATH, ".gitconfig.backup")
|
47
|
+
end
|
48
|
+
|
49
|
+
def gitconfig_path
|
50
|
+
@gitconfig_path ||= File.expand_path(File.join("~", ".gitconfig"))
|
51
|
+
end
|
36
52
|
end
|
37
53
|
|
38
54
|
World(RepositoryHelper)
|
39
55
|
|
40
|
-
|
41
56
|
Before do
|
42
57
|
backup_gitconfigs
|
43
58
|
FileUtils.mkdir_p RepositoryHelper::TEST_REPO_DOT_GIT_PATH
|
@@ -19,22 +19,14 @@ Feature: Switching authors
|
|
19
19
|
And my global Git configuration is setup with email "devs@example.com"
|
20
20
|
When I switch to the pair "LT JCH"
|
21
21
|
Then `git pair` should display "Linus Torvalds & Junio C Hamano" for the current author
|
22
|
-
And `git pair` should display "
|
23
|
-
|
24
|
-
Scenario: Pairing with two authors the pair email domain is set to the first author
|
25
|
-
Given I have added the author "Linus Torvalds <linus@example.net>"
|
26
|
-
And I have added the author "Junio C Hamano <junio@example.org>"
|
27
|
-
And my global Git configuration is setup with email "devs@example.com"
|
28
|
-
When I switch to the pair "JCH LT"
|
29
|
-
Then `git pair` should display "Junio C Hamano & Linus Torvalds" for the current author
|
30
|
-
And `git pair` should display "jch+lt@example.org" for the current email
|
22
|
+
And `git pair` should display "linus+junio@example.net" for the current email
|
31
23
|
|
32
24
|
Scenario: Pairing with a single author and the pair email has been set
|
33
25
|
Given I have set the pair email to "devs@widgets.com"
|
34
26
|
And I have added the author "Linus Torvalds <linus@example.net>"
|
35
27
|
When I switch to the pair "LT"
|
36
28
|
Then `git pair` should display "Linus Torvalds" for the current author
|
37
|
-
And `git pair` should display "linus@
|
29
|
+
And `git pair` should display "linus@widgets.com" for the current email
|
38
30
|
|
39
31
|
Scenario: Pairing with two authors and the pair email has been set
|
40
32
|
Given I have set the pair email to "devs@widgets.com"
|
@@ -42,4 +34,4 @@ Feature: Switching authors
|
|
42
34
|
And I have added the author "Junio C Hamano <junio@example.org>"
|
43
35
|
When I switch to the pair "LT JCH"
|
44
36
|
Then `git pair` should display "Linus Torvalds & Junio C Hamano" for the current author
|
45
|
-
And `git pair` should display "devs+lt+jch@widgets.com" for the current email
|
37
|
+
And `git pair` should display "devs+lt+jch@widgets.com" for the current email
|
data/lib/git-pair.rb
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
require "git-pair/version"
|
2
2
|
|
3
3
|
module GitPair
|
4
|
-
autoload :Command,
|
5
|
-
autoload :
|
6
|
-
autoload :
|
7
|
-
autoload :
|
4
|
+
autoload :Command, 'git-pair/command'
|
5
|
+
autoload :EmailAddress, 'git-pair/email_address'
|
6
|
+
autoload :Author, 'git-pair/author'
|
7
|
+
autoload :Config, 'git-pair/config'
|
8
|
+
autoload :Display, 'git-pair/display'
|
8
9
|
|
9
10
|
class NoMatchingAuthorsError < ArgumentError; end
|
10
11
|
class MissingConfigurationError < RuntimeError; end
|
data/lib/git-pair/author.rb
CHANGED
@@ -19,26 +19,23 @@ module GitPair
|
|
19
19
|
raise(NoMatchingAuthorsError, "no authors matched #{abbr}")
|
20
20
|
end
|
21
21
|
|
22
|
-
def self.
|
23
|
-
|
24
|
-
authors.first.email
|
25
|
-
else
|
26
|
-
author_names = authors.map { |a| a.initials }
|
27
|
-
if self.authors_prefix
|
28
|
-
author_names.unshift(authors_prefix)
|
29
|
-
end
|
30
|
-
initials_string = author_names.join('+')
|
31
|
-
"#{initials_string}@#{authors_email(authors)}"
|
32
|
-
end
|
22
|
+
def self.email_address_for(authors)
|
23
|
+
"#{local_part_for(authors)}@#{domain_for(authors.first.email)}"
|
33
24
|
end
|
34
25
|
|
35
|
-
def self.
|
36
|
-
return
|
26
|
+
def self.local_part_for(authors)
|
27
|
+
return authors.first.email.local_part if authors.size == 1
|
28
|
+
|
29
|
+
if pair_email.local_part && pair_email.local_part != ""
|
30
|
+
authors.map(&:initials).unshift(pair_email.local_part).join("+")
|
31
|
+
else
|
32
|
+
authors.map { |author| author.email.local_part }.join("+")
|
33
|
+
end
|
37
34
|
end
|
38
35
|
|
39
|
-
def self.
|
40
|
-
return
|
41
|
-
return
|
36
|
+
def self.domain_for(email_address)
|
37
|
+
return pair_email.domain if pair_email.domain
|
38
|
+
return email_address.domain
|
42
39
|
end
|
43
40
|
|
44
41
|
def self.exists?(author)
|
@@ -49,6 +46,10 @@ module GitPair
|
|
49
46
|
author_string =~ ValidAuthorStringRegex
|
50
47
|
end
|
51
48
|
|
49
|
+
def self.pair_email
|
50
|
+
EmailAddress.new(Config.pair_email)
|
51
|
+
end
|
52
|
+
|
52
53
|
attr_reader :name, :email
|
53
54
|
|
54
55
|
def initialize(string)
|
@@ -57,8 +58,8 @@ module GitPair
|
|
57
58
|
end
|
58
59
|
|
59
60
|
string =~ ValidAuthorStringRegex
|
60
|
-
|
61
|
-
|
61
|
+
self.name = $1.to_s.strip
|
62
|
+
self.email = EmailAddress.new($2.to_s.strip)
|
62
63
|
end
|
63
64
|
|
64
65
|
def <=>(other)
|
@@ -73,5 +74,9 @@ module GitPair
|
|
73
74
|
abbr.downcase == initials
|
74
75
|
end
|
75
76
|
|
77
|
+
private
|
78
|
+
|
79
|
+
attr_writer :name, :email
|
80
|
+
|
76
81
|
end
|
77
82
|
end
|
data/lib/git-pair/config.rb
CHANGED
data/lib/git-pair/display.rb
CHANGED
@@ -0,0 +1,22 @@
|
|
1
|
+
module GitPair
|
2
|
+
class EmailAddress
|
3
|
+
def initialize(address)
|
4
|
+
self.address = address
|
5
|
+
end
|
6
|
+
|
7
|
+
def local_part
|
8
|
+
address.split("@").first
|
9
|
+
end
|
10
|
+
|
11
|
+
def domain
|
12
|
+
address.split("@").last
|
13
|
+
end
|
14
|
+
|
15
|
+
def to_s
|
16
|
+
address
|
17
|
+
end
|
18
|
+
|
19
|
+
private
|
20
|
+
attr_accessor :address
|
21
|
+
end
|
22
|
+
end
|
data/lib/git-pair/version.rb
CHANGED
@@ -0,0 +1,81 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
require "git-pair/author"
|
3
|
+
require "git-pair/email_address"
|
4
|
+
|
5
|
+
module GitPair
|
6
|
+
describe Author do
|
7
|
+
let(:author1) { Author.new("User One <user1@example.com>") }
|
8
|
+
let(:author2) { Author.new("User Two <user2@example.com>") }
|
9
|
+
|
10
|
+
describe ".email_address_for" do
|
11
|
+
before do
|
12
|
+
Config.stub(:pair_email => "")
|
13
|
+
end
|
14
|
+
|
15
|
+
it "returns the email of the current author" do
|
16
|
+
Author.email_address_for([author1]).should eq("user1@example.com")
|
17
|
+
end
|
18
|
+
|
19
|
+
it "returns the email prefixes of the current authors in order separated by '+'" do
|
20
|
+
Author.email_address_for([author1, author2]).should eq("user1+user2@example.com")
|
21
|
+
end
|
22
|
+
|
23
|
+
context "a pair email address is provided with a local part" do
|
24
|
+
before do
|
25
|
+
Config.stub(:pair_email => "pair@example-corp.com")
|
26
|
+
end
|
27
|
+
|
28
|
+
it "returns the local part of the current author with the pair domain" do
|
29
|
+
Author.email_address_for([author1]).should eq("user1@example-corp.com")
|
30
|
+
end
|
31
|
+
|
32
|
+
it "returns the pair address local part and the initials of the current authors in order separated by '+'" do
|
33
|
+
Author.email_address_for([author1, author2]).should eq("pair+uo+ut@example-corp.com")
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
context "a pair email address without a local part" do
|
38
|
+
before do
|
39
|
+
Config.stub(:pair_email => "@example-corp.com")
|
40
|
+
end
|
41
|
+
|
42
|
+
it "returns the local part of the current author with the pair domain" do
|
43
|
+
Author.email_address_for([author1]).should eq("user1@example-corp.com")
|
44
|
+
end
|
45
|
+
|
46
|
+
it "returns the pair address local part and the initials of the current authors in order separated by '+'" do
|
47
|
+
Author.email_address_for([author1, author2]).should eq("user1+user2@example-corp.com")
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
describe ".local_part_for" do
|
53
|
+
before do
|
54
|
+
Config.stub(:pair_email => "")
|
55
|
+
end
|
56
|
+
|
57
|
+
it "returns the email address local parts for the authors joined by '+'" do
|
58
|
+
Author.local_part_for([author1, author2]).should eq("user1+user2")
|
59
|
+
end
|
60
|
+
|
61
|
+
it "returns the email address local parts for the authors in order" do
|
62
|
+
Author.local_part_for([author2, author1]).should eq("user2+user1")
|
63
|
+
Author.local_part_for([author1, author2]).should eq("user1+user2")
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
describe ".domain_for" do
|
68
|
+
let(:email_address) { EmailAddress.new("user1@example.com") }
|
69
|
+
|
70
|
+
it "returns the domain part of the email address" do
|
71
|
+
Config.stub(:pair_email => "")
|
72
|
+
Author.domain_for(email_address).should eq("example.com")
|
73
|
+
end
|
74
|
+
|
75
|
+
it "returns the domain part of the pair email address when set" do
|
76
|
+
Config.stub(:pair_email => "pair@example-corp.com")
|
77
|
+
Author.domain_for(email_address).should eq("example-corp.com")
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
require "git-pair/email_address"
|
3
|
+
|
4
|
+
module GitPair
|
5
|
+
describe EmailAddress do
|
6
|
+
let(:email_address) { EmailAddress.new("user1@example.com") }
|
7
|
+
|
8
|
+
describe "#local_part" do
|
9
|
+
it "returns the local part" do
|
10
|
+
email_address.local_part.should eq("user1")
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
describe "#domain" do
|
15
|
+
it "returns the domain part" do
|
16
|
+
email_address.domain.should eq("example.com")
|
17
|
+
end
|
18
|
+
|
19
|
+
it "returns nil if initialized with an empty string" do
|
20
|
+
EmailAddress.new("").domain.should eq(nil)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
describe "#to_s" do
|
25
|
+
it "returns the address as a string" do
|
26
|
+
email_address.to_s.should eq("user1@example.com")
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
# This file was generated by the `rspec --init` command. Conventionally, all
|
2
|
+
# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
|
3
|
+
# Require this file using `require "spec_helper"` to ensure that it is only
|
4
|
+
# loaded once.
|
5
|
+
#
|
6
|
+
# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
|
7
|
+
|
8
|
+
require "git-pair"
|
9
|
+
|
10
|
+
RSpec.configure do |config|
|
11
|
+
config.treat_symbols_as_metadata_keys_with_true_values = true
|
12
|
+
config.run_all_when_everything_filtered = true
|
13
|
+
config.filter_run :focus
|
14
|
+
|
15
|
+
# Run specs in random order to surface order dependencies. If you find an
|
16
|
+
# order dependency and want to debug it, you can fix the order by providing
|
17
|
+
# the seed, which is printed after each run.
|
18
|
+
# --seed 1234
|
19
|
+
config.order = 'random'
|
20
|
+
end
|
metadata
CHANGED
@@ -1,15 +1,10 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: edsinclair-git-pair
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.4.0
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 3
|
9
|
-
- 0
|
10
|
-
version: 0.3.0
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Chris Kampmeier
|
14
9
|
- Adam McCrea
|
15
10
|
- Jon Distad
|
@@ -18,49 +13,68 @@ authors:
|
|
18
13
|
autorequire:
|
19
14
|
bindir: bin
|
20
15
|
cert_chain: []
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
16
|
+
date: 2013-02-22 00:00:00.000000000 Z
|
17
|
+
dependencies:
|
18
|
+
- !ruby/object:Gem::Dependency
|
19
|
+
name: cucumber
|
20
|
+
requirement: !ruby/object:Gem::Requirement
|
21
|
+
none: false
|
22
|
+
requirements:
|
23
|
+
- - ! '>='
|
24
|
+
- !ruby/object:Gem::Version
|
25
|
+
version: '0'
|
26
|
+
type: :development
|
25
27
|
prerelease: false
|
26
|
-
|
28
|
+
version_requirements: !ruby/object:Gem::Requirement
|
29
|
+
none: false
|
30
|
+
requirements:
|
31
|
+
- - ! '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
- !ruby/object:Gem::Dependency
|
35
|
+
name: rspec
|
36
|
+
requirement: !ruby/object:Gem::Requirement
|
27
37
|
none: false
|
28
|
-
requirements:
|
29
|
-
- -
|
30
|
-
- !ruby/object:Gem::Version
|
31
|
-
|
32
|
-
segments:
|
33
|
-
- 0
|
34
|
-
version: "0"
|
38
|
+
requirements:
|
39
|
+
- - ! '>='
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '0'
|
35
42
|
type: :development
|
36
|
-
version_requirements: *id001
|
37
|
-
name: cucumber
|
38
|
-
- !ruby/object:Gem::Dependency
|
39
43
|
prerelease: false
|
40
|
-
|
44
|
+
version_requirements: !ruby/object:Gem::Requirement
|
45
|
+
none: false
|
46
|
+
requirements:
|
47
|
+
- - ! '>='
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '0'
|
50
|
+
- !ruby/object:Gem::Dependency
|
51
|
+
name: rake
|
52
|
+
requirement: !ruby/object:Gem::Requirement
|
41
53
|
none: false
|
42
|
-
requirements:
|
43
|
-
- -
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
|
46
|
-
segments:
|
47
|
-
- 0
|
48
|
-
version: "0"
|
54
|
+
requirements:
|
55
|
+
- - ! '>='
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: '0'
|
49
58
|
type: :development
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
-
|
55
|
-
|
59
|
+
prerelease: false
|
60
|
+
version_requirements: !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0'
|
66
|
+
description: A git porcelain for pair programming. Changes git-config's user.name
|
67
|
+
and user.email settings so you can commit as more than one author.
|
68
|
+
email:
|
69
|
+
- eirikdentz@gmail.com
|
70
|
+
executables:
|
56
71
|
- git-pair
|
57
72
|
extensions: []
|
58
|
-
|
59
73
|
extra_rdoc_files: []
|
60
|
-
|
61
|
-
files:
|
62
|
-
- .autotest
|
74
|
+
files:
|
63
75
|
- .gitignore
|
76
|
+
- .rspec
|
77
|
+
- .travis.yml
|
64
78
|
- Gemfile
|
65
79
|
- LICENSE
|
66
80
|
- README.md
|
@@ -82,41 +96,42 @@ files:
|
|
82
96
|
- lib/git-pair/command.rb
|
83
97
|
- lib/git-pair/config.rb
|
84
98
|
- lib/git-pair/display.rb
|
99
|
+
- lib/git-pair/email_address.rb
|
85
100
|
- lib/git-pair/version.rb
|
86
|
-
|
101
|
+
- spec/git-pair/author_spec.rb
|
102
|
+
- spec/git-pair/email_address_spec.rb
|
103
|
+
- spec/spec_helper.rb
|
104
|
+
homepage: ''
|
87
105
|
licenses: []
|
88
|
-
|
89
106
|
post_install_message:
|
90
107
|
rdoc_options: []
|
91
|
-
|
92
|
-
require_paths:
|
108
|
+
require_paths:
|
93
109
|
- lib
|
94
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
110
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
95
111
|
none: false
|
96
|
-
requirements:
|
97
|
-
- -
|
98
|
-
- !ruby/object:Gem::Version
|
99
|
-
|
100
|
-
segments:
|
112
|
+
requirements:
|
113
|
+
- - ! '>='
|
114
|
+
- !ruby/object:Gem::Version
|
115
|
+
version: '0'
|
116
|
+
segments:
|
101
117
|
- 0
|
102
|
-
|
103
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
118
|
+
hash: -2868322485057099188
|
119
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
104
120
|
none: false
|
105
|
-
requirements:
|
106
|
-
- -
|
107
|
-
- !ruby/object:Gem::Version
|
108
|
-
|
109
|
-
segments:
|
121
|
+
requirements:
|
122
|
+
- - ! '>='
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
segments:
|
110
126
|
- 0
|
111
|
-
|
127
|
+
hash: -2868322485057099188
|
112
128
|
requirements: []
|
113
|
-
|
114
129
|
rubyforge_project: git-pair
|
115
|
-
rubygems_version: 1.8.
|
130
|
+
rubygems_version: 1.8.25
|
116
131
|
signing_key:
|
117
132
|
specification_version: 3
|
118
133
|
summary: Configure git to commit as more than one author
|
119
|
-
test_files:
|
134
|
+
test_files:
|
120
135
|
- features/adding_an_author.feature
|
121
136
|
- features/authors.feature
|
122
137
|
- features/removing_an_author.feature
|
@@ -125,3 +140,6 @@ test_files:
|
|
125
140
|
- features/step_definitions/config_steps.rb
|
126
141
|
- features/support/env.rb
|
127
142
|
- features/switching_authors.feature
|
143
|
+
- spec/git-pair/author_spec.rb
|
144
|
+
- spec/git-pair/email_address_spec.rb
|
145
|
+
- spec/spec_helper.rb
|