ppgit 0.5.0 → 0.6.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/CHANGELOG +2 -0
- data/README.markdown +15 -3
- data/VERSION +1 -1
- data/bin/git-pp +4 -2
- data/bin/ppgit +4 -2
- data/doc/ppgit-img1.png +0 -0
- data/doc/ppgit-img2.png +0 -0
- data/doc/ppgit-img3.png +0 -0
- data/lib/ppgit/commands.rb +19 -14
- data/lib/ppgit/usage.txt +1 -1
- data/ppgit.gemspec +5 -2
- data/spec/ppgit_clear_spec.rb +3 -3
- data/spec/ppgit_email_root_spec.rb +2 -2
- data/spec/ppgit_info_spec.rb +4 -6
- data/spec/ppgit_spec.rb +8 -8
- metadata +7 -4
data/CHANGELOG
CHANGED
data/README.markdown
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
[ppgit](http://rubygems.org/gems/ppgit)
|
2
2
|
=======
|
3
3
|
|
4
|
+

|
5
|
+
|
4
6
|
For Git-friendly Pair-Programming sessions.
|
5
7
|
Sign your commits with your pair 2-part name and email : andy\_john / andy\_john@acme.com
|
6
8
|
When you're done, restore your local git config in a snap.
|
@@ -25,6 +27,8 @@ remark : 'ppgit' is a synonym of 'git pp' => you can write
|
|
25
27
|
Usage :
|
26
28
|
-------
|
27
29
|
|
30
|
+

|
31
|
+
|
28
32
|
#### 1 - When the pairing session starts, quickly set user.name and user.email to the pair values :
|
29
33
|
|
30
34
|
$ ppgit john andy andy_john@mycompany.com
|
@@ -32,7 +36,7 @@ Usage :
|
|
32
36
|
=> this will update the .git/config of your project to
|
33
37
|
|
34
38
|
[user]
|
35
|
-
name =
|
39
|
+
name = andy+john
|
36
40
|
email = andy_john@mycompany.com
|
37
41
|
[user-before-ppgit]
|
38
42
|
name = Your Name
|
@@ -43,7 +47,7 @@ Usage :
|
|
43
47
|
|
44
48
|
$ ppgit clear
|
45
49
|
|
46
|
-
=> will restore your
|
50
|
+
=> will restore your .git/config to :
|
47
51
|
|
48
52
|
[user]
|
49
53
|
name = Your Name
|
@@ -81,8 +85,16 @@ This info is stored in ~/.gitconfig => it works for all your projects.
|
|
81
85
|
|
82
86
|
$ gem install ppgit
|
83
87
|
|
84
|
-
#### Report bugs to <http://github.com/alainravet/ppgit/>
|
85
88
|
|
89
|
+
#### Update :
|
90
|
+
|
91
|
+
You are warned when a new version is available :
|
92
|
+
|
93
|
+

|
94
|
+
|
95
|
+
|
96
|
+
#### Report bugs to <http://github.com/alainravet/ppgit/>
|
97
|
+
test
|
86
98
|
--------------------------------------------------------------------------------
|
87
99
|
|
88
100
|
== Note on Patches/Pull Requests
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.6.0
|
data/bin/git-pp
CHANGED
@@ -11,11 +11,13 @@ if ARGV.empty?
|
|
11
11
|
do_ppgit_show_usage_message()
|
12
12
|
|
13
13
|
else
|
14
|
-
LOCAL_CONFIG_FILE = in_test_mode ? config_file_part('--file' ) : nil
|
14
|
+
# LOCAL_CONFIG_FILE = in_test_mode ? config_file_part('--file' ) : nil
|
15
|
+
LOCAL_CONFIG_FILE = in_test_mode ? config_file_part('--file' ) : '--file .git/config'
|
15
16
|
GLOBAL_CONFIG_FILE = in_test_mode ? config_file_part('--global_file') : '--global'
|
16
17
|
|
17
18
|
if emailroot = argv_value_of('--email_root')
|
18
19
|
do_ppgit_emailroot(emailroot)
|
20
|
+
do_ppgit_info() if ARGV.empty?
|
19
21
|
end
|
20
22
|
|
21
23
|
if ARGV == %w(info)
|
@@ -29,7 +31,7 @@ else
|
|
29
31
|
do_ppgit_set_pair_as_a_user(user_1=ARGV[0], user_2=ARGV[1], pair_email=ARGV[2])
|
30
32
|
do_ppgit_info()
|
31
33
|
|
32
|
-
|
34
|
+
elsif 0 != ARGV.length
|
33
35
|
puts yellow( "\nError - invalid command : ")
|
34
36
|
puts yellow( ' ppgit ') + lred(ARGV.join(' '))
|
35
37
|
puts "\n----------------------------\n\n"
|
data/bin/ppgit
CHANGED
@@ -11,11 +11,13 @@ if ARGV.empty?
|
|
11
11
|
do_ppgit_show_usage_message()
|
12
12
|
|
13
13
|
else
|
14
|
-
LOCAL_CONFIG_FILE = in_test_mode ? config_file_part('--file' ) : nil
|
14
|
+
# LOCAL_CONFIG_FILE = in_test_mode ? config_file_part('--file' ) : nil
|
15
|
+
LOCAL_CONFIG_FILE = in_test_mode ? config_file_part('--file' ) : '--file .git/config'
|
15
16
|
GLOBAL_CONFIG_FILE = in_test_mode ? config_file_part('--global_file') : '--global'
|
16
17
|
|
17
18
|
if emailroot = argv_value_of('--email_root')
|
18
19
|
do_ppgit_emailroot(emailroot)
|
20
|
+
do_ppgit_info() if ARGV.empty?
|
19
21
|
end
|
20
22
|
|
21
23
|
if ARGV == %w(info)
|
@@ -29,7 +31,7 @@ else
|
|
29
31
|
do_ppgit_set_pair_as_a_user(user_1=ARGV[0], user_2=ARGV[1], pair_email=ARGV[2])
|
30
32
|
do_ppgit_info()
|
31
33
|
|
32
|
-
|
34
|
+
elsif 0 != ARGV.length
|
33
35
|
puts yellow( "\nError - invalid command : ")
|
34
36
|
puts yellow( ' ppgit ') + lred(ARGV.join(' '))
|
35
37
|
puts "\n----------------------------\n\n"
|
data/doc/ppgit-img1.png
ADDED
Binary file
|
data/doc/ppgit-img2.png
ADDED
Binary file
|
data/doc/ppgit-img3.png
ADDED
Binary file
|
data/lib/ppgit/commands.rb
CHANGED
@@ -27,11 +27,9 @@ def do_ppgit_set_pair_as_a_user(user_1, user_2, pair_email)
|
|
27
27
|
backup_git_value :from => 'user.email', :to => 'user-before-ppgit.email'
|
28
28
|
|
29
29
|
two_users = [user_1, user_2]
|
30
|
-
|
30
|
+
pair_email ||= make_email_from_email_root_and_user(two_users.sort.join('_'))
|
31
31
|
|
32
|
-
|
33
|
-
|
34
|
-
set_local_git_value 'user.name', pair_user
|
32
|
+
set_local_git_value 'user.name', two_users.sort.join('+')
|
35
33
|
if pair_email
|
36
34
|
set_local_git_value 'user.email', pair_email
|
37
35
|
end
|
@@ -57,15 +55,22 @@ end
|
|
57
55
|
|
58
56
|
|
59
57
|
def do_ppgit_info
|
60
|
-
|
61
|
-
|
58
|
+
ppgit_info(LOCAL_CONFIG_FILE )
|
59
|
+
ppgit_info(GLOBAL_CONFIG_FILE)
|
60
|
+
end
|
61
|
+
|
62
|
+
def ppgit_info(file)
|
63
|
+
name, email = get_value('user.name', file), get_value('user.email', file)
|
64
|
+
email_root = get_value('ppgit.emailroot', file)
|
62
65
|
s = []
|
63
|
-
s << "
|
64
|
-
|
65
|
-
|
66
|
-
|
66
|
+
s << "-------------------------------------------------------"
|
67
|
+
s << "file = " + ((file == '--global') ? '~/.gitconfig' : file.gsub('--file ',''))
|
68
|
+
s << "-------------------------------------------------------"
|
69
|
+
unless name.blank? && email.blank?
|
70
|
+
# s << ' [user] is empty (user.email and user.name are not set)'
|
71
|
+
# else
|
67
72
|
s << ' [user]'
|
68
|
-
s << " name = #{name }" unless name
|
73
|
+
s << " name = #{name }" unless name.blank?
|
69
74
|
s << " email = #{email}" unless email.blank?
|
70
75
|
s << ' -------------------------------------------------------'
|
71
76
|
end
|
@@ -74,14 +79,14 @@ def do_ppgit_info
|
|
74
79
|
s << " emailroot = #{email_root}" unless email_root.blank?
|
75
80
|
s << ' -------------------------------------------------------'
|
76
81
|
end
|
77
|
-
name, email =
|
82
|
+
name, email = get_value('user-before-ppgit.name', file), get_value('user-before-ppgit.email', file)
|
78
83
|
unless name.blank? && email.blank?
|
79
84
|
s << ' [user-before-ppgit]'
|
80
|
-
s << " name = #{name }" unless name
|
85
|
+
s << " name = #{name }" unless name.blank?
|
81
86
|
s << " email = #{email}" unless email.blank?
|
82
87
|
s << ' -------------------------------------------------------'
|
83
88
|
end
|
84
89
|
s << ' '
|
85
|
-
|
86
90
|
puts green s.join("\n")
|
87
91
|
end
|
92
|
+
|
data/lib/ppgit/usage.txt
CHANGED
data/ppgit.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{ppgit}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.6.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Alain Ravet"]
|
12
|
-
s.date = %q{2010-07
|
12
|
+
s.date = %q{2010-10-07}
|
13
13
|
s.description = %q{git users' pairs switcher}
|
14
14
|
s.email = %q{alain.ravet+git@gmail.com}
|
15
15
|
s.executables = ["git-pp", "ppgit"]
|
@@ -27,6 +27,9 @@ Gem::Specification.new do |s|
|
|
27
27
|
"VERSION",
|
28
28
|
"bin/git-pp",
|
29
29
|
"bin/ppgit",
|
30
|
+
"doc/ppgit-img1.png",
|
31
|
+
"doc/ppgit-img2.png",
|
32
|
+
"doc/ppgit-img3.png",
|
30
33
|
"lib/ppgit.rb",
|
31
34
|
"lib/ppgit/commands.rb",
|
32
35
|
"lib/ppgit/git_utils.rb",
|
data/spec/ppgit_clear_spec.rb
CHANGED
@@ -34,7 +34,7 @@ describe "`ppgit clear`" do
|
|
34
34
|
context 'when there is a user.name + email AND stored values in user-before-ppgit AND an emailroot' do
|
35
35
|
before(:all) do
|
36
36
|
@before_local = [ '[user]' ,
|
37
|
-
' name =
|
37
|
+
' name = andy+john' , # value to replace
|
38
38
|
' email = andy_john@test.com' , # ..
|
39
39
|
|
40
40
|
'[user-before-ppgit]' , # section to erase
|
@@ -65,7 +65,7 @@ describe "`ppgit clear`" do
|
|
65
65
|
context 'when both the backup user.name and email are the same as the global values' do
|
66
66
|
before(:all) do
|
67
67
|
@before_local = [ '[user]' , # section to erase
|
68
|
-
' name =
|
68
|
+
' name = andy+john' , #
|
69
69
|
' email = andy_john@test.com' , #
|
70
70
|
|
71
71
|
'[user-before-ppgit]' , # section to erase
|
@@ -93,7 +93,7 @@ describe "`ppgit clear`" do
|
|
93
93
|
context 'when only the backup user.name is the same as the global value' do
|
94
94
|
before(:all) do
|
95
95
|
@before_local = [ '[user]' , #
|
96
|
-
' name =
|
96
|
+
' name = andy+john' , # will disappear
|
97
97
|
' email = andy_john@test.com' , # will be restored
|
98
98
|
|
99
99
|
'[user-before-ppgit]' , #
|
@@ -53,7 +53,7 @@ describe "medium: `ppgit john andy --email_root acme+*@gmail.com`" do
|
|
53
53
|
|
54
54
|
it 'stores the user in local (.git/config)' do
|
55
55
|
expected_local = [ '[user]' ,
|
56
|
-
' name =
|
56
|
+
' name = andy+john' ,
|
57
57
|
' email = acme+andy_john@gmail.com'
|
58
58
|
].join("\n")
|
59
59
|
@actual_local.should == expected_local
|
@@ -77,7 +77,7 @@ describe "complex: `ppgit john andy andy_john@test.com --email_root acme+*@gmail
|
|
77
77
|
|
78
78
|
it 'uses the explicit email address (3rd parameter)' do
|
79
79
|
expected_local = [ '[user]' ,
|
80
|
-
' name =
|
80
|
+
' name = andy+john' ,
|
81
81
|
' email = andy_john@test.com'
|
82
82
|
].join("\n")
|
83
83
|
@actual_local.should == expected_local
|
data/spec/ppgit_info_spec.rb
CHANGED
@@ -5,7 +5,7 @@ describe "`ppgit info`" do
|
|
5
5
|
context "when ALL the [user] and the ppgit variables are stored in the 2 config files" do
|
6
6
|
before(:all) do
|
7
7
|
before_local = [ '[user]' ,
|
8
|
-
' name =
|
8
|
+
' name = andy+john' ,
|
9
9
|
' email = andy_john@test.com' ,
|
10
10
|
|
11
11
|
'[user-before-ppgit]' ,
|
@@ -17,12 +17,10 @@ describe "`ppgit info`" do
|
|
17
17
|
ignore, ignore, @output = execute_command_g( ppgit("info"), before_local, before_global)
|
18
18
|
end
|
19
19
|
|
20
|
-
it('should display the [user].* info' ) { @output.should match(/\[user\].+
|
20
|
+
it('should display the [user].* info' ) { @output.should match(/\[user\].+andy\+john.+andy_john@test.com/mi) }
|
21
21
|
it('should display the [user-before-ppgit].* info') { @output.should match(/\[user-before-ppgit\].+John User.+johnuser@gmail.be/mi) }
|
22
22
|
it('should display the [ppgit].emailroot info' ) {
|
23
|
-
|
24
|
-
@output.should match(/\[ppgit\].+emailroot\s+=\s+acme\+\*@gmail.com/mi)
|
25
|
-
end
|
23
|
+
@output.should match(/\[ppgit\].+emailroot\s+=\s+acme\+\*@gmail.com/mi)
|
26
24
|
}
|
27
25
|
end
|
28
26
|
|
@@ -34,7 +32,7 @@ describe "`ppgit info`" do
|
|
34
32
|
ignore, ignore, @output = execute_command_g( ppgit("info"), before_local, before_global)
|
35
33
|
end
|
36
34
|
|
37
|
-
it('should display the empty [user] section' ) { @output.
|
35
|
+
it('should not display the empty [user] section' ) { @output.should_not match(/\[user\]/mi) }
|
38
36
|
|
39
37
|
it('should NOT display the empty [user-before-ppgit] section') { @output.should_not match(/\[user-before-ppgit\]/mi) }
|
40
38
|
it('should NOT display the [ppgit] info' ) { @output.should_not match(/\[ppgit\]/mi) }
|
data/spec/ppgit_spec.rb
CHANGED
@@ -15,7 +15,7 @@ context "with empty git config files" do
|
|
15
15
|
end
|
16
16
|
it("combines the 2 names alphabetically and stores this user.name in .git/config" ) do
|
17
17
|
expected_local = ['[user]' ,
|
18
|
-
' name =
|
18
|
+
' name = andy+john' ]
|
19
19
|
@actual_local.should == expected_local.join("\n")
|
20
20
|
end
|
21
21
|
it("doesn't change --global (~/.gitconfig)") { @actual_global.should == @before_global.join("\n") }
|
@@ -29,7 +29,7 @@ context "with empty git config files" do
|
|
29
29
|
end
|
30
30
|
it "also stores the 3rd parameter as user.email in .git/config" do
|
31
31
|
expected_local = ['[user]' ,
|
32
|
-
' name =
|
32
|
+
' name = andy+john' ,
|
33
33
|
' email = andy_john@test.com' ]
|
34
34
|
|
35
35
|
@actual_local.should == expected_local.join("\n")
|
@@ -52,7 +52,7 @@ context 'when there is only a ppgit.emailroot' do
|
|
52
52
|
end
|
53
53
|
it( 'combines the users names and the emailroot to create and store user.email' ) do
|
54
54
|
expected_local = ['[user]' ,
|
55
|
-
' name =
|
55
|
+
' name = andy+john' ,
|
56
56
|
' email = pp+andy_john@gmail.com' ]
|
57
57
|
@actual_local.should == expected_local.join("\n")
|
58
58
|
end
|
@@ -73,7 +73,7 @@ context 'when there is only a user.name' do
|
|
73
73
|
cmd = ppgit('john andy' )
|
74
74
|
@actual_local, @actual_global = execute_command_g( cmd, @before_local, @before_global)
|
75
75
|
expected_local = ['[user]' ,
|
76
|
-
' name =
|
76
|
+
' name = andy+john' ,
|
77
77
|
'[user-before-ppgit]' ,
|
78
78
|
' name = Alain Ravet' ]
|
79
79
|
@actual_local.should == expected_local.join("\n")
|
@@ -83,7 +83,7 @@ context 'when there is only a user.name' do
|
|
83
83
|
cmd = ppgit('john andy andy_john@test.com' )
|
84
84
|
@actual_local, @actual_global = execute_command_g( cmd, @before_local, @before_global)
|
85
85
|
expected_local = ['[user]' ,
|
86
|
-
' name =
|
86
|
+
' name = andy+john' ,
|
87
87
|
' email = andy_john@test.com' ,
|
88
88
|
'[user-before-ppgit]' ,
|
89
89
|
' name = Alain Ravet' ]
|
@@ -104,7 +104,7 @@ context 'when there is a user.name and a user.email' do
|
|
104
104
|
cmd = ppgit('john andy andy_john@test.com' )
|
105
105
|
@actual_local, @actual_global = execute_command_g( cmd, @before_local, @before_global)
|
106
106
|
expected_local = ['[user]' ,
|
107
|
-
' name =
|
107
|
+
' name = andy+john' ,
|
108
108
|
' email = andy_john@test.com',
|
109
109
|
'[user-before-ppgit]' ,
|
110
110
|
' name = Alain Ravet' ,
|
@@ -117,7 +117,7 @@ end
|
|
117
117
|
context 'when there is a user.name + email AND stored values in [user-before-ppgit]' do
|
118
118
|
before(:all) do
|
119
119
|
@before_local = ['[user]' ,
|
120
|
-
' name =
|
120
|
+
' name = andy+john' ,
|
121
121
|
' email = andy_john@test.com' ,
|
122
122
|
'[user-before-ppgit]' ,
|
123
123
|
' name = Alain Ravet' ,
|
@@ -129,7 +129,7 @@ context 'when there is a user.name + email AND stored values in [user-before-ppg
|
|
129
129
|
|
130
130
|
it '`ppgit artie zane artie_zane@test.com` does not overwrite the values stored in user-before-ppgit' do
|
131
131
|
expected_local = ['[user]' ,
|
132
|
-
' name =
|
132
|
+
' name = artie+zane' ,
|
133
133
|
' email = artie_zane@test.com',
|
134
134
|
'[user-before-ppgit]' ,
|
135
135
|
' name = Alain Ravet' ,
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ppgit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 7
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
8
|
+
- 6
|
9
9
|
- 0
|
10
|
-
version: 0.
|
10
|
+
version: 0.6.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Alain Ravet
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-07
|
18
|
+
date: 2010-10-07 00:00:00 +02:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -54,6 +54,9 @@ files:
|
|
54
54
|
- VERSION
|
55
55
|
- bin/git-pp
|
56
56
|
- bin/ppgit
|
57
|
+
- doc/ppgit-img1.png
|
58
|
+
- doc/ppgit-img2.png
|
59
|
+
- doc/ppgit-img3.png
|
57
60
|
- lib/ppgit.rb
|
58
61
|
- lib/ppgit/commands.rb
|
59
62
|
- lib/ppgit/git_utils.rb
|