git-process 1.0.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
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: