git-process 1.0.2 → 1.0.3

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.md CHANGED
@@ -1,4 +1,20 @@
1
- # CHANGELOG - 1.0.1 #
1
+ # CHANGELOG - 1.0.3 #
2
+
3
+ ### Since 1.0.2 ###
4
+
5
+ * Removes the last of the gem dependencies that require native code. This makes it fully compatible
6
+ with systems like Windows.
7
+ * Adds an option to explicitly set the remote server name.
8
+
9
+ ### Since 1.0.1 ###
10
+
11
+ * Changes to dependencies to allow this to work on both Ruby 1.8 and 1.9
12
+
13
+ ### Since 0.9.7 ###
14
+
15
+ * Adds --keep option to git-to-master
16
+ * Fixes problem trying to add/remove an empty list of files
17
+ * Documentation updates
2
18
 
3
19
  ### Since 0.9.7 ###
4
20
 
@@ -17,4 +33,4 @@
17
33
  * Adds support for spaces and renames in Status
18
34
  * No longer complains if it can't find _parking_
19
35
  * Prompts to remove the local version of the integration branch
20
- * Adds help for handling changed files
36
+ * Adds help for handling changed files
data/Gemfile CHANGED
@@ -5,7 +5,6 @@ group :default do
5
5
  gem "json", "~> 1.7.3"
6
6
  gem "trollop", "~> 1.16.2" # CLI options parser
7
7
  gem "highline", "~> 1.6.12" # user CLI interaction
8
- gem "ruby-termios", "~> 0.9.4" # used by highline to make things a little nicer
9
8
  end
10
9
 
11
10
  group :development do
data/Gemfile.lock CHANGED
@@ -29,7 +29,6 @@ GEM
29
29
  rspec-expectations (2.10.0)
30
30
  diff-lcs (~> 1.1.3)
31
31
  rspec-mocks (2.10.1)
32
- ruby-termios (0.9.6)
33
32
  trollop (1.16.2)
34
33
  webmock (1.8.7)
35
34
  addressable (>= 2.2.7)
@@ -46,7 +45,6 @@ DEPENDENCIES
46
45
  rake (~> 0.9.2)
47
46
  redcarpet (~> 2.1.1)
48
47
  rspec (~> 2.10.0)
49
- ruby-termios (~> 0.9.4)
50
48
  trollop (~> 1.16.2)
51
49
  webmock (~> 1.8.7)
52
50
  yard (~> 0.8.2.1)
data/README.md CHANGED
@@ -9,10 +9,23 @@ See the F.A.Q. for a much more complete explanation for the thoughts and assumpt
9
9
 
10
10
  # Installation #
11
11
 
12
+ ## Unix-based OS (OSX, Linux, etc.) Installation ##
13
+
12
14
  $ sudo gem install git-process
13
15
 
14
16
  Some older operating systems (such as OSX 10.6) are using an old version of RubyGems, which can cause installation problems. Do "`sudo gem update --system`" to fix.
15
17
 
18
+ ## Windows Installation ##
19
+
20
+ 1. Run http://cygwin.com/setup.exe
21
+ 2. Go through the various prompts and then select to install "git", "curl", "ruby" and "openssh" (along with their dependencies)
22
+ 3. Open a Cygwin terminal
23
+ 4. `curl -L -O http://production.cf.rubygems.org/rubygems/rubygems-1.8.24.tgz`
24
+ 5. `tar xfz rubygems-1.8.24.tgz`
25
+ 6. `cd rubygems-1.8.24`
26
+ 7. `ruby setup.rb`
27
+ 8. `gem install git-process`
28
+
16
29
 
17
30
  # Overview #
18
31
 
@@ -90,6 +103,7 @@ $ git to-master # 6
90
103
 
91
104
  * `gitProcess.integrationBranch` : The name of the integration branch. Defaults to `master`, but can be set to `develop` or other.
92
105
  * `gitProcess.keepLocalIntegrationBranch` : Controls asking about removing the local integration branch. Defaults to 'false' (i.e., do not assume the branch should be there).
106
+ * `gitProcess.remoteName` : Explicitly sets the remote server name to use.
93
107
 
94
108
 
95
109
  # Assumptions #
@@ -109,6 +123,7 @@ $ git to-master # 6
109
123
  * The first time you use a GitHub feature (e.g., "`git pull-request`"), this will ask for your username and password. It does not store them, but instead uses them to get an OAuth2 token, which is stored in "`git config gitProcess.github.authToken`".
110
124
  * If you want to use a different integration branch other than "`master`", set the "`gitProcess.integrationBranch`" configuration value. (e.g., "`git config gitProcess.integrationBranch my-integ-branch`")
111
125
  * This tries to respond "intelligently" to the use of 'rerere'.
