edsinclair-git-pair 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --format progress
@@ -0,0 +1,5 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.8.7
4
+ - 1.9.3
5
+ script: rake
data/Gemfile CHANGED
@@ -1,4 +1,2 @@
1
- source "http://rubygems.org"
2
-
3
- # Specify your gem's dependencies in git-pair.gemspec
4
- gemspec
1
+ source "https://rubygems.org"
2
+ gemspec
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
- And here's how to use it!
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@edgecase.com
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 initials separated by a '+' will precede the '@'.
44
- Alternatively you can specify an email address to be used for pair commits.
45
- For example: if you specify pair@example.net the pair email address will be pair+aa+bb@example.net
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. See `LICENSE` for details.
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 'bundler/gem_tasks'
4
+ require "bundler/gem_tasks"
5
5
 
6
- begin
7
- require 'cucumber/rake/task'
8
- Cucumber::Rake::Task.new(:features)
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 :default => :features
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)
@@ -1,3 +1 @@
1
1
  default: --format progress --color features
2
- autotest: --format pretty
3
- autotest-all: --profile default
@@ -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 = ["eirik@efficiency20.com"]
9
+ s.email = ["eirikdentz@gmail.com"]
10
10
  s.homepage = ""
11
- s.date = %q{2011-08-24}
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 "ruby-debug"
22
+ s.add_development_dependency "rspec"
23
+ s.add_development_dependency "rake"
23
24
  end
@@ -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 <lt+jch@example.net>"
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@example.net>"
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>"
@@ -1,5 +1,5 @@
1
1
  Given /^I have added the author "([^\"]*)"$/ do |name_and_email|
2
- When %(I add the author "#{name_and_email}")
2
+ step %(I add the author "#{name_and_email}")
3
3
  end
4
4
 
5
5
  Given /^my global Git configuration is setup with user "([^\"]*)"$/ do |name|
@@ -24,20 +24,35 @@ module RepositoryHelper
24
24
 
25
25
  def backup_gitconfigs
26
26
  FileUtils.mkdir_p CONFIG_BACKUP_PATH
27
- FileUtils.cp File.expand_path("~/.gitconfig"), "#{CONFIG_BACKUP_PATH}/.gitconfig.backup"
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", "#{PROJECT_PATH}/.git/config"
33
- FileUtils.cp "#{CONFIG_BACKUP_PATH}/.gitconfig.backup", File.expand_path("~/.gitconfig")
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 "lt+jch@example.net" for the current email
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@example.net" for the current email
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
@@ -1,10 +1,11 @@
1
1
  require "git-pair/version"
2
2
 
3
3
  module GitPair
4
- autoload :Command, 'git-pair/command'
5
- autoload :Author, 'git-pair/author'
6
- autoload :Config, 'git-pair/config'
7
- autoload :Display, 'git-pair/display'
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
@@ -19,26 +19,23 @@ module GitPair
19
19
  raise(NoMatchingAuthorsError, "no authors matched #{abbr}")
20
20
  end
21
21
 
22
- def self.email(authors)
23
- if authors.length == 1
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.authors_prefix
36
- return Config.pair_email.split("@").first unless Config.pair_email.empty?
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.authors_email(authors)
40
- return Config.pair_email.split("@").last unless Config.pair_email.empty?
41
- return authors.first.email.split("@").last
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
- @name = $1.to_s.strip
61
- @email = $2.to_s.strip
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
@@ -23,7 +23,7 @@ module GitPair
23
23
 
24
24
  def switch(authors)
25
25
  `git config user.name "#{authors.map { |a| a.name }.join(' & ')}"`
26
- `git config user.email "#{Author.email(authors)}"`
26
+ `git config user.email "#{Author.email_address_for(authors)}"`
27
27
  end
28
28
 
29
29
  def reset
@@ -3,7 +3,7 @@ module GitPair
3
3
  extend self
4
4
 
5
5
  def git_author(authors)
6
- "#{authors.map { |a| a.name }.join(' & ')} <#{Author.email(authors)}>"
6
+ "#{authors.map { |a| a.name }.join(' & ')} <#{Author.email_address_for(authors)}>"
7
7
  end
8
8
  end
9
9
  end
@@ -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
@@ -1,3 +1,3 @@
1
1
  module GitPair
2
- VERSION = "0.3.0"
2
+ VERSION = "0.4.0"
3
3
  end
@@ -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
@@ -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
- hash: 19
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
- date: 2011-08-24 00:00:00 Z
23
- dependencies:
24
- - !ruby/object:Gem::Dependency
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
- requirement: &id001 !ruby/object:Gem::Requirement
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
- hash: 3
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
- requirement: &id002 !ruby/object:Gem::Requirement
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
- hash: 3
46
- segments:
47
- - 0
48
- version: "0"
54
+ requirements:
55
+ - - ! '>='
56
+ - !ruby/object:Gem::Version
57
+ version: '0'
49
58
  type: :development
50
- version_requirements: *id002
51
- name: ruby-debug
52
- description: 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.
53
- email:
54
- - eirik@efficiency20.com
55
- executables:
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
- homepage: ""
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
- hash: 3
100
- segments:
112
+ requirements:
113
+ - - ! '>='
114
+ - !ruby/object:Gem::Version
115
+ version: '0'
116
+ segments:
101
117
  - 0
102
- version: "0"
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
- hash: 3
109
- segments:
121
+ requirements:
122
+ - - ! '>='
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ segments:
110
126
  - 0
111
- version: "0"
127
+ hash: -2868322485057099188
112
128
  requirements: []
113
-
114
129
  rubyforge_project: git-pair
115
- rubygems_version: 1.8.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
data/.autotest DELETED
@@ -1,5 +0,0 @@
1
- Autotest.add_hook :initialize do |autotest|
2
- [/\.git/, /pkg\//, /\.gemspec$/, /\.log$/].each do |regexp|
3
- autotest.add_exception regexp
4
- end
5
- end