tobytripp-git-pair 1.1.0 → 1.1.1

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/.rvmrc ADDED
@@ -0,0 +1,4 @@
1
+ rvm --create use 1.9.2@git-pair
2
+
3
+ [[ -s "git-pair.gems" ]] && rvm gemset import git-pair.gems
4
+ bundle install
data/Gemfile ADDED
@@ -0,0 +1,2 @@
1
+ source "http://rubygems.org"
2
+ gemspec
@@ -0,0 +1,36 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ tobytripp-git-pair (1.1.0)
5
+
6
+ GEM
7
+ remote: http://rubygems.org/
8
+ specs:
9
+ builder (3.0.0)
10
+ cucumber (0.10.0)
11
+ builder (>= 2.1.2)
12
+ diff-lcs (~> 1.1.2)
13
+ gherkin (~> 2.3.2)
14
+ json (~> 1.4.6)
15
+ term-ansicolor (~> 1.0.5)
16
+ diff-lcs (1.1.2)
17
+ gherkin (2.3.3)
18
+ json (~> 1.4.6)
19
+ json (1.4.6)
20
+ rspec (2.5.0)
21
+ rspec-core (~> 2.5.0)
22
+ rspec-expectations (~> 2.5.0)
23
+ rspec-mocks (~> 2.5.0)
24
+ rspec-core (2.5.1)
25
+ rspec-expectations (2.5.0)
26
+ diff-lcs (~> 1.1.2)
27
+ rspec-mocks (2.5.0)
28
+ term-ansicolor (1.0.5)
29
+
30
+ PLATFORMS
31
+ ruby
32
+
33
+ DEPENDENCIES
34
+ cucumber
35
+ rspec (~> 2.5.0)
36
+ tobytripp-git-pair!
data/Rakefile CHANGED
@@ -1,19 +1,30 @@
1
1
  require 'rubygems'
2
2
  require 'rake'
3
3
 
4
+ require 'bundler'
5
+ Bundler::GemHelper.install_tasks
6
+
4
7
  begin
5
8
  require 'cucumber/rake/task'
6
- Cucumber::Rake::Task.new(:features)
7
9
 
8
- task :features => :check_dependencies
10
+ namespace :cucumber do
11
+ Cucumber::Rake::Task.new(:ok) do |t|
12
+ t.cucumber_opts = "--tags ~@wip"
13
+ end
14
+
15
+ Cucumber::Rake::Task.new(:wip, "Run features that are being worked on") do |t|
16
+ t.cucumber_opts = "--tags @wip:2 --wip"
17
+ end
18
+ end
19
+
20
+ task :cucumber => 'cucumber:ok'
9
21
  rescue LoadError
10
- task :features do
22
+ task :cucumber do
11
23
  abort "Cucumber is not available. In order to run features, you must: sudo gem install cucumber"
12
24
  end
13
25
  end
14
26
 
15
- task :default => :features
27
+ task :default => :cucumber
16
28
 
17
29
  # Don't print commands when shelling out (for example, running Cucumber)
18
30
  RakeFileUtils.verbose(false)
19
-
@@ -9,19 +9,19 @@ Feature: Adding an author
9
9
 
10
10
  Scenario: adding the same name and email twice
11
11
  When I add the author "Linus Torvalds <linus@example.org>"
12
- And I add the author "Linus Torvalds <linus@example.org>"
12
+ And I add the author "Linus Torvalds <linus@example.org>"
13
13
  Then `git pair` should display "Linus Torvalds" in its author list only once
14
- And the gitconfig should include "Linus Torvalds" in its author list only once
14
+ And the gitconfig should include "Linus Torvalds" in its author list only once
15
15
 
16
16
  Scenario: adding the same name twice with different emails
17
17
  When I add the author "Linus Torvalds <linus@example.org>"
18
- And I add the author "Linus Torvalds <linus@example.com>"
18
+ And I add the author "Linus Torvalds <linus@example.com>"
19
19
  Then `git pair` should display "Linus Torvalds" in its author list only once
20
- And the gitconfig should include "Linus Torvalds" in its author list only once
21
- And the gitconfig should include "linus@example.org" as the email of "Linus Torvalds"
20
+ And the gitconfig should include "Linus Torvalds" in its author list only once
21
+ And the gitconfig should include "linus@example.org" as the email of "Linus Torvalds"
22
22
 
23
23
  Scenario: adding a malformed author string
24
24
  When I add the author " "
25
- And I add the author "Bob Dole"
26
- And I add the author "Jimmy <asdf"
25
+ And I add the author "Bob Dole"
26
+ And I add the author "Jimmy <asdf"
27
27
  Then the config file should have no authors
@@ -0,0 +1,7 @@
1
+ Feature: Listing the current authors
2
+ Background:
3
+ Given my global Git configuration is setup with user "Global User"
4
+
5
+ @wip
6
+ Scenario: when no authors have been added
7
+ Then `git pair` should display "Global User" in its author list
@@ -1,7 +1,9 @@
1
1
  Feature: Resetting the current authors
2
2
  Scenario: resetting the current authors
3
3
  Given I have added the author "Linus Torvalds <linus@example.org>"
4
- And my global Git configuration is setup with user "Global User"
5
- And I switch to the pair "LT"
4
+ And my global Git configuration is setup with user "Global User"
5
+ And I switch to the pair "LT"
6
+
6
7
  When I reset the current authors
7
- Then `git pair` should display "Global User" for the current author
8
+
9
+ Then `git pair` should display "Global User" for the current author
@@ -22,20 +22,20 @@ When /^I (?:try to )?switch to the pair "([^\"]*)"$/ do |abbreviations|
22
22
  @output = git_pair abbreviations
23
23
  end
24
24
 
25
- When /^I reset the current authors$/ do
25
+ When /^I reset the current authors$/ do
26
26
  git_pair '--reset'
27
27
  end
28
28
 
29
29
  Then /^`git pair` should display "([^\"]*)" in its author list$/ do |name|
30
30
  output = git_pair
31
31
  authors = authors_list_from_output(output)
32
- assert authors.include?(name)
32
+ authors.should include( name )
33
33
  end
34
34
 
35
35
  Then /^`git pair` should display "([^\"]*)" in its author list only once$/ do |name|
36
36
  output = git_pair
37
37
  authors = authors_list_from_output(output)
38
- assert_equal 1, authors.select { |author| author == name}.size
38
+ authors.select { |author| author == name}.size.should == 1
39
39
  end
40
40
 
41
41
  Then /^`git pair` should display no authors$/ do
@@ -47,24 +47,24 @@ end
47
47
 
48
48
  Then /^`git pair` should display "([^\"]*)" for the current author$/ do |names|
49
49
  output = git_pair
50
- assert_equal names, current_author_from_output(output)
50
+ current_author_from_output(output).should == names
51
51
  end
52
52
 
53
53
  Then /^`git pair` should display "([^\"]*)" for the current email$/ do |email|
54
54
  output = git_pair
55
- assert_equal email, current_email_from_output(output)
55
+ current_email_from_output(output).should == email
56
56
  end
57
57
 
58
58
  Then /^the gitconfig should include "([^\"]*)" in its author list only once$/ do |name|
59
59
  output = git_config
60
60
  authors = output.split("\n").map { |line| line =~ /^git-pair\.authors=(.*) <[^>]+>$/; $1 }.compact
61
- assert_equal 1, authors.select { |author| author == name}.size
61
+ authors.select { |author| author == name}.size.should == 1
62
62
  end
63
63
 
64
64
  Then /^the gitconfig should include "([^\"]*)" as the email of "([^\"]*)"$/ do |email, name|
65
65
  output = git_config
66
66
  authors = output.split("\n").map { |line| line =~ /^git-pair\.authors=.* <([^>]+)>$/; $1 }.compact
67
- assert_equal 1, authors.select { |author| author == email}.size
67
+ authors.select { |author| author == email}.size.should == 1
68
68
  end
69
69
 
70
70
  Then /^`git pair` should display the following author list:$/ do |table|
@@ -75,11 +75,11 @@ end
75
75
 
76
76
  Then /^`git pair` should display an empty author list$/ do
77
77
  output = git_pair
78
- assert authors_list_from_output(output).empty?
78
+ authors_list_from_output(output).should be_empty
79
79
  end
80
80
 
81
81
  Then /^the last command\'s output should include "([^\"]*)"$/ do |output|
82
- assert @output.include?(output)
82
+ @output.should include(output)
83
83
  end
84
84
 
85
85
  Then /^the config file should have no authors$/ do
@@ -1,7 +1,5 @@
1
1
  require 'tmpdir'
2
- require 'test/unit/assertions'
3
- World(Test::Unit::Assertions)
4
-
2
+ require 'rspec'
5
3
 
6
4
  module RepositoryHelper
7
5
  # TODO: use 1.8.7's Dir.mktmpdir?
@@ -37,7 +35,6 @@ end
37
35
 
38
36
  World(RepositoryHelper)
39
37
 
40
-
41
38
  Before do
42
39
  backup_gitconfigs
43
40
  FileUtils.mkdir_p RepositoryHelper::TEST_REPO_PATH
@@ -0,0 +1 @@
1
+ bundler -v1.0.10
@@ -1,10 +1,9 @@
1
1
  module GitPair
2
2
  class Author
3
-
4
3
  ValidAuthorStringRegex = /^\s*([^<]+)<([^>]+)>\s*$/
5
4
 
6
5
  class InvalidAuthorString < TypeError; end
7
-
6
+
8
7
  def self.all
9
8
  Config.all_author_strings.map { |string| new(string) }
10
9
  end
@@ -15,7 +14,7 @@ module GitPair
15
14
  end
16
15
 
17
16
  def self.find(abbr)
18
- all.find { |author| author.match?(abbr) } ||
17
+ all.find { |author| author.match?(abbr) } ||
19
18
  raise(NoMatchingAuthorsError, "no authors matched #{abbr}")
20
19
  end
21
20
 