126
+ * By default the first server name reported by `git remote` is used as the server/remote name. Since most projects only have a single remote (i.e., "origin") this works most of the time. But if you have multiple remotes and want to explicitly set it, use the `gitProcess.remoteName` configuration option.
112
127
 
113
128
 
114
129
  # F.A.Q. #
data/bin/git-sync CHANGED
@@ -28,6 +28,11 @@ If there is a problem, such as a merge conflict, this tries to \
28
28
  resolve it automatically. If it can not do so in an automated way, \
29
29
  if tells you the steps involved for doing so manually.
30
30
 
31
+ By default the first server name reported by 'git remote' is used as the server/remote name. \
32
+ Since most projects only have a single remote (i.e., "origin") this works most of the time. \
33
+ But if you have multiple remotes and want to explicitly set it, use the \
34
+ 'gitProcess.remoteName' configuration option.
35
+
31
36
  EXAMPLE
32
37
 
33
38
  Assuming that the current branch is called "interesting_changes" and the integration \
data/bin/git-to-master CHANGED
@@ -38,6 +38,11 @@ everything is done on a feature branch. In addition to being a much \
38
38
  safer and more flexible way of working in general, it is also a \
39
39
  requirement to take advantage of Pull Request functionality.
40
40
 
41
+ By default the first server name reported by 'git remote' is used as the server/remote name. \
42
+ Since most projects only have a single remote (i.e., "origin") this works most of the time. \
43
+ But if you have multiple remotes and want to explicitly set it, use the \
44
+ 'gitProcess.remoteName' configuration option.
45
+
41
46
  EXAMPLE
42
47
 
43
48
  Assuming that the current branch is called "interesting_changes" and the integration \
data/git-process.gemspec CHANGED
@@ -12,7 +12,6 @@ gemspec = Gem::Specification.new do |gem|
12
12
  gem.add_dependency "json", "~> 1.7.3"
13
13
  gem.add_dependency "trollop", "~> 1.16.2" # CLI options parser
14
14
  gem.add_dependency "highline", "~> 1.6.12" # user CLI interaction
15
- gem.add_dependency "ruby-termios", "~> 0.9.4" # used by highline to make things a little nicer
16
15
 
17
16
  gem.files = `git ls-files`.split($\).delete_if{|f| f =~ /^\./}
18
17
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
@@ -321,10 +321,13 @@ module GitProc
321
321
 
322
322
  def remote_name
323
323
  unless @remote_name
324
- remote_str = command(:remote)
325
- unless remote_str == nil or remote_str.empty?
326
- @remote_name = remote_str.split(/\n/)[0]
327
- raise "!@remote_name.is_a? String" unless @remote_name.is_a? String
324
+ @remote_name = config('gitProcess.remoteName')
325
+ if @remote_name.nil? or @remote_name.empty?
326
+ remote_str = command(:remote)
327
+ unless remote_str == nil or remote_str.empty?
328
+ @remote_name = remote_str.split(/\n/)[0]
329
+ raise "!@remote_name.is_a? String" unless @remote_name.is_a? String
330
+ end
328
331
  end
329
332
  logger.debug {"Using remote name of '#{@remote_name}'"}
330
333
  end
@@ -14,7 +14,7 @@ module GitProc
14
14
  module Version
15
15
  MAJOR = 1
16
16
  MINOR = 0
17
- PATCH = 2
17
+ PATCH = 3
18
18
  BUILD = nil
19
19
 
20
20
  STRING = [MAJOR, MINOR, PATCH, BUILD].compact.join('.')
data/spec/git_lib_spec.rb CHANGED
@@ -17,11 +17,11 @@ describe GitProc::GitLib do
17
17
 
18
18
  @workdir = workdir
19
19
  if workdir
20
- unless File.directory?(File.join(workdir, '.git'))
20
+ if File.directory?(File.join(workdir, '.git'))
21
+ logger.debug { "Opening existing repository at #{workdir}" }
22
+ else
21
23
  logger.info { "Initializing new repository at #{workdir}" }
22
24
  command(:init)
23
- else
24
- logger.debug { "Opening existing repository at #{workdir}" }
25
25
  end
26
26
  end
27
27
  end
@@ -176,6 +176,17 @@ describe GitProc::GitLib do
176
176
  end
177
177
  end
178
178
 
179
+
180
+ it "should work with an overridden remote name" do
181
+ change_file_and_commit('a', '')
182
+
183
+ clone('master', 'a_remote') do |gl|
184
+ gl.config('gitProcess.remoteName', 'something_else')
185
+
186
+ gl.remote_name.should == 'something_else'
187
+ end
188
+ end
189
+
179
190
  end
180
191
 
181
192
  end
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: git-process
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
4
+ hash: 17
5
+ prerelease:
5
6
  segments:
6
7
  - 1
7
8
  - 0
