mavenlink-git-scripts 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,52 @@
1
+ require 'pivotal_git_scripts/git_pair'
2
+
3
+ describe PivotalGitScripts::GitPair::Runner do
4
+ let(:runner) { described_class.new }
5
+
6
+ describe 'set_git_config' do
7
+ it 'calls git config with pairs in the options' do
8
+ runner.should_receive(:system).with('git config user.foo "bar baz"')
9
+
10
+ runner.set_git_config(false, 'foo' => 'bar baz')
11
+ end
12
+
13
+ it 'can unset git config options' do
14
+ runner.should_receive(:system).with('git config --unset user.foo')
15
+
16
+ runner.set_git_config(false, 'foo' => nil)
17
+ end
18
+
19
+ it 'can handle multiple pairs in a hash' do
20
+ runner.should_receive(:system).with('git config --unset user.remove')
21
+ runner.should_receive(:system).with('git config user.ten "10"')
22
+
23
+ runner.set_git_config(false, 'remove' => nil, 'ten' => '10')
24
+ end
25
+
26
+ it 'supports a global option' do
27
+ runner.should_receive(:system).with('git config --global user.foo "bar baz"')
28
+
29
+ runner.set_git_config(true, 'foo' => 'bar baz')
30
+ end
31
+ end
32
+
33
+ describe 'read_author_info_from_config' do
34
+ it 'maps from the initials to the full name' do
35
+ config = {
36
+ 'pairs' => {
37
+ 'aa' => 'An Aardvark',
38
+ 'tt' => 'The Turtle'
39
+ }
40
+ }
41
+
42
+ names = runner.read_author_info_from_config(config, ['aa', 'tt'])
43
+ names.should =~ ['An Aardvark', 'The Turtle']
44
+ end
45
+
46
+ it 'exits when initials cannot be found' do
47
+ expect {
48
+ runner.read_author_info_from_config({"pairs" => {}}, ['aa'])
49
+ }.to raise_error(PivotalGitScripts::GitPair::GitPairException)
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,100 @@
1
+ -----BEGIN PGP PUBLIC KEY BLOCK-----
2
+
3
+ mI0EV3Rw9AEEAOYXwUh1oLgEjnlMHeOTOr6XoQSRK0rxM6Ff5vRM+rQjwvnnm+57
4
+ pPi2QllY/b7LDUWQbjfy2yfdOLUQHgpI5MQM8BLMz/jmcKCzQCZD8lfd+I7Mnuk3
5
+ lS1fAtNRviHpSLXOlE/wLm/QxnsERHIMFLdOdMQQcgcE/iHDjxf01KJbABEBAAG0
6
+ GkFhIEJiIDxhYmJAb3RoZXItaG9zdC5jb20+iLgEEwECACIFAld0cPQCGwMGCwkI
7
+ BwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJENv7kh1U5BbxRLQD/0yPZ7VvhvxJOySA
8
+ 7Ivpu09qdeM5MMClmMjl9aWp6KeMr1qC9v9B5dPQxVqJy3YBi2/MCEuGjeH9PydX
9
+ NItvzzDm+Obok7myt4PHb5RV4FGy5oFTp8qmEGO/kWe4Rupqe8CEXH0+hOa39eLS
10
+ ghY0yeaabPWKxmpG+g7bO0Y7W5kjuI0EV3Rw9AEEANdyt3JSJlWrruXA0tFJvAvm
11
+ uP60Cz5idDWqKpWNT4HDRamIYITdmgJ01o/o8WA8zOLbp7MSAeVMO146OXw8Z9UK
12
+ rLglJOhGc3JGnfOJEnC9W7I9+0v6DGW4sDi702AN2QE4Jm3LeqYlZ8a4rEM0QST7
13
+ Bohxa3Ug1DWg9lTyVROlABEBAAGInwQYAQIACQUCV3Rw9AIbDAAKCRDb+5IdVOQW
14
+ 8VyWA/44JU4d6p0aNo1j1XdUbRgSo/up7uPPGS0D8y0dNwjT/E+ln3QSCKOdtzfo
15
+ G1cLrr2Q8/XgDlYeAGWNPbC6pYREMoKpR5gYrC8/5VxpF4zhIvh5r8nBoIGKM+IZ
16
+ QRMYGBi+1yEKvxxpXOMrku5HbQ8yhHhZB849okyofj9on2c2Bw==
17
+ =q2u7
18
+ -----END PGP PUBLIC KEY BLOCK-----
19
+ -----BEGIN PGP PRIVATE KEY BLOCK-----
20
+
21
+ lQHYBFd0cPQBBADmF8FIdaC4BI55TB3jkzq+l6EEkStK8TOhX+b0TPq0I8L555vu
22
+ e6T4tkJZWP2+yw1FkG438tsn3Ti1EB4KSOTEDPASzM/45nCgs0AmQ/JX3fiOzJ7p
23
+ N5UtXwLTUb4h6Ui1zpRP8C5v0MZ7BERyDBS3TnTEEHIHBP4hw48X9NSiWwARAQAB
24
+ AAP+Lvx03N4gZtOPYJe5lspu+ZKvL+aRJ6mfuHmECSlbHMQcwbmZLxcStjNJ00MH
25
+ 9hky6Zy31TcDp91WAit7ZvBBvqAUTHDHmfoXR06nb6n90XaTi/m9TDylXFL/TNP+
26
+ L36WOSKfKut2iBfQXfchHi2JaQJwzABbQBhPAuSy3erJCfkCAOrMQBPqYUOFQ19u
27
+ psR0QRc9mRdPGsgE/ldlGFpoOQkdOTgZyghjaNYZhkLJI51e12jtvBJV2CHOJ2JG
28
+ rwKcVwcCAPrevUIgK1DypR5vV6UIdSZkmiIrD35lTDG5xsNTAwxTDNwZ+E1qW+xg
29
+ rMPLbknWjh/CUmaHctJynmU6W5ANUQ0B+gJbfTXNUiVVfSEaUOd8P1XTm/DJwQly
30
+ vGVlp71a5gnnPunatnuIGRbVGwQo5LyVfW9/sXYdS7Hg27RZ/j+sPs2Wi7QaQWEg
31
+ QmIgPGFiYkBvdGhlci1ob3N0LmNvbT6IuAQTAQIAIgUCV3Rw9AIbAwYLCQgHAwIG
32
+ FQgCCQoLBBYCAwECHgECF4AACgkQ2/uSHVTkFvFEtAP/TI9ntW+G/Ek7JIDsi+m7
33
+ T2p14zkwwKWYyOX1panop4yvWoL2/0Hl09DFWonLdgGLb8wIS4aN4f0/J1c0i2/P
34
+ MOb45uiTubK3g8dvlFXgUbLmgVOnyqYQY7+RZ7hG6mp7wIRcfT6E5rf14tKCFjTJ
35
+ 5pps9YrGakb6Dts7RjtbmSOdAdgEV3Rw9AEEANdyt3JSJlWrruXA0tFJvAvmuP60
36
+ Cz5idDWqKpWNT4HDRamIYITdmgJ01o/o8WA8zOLbp7MSAeVMO146OXw8Z9UKrLgl
37
+ JOhGc3JGnfOJEnC9W7I9+0v6DGW4sDi702AN2QE4Jm3LeqYlZ8a4rEM0QST7Bohx
38
+ a3Ug1DWg9lTyVROlABEBAAEAA/sFiY9DD7vbsjpTV8dgInlqabDet8xQlPTQd3uT
39
+ G6F4syCHoPFKH1MlnDcl77v0cahnOqbVKJgf4Pu0CkiowF/l9i0vH58O/JQKdbpE
40
+ 8VNajRFHslifr+Bzm/iL7Si0PBRkpIzMYlKFT+Yynic96wQ1MeBMq8yOkEV/9enE
41
+ nhnHaQIA6Cf6p68yG2MJJgVFcd1lwIiII5PXtD22ut7nNhq+DIzrpzNfi4KGU2+F
42
+ VJzMAH2GZe4UECZxJetsNlzmAA8SNwIA7ZNv2zxpr1DBIVYxKVbc16UmROke9vAD
43
+ +hXoo1pvTlkqo8I3574PxIxUbTNiMHZRuiJ2jbSEESZlUYhzxNyLAwIAiyGji4LR
44
+ loPG1xVMBXcJ3pvAnn5WoTGdM+bBoDS1GYA319OsKisr/QdiGNlXlGwZ/wtyEMF/
45
+ NGhjVYSGO4RVQZmhiJ8EGAECAAkFAld0cPQCGwwACgkQ2/uSHVTkFvFclgP+OCVO
46
+ HeqdGjaNY9V3VG0YEqP7qe7jzxktA/MtHTcI0/xPpZ90Egijnbc36BtXC669kPP1
47
+ 4A5WHgBljT2wuqWERDKCqUeYGKwvP+VcaReM4SL4ea/JwaCBijPiGUETGBgYvtch
48
+ Cr8caVzjK5LuR20PMoR4WQfOPaJMqH4/aJ9nNgc=
49
+ =1pXE
50
+ -----END PGP PRIVATE KEY BLOCK-----
51
+ -----BEGIN PGP PUBLIC KEY BLOCK-----
52
+
53
+ mI0EV3RxJgEEANIbuxlsiCqvaUZpt+wyeqi5R4WQn6xuh8gXBZo+bhZhKefA1hr1
54
+ 2ZV4hakBmEs4fk+FJ4BhiRECZ5sXEwOLN4q6uocqt6JXZmDSRFAHlGBlyjl5bP9U
55
+ ZpkzkUXjN5wmTGvei6E304JFHnb/RyR9bAdhXUDnDqgR1u6v+hJn4eMhABEBAAG0
56
+ GkJiIENjIDxiY2NAb3RoZXItaG9zdC5jb20+iLgEEwECACIFAld0cSYCGwMGCwkI
57
+ BwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEEXx+iVKAAznYxgEAMUZN+25tEaOd1wn
58
+ uNIaXCdBGBS4trf34n14OGbky9eh96X3FAKOt0nJ6xZULLbqD1OpWIU8NugstXAw
59
+ XoFTTYHK4Cm0pRtCLKnnrmg6G1uo+wrzlnpCziCzGKu91vCdtk/1Hm80eNUSyXRJ
60
+ O1lkI/0l0GKsRfUYLcpeJa7PrtcFuI0EV3RxJgEEAMGPBWnD5HLZtvmfDfBnnjhl
61
+ yU9ClRDdPNELJ+c5dRZTjkbJYVHaMGO+EH1ErGC1I5S/4vyiBC/MMK2GZzqzxZpF
62
+ Rkj3dnZSQutcEDss2p6oHZ/j9GZhZPD10fSDthym2grbMtRZ9LMpF6jq/lngzDZQ
63
+ B2jKk4KE+LgR4oExWD/vABEBAAGInwQYAQIACQUCV3RxJgIbDAAKCRBF8folSgAM
64
+ 5wb6BADEiYHDrtiuOEFnfAKDm+rTbp2jR8eCIC5Jlx0Klc0cg3jKX+1+ye5Tqq2y
65
+ q47zLAVidc7FPxAJdBeUCNhGwX1RdsJ9T3u7+7N7U6bKnaE4hWFTIQnFMZmCkYY5
66
+ 7Cm1wO7fb7bR63lYUqqo2iuv/LTzMA51zIvden6wcHUtjQJf5Q==
67
+ =mDht
68
+ -----END PGP PUBLIC KEY BLOCK-----
69
+ -----BEGIN PGP PRIVATE KEY BLOCK-----
70
+
71
+ lQHYBFd0cSYBBADSG7sZbIgqr2lGabfsMnqouUeFkJ+sbofIFwWaPm4WYSnnwNYa
72
+ 9dmVeIWpAZhLOH5PhSeAYYkRAmebFxMDizeKurqHKreiV2Zg0kRQB5RgZco5eWz/
73
+ VGaZM5FF4zecJkxr3ouhN9OCRR52/0ckfWwHYV1A5w6oEdbur/oSZ+HjIQARAQAB
74
+ AAP+IHwuoafs5rKfw4YBbJjCa7dX1lANy/576mUa1eYMpdOog79GKz1zQn+zpLWN
75
+ KyYlK1zSRnBuHY3iYHGBHFVoRPgyLzVnP3fmktiMdoDY84hiDICCfYNzSQoPhSC7
76
+ 0LgyI0c9q4thlv6pRzrlZs+Q6qZ/XtZ4VbzLyn7SI5i2D4UCANqosv6BXGPg2CEg
77
+ 4lj4NJj6VwSbJbz7qSBO5PjMGROYTdopI3S9+exg7FNxrY2z7oNERT+8zS4znl38
78
+ K+AOjS0CAPX9NxzvMCz8I4Xlgoe4/qZqAgkd688K+G3YFEta+9tIbw5ymlXEXeop
79
+ tWOn5QcbwRZ82HbJ0zsQvxI6Ef1O7kUCAPHsIHEXCcNAImf5k+USRzbPsyhS7FWv
80
+ F48RV2f412/MG1kn10JyX3KsetcUS1Mg8C/qHFRR69hoRUk25hq8tCiga7QaQmIg
81
+ Q2MgPGJjY0BvdGhlci1ob3N0LmNvbT6IuAQTAQIAIgUCV3RxJgIbAwYLCQgHAwIG
82
+ FQgCCQoLBBYCAwECHgECF4AACgkQRfH6JUoADOdjGAQAxRk37bm0Ro53XCe40hpc
83
+ J0EYFLi2t/fifXg4ZuTL16H3pfcUAo63ScnrFlQstuoPU6lYhTw26Cy1cDBegVNN
84
+ gcrgKbSlG0IsqeeuaDobW6j7CvOWekLOILMYq73W8J22T/UebzR41RLJdEk7WWQj
85
+ /SXQYqxF9Rgtyl4lrs+u1wWdAdgEV3RxJgEEAMGPBWnD5HLZtvmfDfBnnjhlyU9C
86
+ lRDdPNELJ+c5dRZTjkbJYVHaMGO+EH1ErGC1I5S/4vyiBC/MMK2GZzqzxZpFRkj3
87
+ dnZSQutcEDss2p6oHZ/j9GZhZPD10fSDthym2grbMtRZ9LMpF6jq/lngzDZQB2jK
88
+ k4KE+LgR4oExWD/vABEBAAEAA/sHNWmHm3R+C26GPPpGa9qXhkzAikDF+yahSBV9
89
+ l2ItXdMviogES7QFv0/3/gJCCFLQO+eg7jkMscGzQo1QHlMOeHMQB9Nw2qXa4Vzx
90
+ Zs7jVVTVKo1GyCD28/aOhcD9Cip+/31trjqBJ5HwqgZ77kuxv1BDbSRQdXpgk0vH
91
+ dREIPQIAyLjs/0QB0bmR/9+CbEn/dkZDTmQPsBYybTuPJP2l4KJjRdT4CZLJQHeo
92
+ XvH2AURFAR1GYbNbB1ggZ6FhlzSrdQIA9t0Myw1MJUAggQTGmqIL52OVWAMRE/4f
93
+ Rz5EAMzByfOMUJupq+nHyOH1q9iobJe+Ca9Jtpk/DyTBifD4OrHlUwIA9q7xVN9k
94
+ WnAtNQd8wJ7xMvTgYXuW16htskeSXIFCCAdiFV6FCx0AwSJGX6D4yAsrCuIOuito
95
+ J8zuU4yA9lqNGZsqiJ8EGAECAAkFAld0cSYCGwwACgkQRfH6JUoADOcG+gQAxImB
96
+ w67YrjhBZ3wCg5vq026do0fHgiAuSZcdCpXNHIN4yl/tfsnuU6qtsquO8ywFYnXO
97
+ xT8QCXQXlAjYRsF9UXbCfU97u/uze1Omyp2hOIVhUyEJxTGZgpGGOewptcDu32+2
98
+ 0et5WFKqqNorr/y08zAOdcyL3Xp+sHB1LY0CX+U=
99
+ =qdTI
100
+ -----END PGP PRIVATE KEY BLOCK-----
metadata ADDED
@@ -0,0 +1,142 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mavenlink-git-scripts
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.5.0
5
+ platform: ruby
6
+ authors:
7
+ - Pivotal Labs, Mavenlink
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-06-30 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: unindent
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: gem-release
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ description: These scripts are helpers for managing developer workflow when using
84
+ Git repos hosted on GitHub.
85
+ email:
86
+ - gems@pivotallabs.com, dev@mavenlink.com
87
+ executables:
88
+ - git-about
89
+ - git-pair
90
+ - git-pair-commit
91
+ - git-project
92
+ - git-superpull
93
+ extensions: []
94
+ extra_rdoc_files: []
95
+ files:
96
+ - ".gitignore"
97
+ - ".rspec"
98
+ - ".travis.yml"
99
+ - CHANGELOG.md
100
+ - Gemfile
101
+ - MIT.LICENSE
102
+ - README.md
103
+ - Rakefile
104
+ - bin/git-about
105
+ - bin/git-pair
106
+ - bin/git-pair-commit
107
+ - bin/git-project
108
+ - bin/git-superpull
109
+ - lib/pivotal_git_scripts/git_pair.rb
110
+ - lib/pivotal_git_scripts/version.rb
111
+ - pivotal_git_scripts.gemspec
112
+ - spec/cli_spec.rb
113
+ - spec/git_pair_spec.rb
114
+ - spec/gpg-keys.asc
115
+ homepage: http://github.com/jrolfs/git-scripts
116
+ licenses:
117
+ - MIT
118
+ metadata: {}
119
+ post_install_message:
120
+ rdoc_options: []
121
+ require_paths:
122
+ - lib
123
+ required_ruby_version: !ruby/object:Gem::Requirement
124
+ requirements:
125
+ - - ">="
126
+ - !ruby/object:Gem::Version
127
+ version: '0'
128
+ required_rubygems_version: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
133
+ requirements: []
134
+ rubyforge_project: pivotal_git_scripts
135
+ rubygems_version: 2.5.1
136
+ signing_key:
137
+ specification_version: 4
138
+ summary: Developer Git workflow convenience scripts
139
+ test_files:
140
+ - spec/cli_spec.rb
141
+ - spec/git_pair_spec.rb
142
+ - spec/gpg-keys.asc