@@ -1,29 +1,30 @@
1
- # -*- encoding: utf-8 -*-
1
+ # -*- coding: utf-8 -*-
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{tobytripp-git-pair}
5
- s.version = "1.1.0"
5
+ s.version = "1.1.1"
6
6
  s.platform = Gem::Platform::RUBY
7
-
7
+
8
8
  s.authors = ["Chris Kampmeier", "Adam McCrea", "Jon Distad", "Toby Tripp"]
9
9
  s.email = %q{toby.tripp+github@gmail.com}
10
10
 
11
11
  s.summary = %q{Configure git to commit as more than one author}
12
12
  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.} #'
13
-
14
- s.default_executable = %q{git-pair}
13
+
15
14
  s.executables = ["git-pair"]
16
-
15
+
17
16
  s.rdoc_options = ["--charset=UTF-8"]
18
17
  s.extra_rdoc_files = %w[LICENSE README.markdown]
19
18
 
20
19
  s.files = `git ls-files`.split("\n")
21
20
  s.test_files = `git ls-files -- features/*`.split("\n")
22
-
21
+
23
22
  s.homepage = %q{http://github.com/tobytripp/git-pair}
24
-
23
+
25
24
  s.require_paths = ["lib"]
26
-
25
+
27
26
  s.required_rubygems_version = ">= 1.3.5"
27
+
28
28
  s.add_development_dependency "cucumber"
29
+ s.add_development_dependency "rspec", "~> 2.5.0"
29
30
  end
metadata CHANGED
@@ -1,13 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tobytripp-git-pair
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
5
- prerelease: false
6
- segments:
7
- - 1
8
- - 1
9
- - 0
10
- version: 1.1.0
4
+ prerelease:
5
+ version: 1.1.1
11
6
  platform: ruby
12
7
  authors:
13
8
  - Chris Kampmeier
@@ -18,8 +13,8 @@ autorequire:
18
13
  bindir: bin
19
14
  cert_chain: []
20
15
 
21
- date: 2011-01-07 00:00:00 -06:00
22
- default_executable: git-pair
16
+ date: 2011-05-09 00:00:00 -05:00
17
+ default_executable:
23
18
  dependencies:
24
19
  - !ruby/object:Gem::Dependency
25
20
  name: cucumber
@@ -29,12 +24,20 @@ dependencies:
29
24
  requirements:
30
25
  - - ">="
31
26
  - !ruby/object:Gem::Version
32
- hash: 3
33
- segments:
34
- - 0
35
27
  version: "0"
36
28
  type: :development
37
29
  version_requirements: *id001
30
+ - !ruby/object:Gem::Dependency
31
+ name: rspec
32
+ prerelease: false
33
+ requirement: &id002 !ruby/object:Gem::Requirement
34
+ none: false
35
+ requirements:
36
+ - - ~>
37
+ - !ruby/object:Gem::Version
38
+ version: 2.5.0
39
+ type: :development
40
+ version_requirements: *id002
38
41
  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.
39
42
  email: toby.tripp+github@gmail.com
40
43
  executables:
@@ -47,6 +50,9 @@ extra_rdoc_files:
47
50
  files:
48
51
  - .autotest
49
52
  - .gitignore
53
+ - .rvmrc
54
+ - Gemfile
55
+ - Gemfile.lock
50
56
  - LICENSE
51
57
  - README.markdown
52
58
  - Rakefile
@@ -54,11 +60,13 @@ files:
54
60
  - bin/git-pair
55
61
  - config/cucumber.yml
56
62
  - features/adding_an_author.feature
63
+ - features/listing_authors.feature
57
64
  - features/removing_an_author.feature
58
65
  - features/resetting_the_pair.feature
59
66
  - features/step_definitions/config_steps.rb
60
67
  - features/support/env.rb
61
68
  - features/switching_authors.feature
69
+ - git-pair.gems
62
70
  - lib/git-pair.rb
63
71
  - lib/git-pair/author.rb
64
72
  - lib/git-pair/command.rb
@@ -78,30 +86,23 @@ required_ruby_version: !ruby/object:Gem::Requirement
78
86
  requirements:
79
87
  - - ">="
80
88
  - !ruby/object:Gem::Version
81
- hash: 3
82
- segments:
83
- - 0
84
89
  version: "0"
85
90
  required_rubygems_version: !ruby/object:Gem::Requirement
86
91
  none: false
87
92
  requirements:
88
93
  - - ">="
89
94
  - !ruby/object:Gem::Version
90
- hash: 17
91
- segments:
92
- - 1
93
- - 3
94
- - 5
95
95
  version: 1.3.5
96
96
  requirements: []
97
97
 
98
98
  rubyforge_project:
99
- rubygems_version: 1.3.7
99
+ rubygems_version: 1.6.2
100
100
  signing_key:
101
101
  specification_version: 3
102
102
  summary: Configure git to commit as more than one author
103
103
  test_files:
104
104
  - features/adding_an_author.feature
105
+ - features/listing_authors.feature
105
106
  - features/removing_an_author.feature
106
107
  - features/resetting_the_pair.feature
107
108
  - features/step_definitions/config_steps.rb