8
- - 2
9
- version: 1.0.2
9
+ - 3
10
+ version: 1.0.3
10
11
  platform: ruby
11
12
  authors:
12
13
  - Jim Moore
@@ -14,79 +15,72 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2012-08-27 00:00:00 -06:00
18
- default_executable:
18
+ date: 2012-09-07 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
- type: :runtime
22
21
  version_requirements: &id001 !ruby/object:Gem::Requirement
22
+ none: false
23
23
  requirements:
24
24
  - - ~>
25
25
  - !ruby/object:Gem::Version
26
+ hash: 7
26
27
  segments:
27
28
  - 1
28
29
  - 4
29
30
  - 0
30
31
  version: 1.4.0
31
- name: octokit
32
- requirement: *id001
33
32
  prerelease: false
34
- - !ruby/object:Gem::Dependency
33
+ requirement: *id001
35
34
  type: :runtime
35
+ name: octokit
36
+ - !ruby/object:Gem::Dependency
36
37
  version_requirements: &id002 !ruby/object:Gem::Requirement
38
+ none: false
37
39
  requirements:
38
40
  - - ~>
39
41
  - !ruby/object:Gem::Version
42
+ hash: 13
40
43
  segments:
41
44
  - 1
42
45
  - 7
43
46
  - 3
44
47
  version: 1.7.3
45
- name: json
46
- requirement: *id002
47
48
  prerelease: false
48
- - !ruby/object:Gem::Dependency
49
+ requirement: *id002
49
50
  type: :runtime
51
+ name: json
52
+ - !ruby/object:Gem::Dependency
50
53
  version_requirements: &id003 !ruby/object:Gem::Requirement
54
+ none: false
51
55
  requirements:
52
56
  - - ~>
53
57
  - !ruby/object:Gem::Version
58
+ hash: 83
54
59
  segments:
55
60
  - 1
56
61
  - 16
57
62
  - 2
58
63
  version: 1.16.2
59
- name: trollop
60
- requirement: *id003
61
64
  prerelease: false
62
- - !ruby/object:Gem::Dependency
65
+ requirement: *id003
63
66
  type: :runtime
67
+ name: trollop
68
+ - !ruby/object:Gem::Dependency
64
69
  version_requirements: &id004 !ruby/object:Gem::Requirement
70
+ none: false
65
71
  requirements:
66
72
  - - ~>
67
73
  - !ruby/object:Gem::Version
74
+ hash: 23
68
75
  segments:
69
76
  - 1
70
77
  - 6
71
78
  - 12
72
79
  version: 1.6.12
73
- name: highline
74
- requirement: *id004
75
80
  prerelease: false
76
- - !ruby/object:Gem::Dependency
81
+ requirement: *id004
77
82
  type: :runtime
78
- version_requirements: &id005 !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ~>
81
- - !ruby/object:Gem::Version
82
- segments:
83
- - 0
84
- - 9
85
- - 4
86
- version: 0.9.4
87
- name: ruby-termios
88
- requirement: *id005
89
- prerelease: false
83
+ name: highline
90
84
  description: A set of scripts to make working with git easier and more consistent
91
85
  email:
92
86
  - moore.jim@gmail.com
@@ -146,7 +140,6 @@ files:
146
140
  - spec/rebase_to_master_spec.rb
147
141
  - spec/spec_helper.rb
148
142
  - spec/sync_spec.rb
149
- has_rdoc: true
150
143
  homepage: http://jdigger.github.com/git-process/
151
144
  licenses:
152
145
  - ASL2
@@ -156,25 +149,29 @@ rdoc_options: []
156
149
  require_paths:
157
150
  - lib
158
151
  required_ruby_version: !ruby/object:Gem::Requirement
152
+ none: false
159
153
  requirements:
160
154
  - - ">="
161
155
  - !ruby/object:Gem::Version
156
+ hash: 57
162
157
  segments:
163
158
  - 1
164
159
  - 8
165
160
  - 7
166
161
  version: 1.8.7
167
162
  required_rubygems_version: !ruby/object:Gem::Requirement
163
+ none: false
168
164
  requirements:
169
165
  - - ">="
170
166
  - !ruby/object:Gem::Version
167
+ hash: 3
171
168
  segments:
172
169
  - 0
173
170
  version: "0"
174
171
  requirements: []
175
172
 
176
173
  rubyforge_project:
177
- rubygems_version: 1.3.6
174
+ rubygems_version: 1.8.15
178
175
  signing_key:
179
176
  specification_version: 3
180
177
  summary: A set of scripts for a good git process
@@ -192,3 +189,4 @@ test_files:
192
189
  - spec/rebase_to_master_spec.rb
193
190
  - spec/spec_helper.rb
194
191
  - spec/sync_spec.rb
192
+ has_rdoc: