git-hub 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/HISTORY.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 1.0.1 (2010-03-05)
2
+
3
+ * Bugfix: `hub remote -f name`
4
+
1
5
  ## 1.0.0 (2010-03-03)
2
6
 
3
7
  * `hub browse` with no arguments uses the current repo.
data/README.md CHANGED
@@ -8,22 +8,16 @@ It can used on its own or as a `git` wrapper.
8
8
  Normal:
9
9
 
10
10
  $ hub clone rtomayko/tilt
11
- Initialized empty Git repository in /Users/chris/sandbox/tilt/.git/
12
- remote: Counting objects: 307, done.
13
- remote: Compressing objects: 100% (219/219), done.
14
- remote: Total 307 (delta 175), reused 85 (delta 45)
15
- Receiving objects: 100% (307/307), 48.91 KiB, done.
16
- Resolving deltas: 100% (175/175), done.
11
+
12
+ Expands to:
13
+ $ git clone git://github.com/rtomayko/tilt.git
17
14
 
18
15
  Wrapping `git`:
19
16
 
20
17
  $ git clone rack/rack
21
- Initialized empty Git repository in /Users/chris/sandbox/rack/.git/
22
- remote: Counting objects: 4005, done.
23
- remote: Compressing objects: 100% (1738/1738), done.
24
- remote: Total 4005 (delta 2505), reused 3620 (delta 2208)
25
- Receiving objects: 100% (4005/4005), 785.82 KiB | 129 KiB/s, done.
26
- Resolving deltas: 100% (2505/2505), done.
18
+
19
+ Expands to:
20
+ $ git clone git://github.com/rack/rack.git
27
21
 
28
22
  hub requires you have `git` installed and in your `$PATH`. It also
29
23
  requires Ruby 1.8.6+ or Ruby 1.9.1+. No other libraries necessary.
@@ -43,7 +37,7 @@ Assuming `~/bin/` is in your `$PATH`, you're ready to roll:
43
37
 
44
38
  $ hub version
45
39
  git version 1.6.4.2
46
- hub version 0.2.0
40
+ hub version 0.3.2
47
41
 
48
42
  ### Homebrew
49
43
 
data/lib/hub/args.rb CHANGED
@@ -7,7 +7,7 @@ module Hub
7
7
  # instance when instantiated.
8
8
  class Args < Array
9
9
  attr_accessor :executable
10
-
10
+
11
11
  def initialize(*args)
12
12
  super
13
13
  @executable = ENV["GIT"] || "git"
@@ -39,11 +39,29 @@ module Hub
39
39
  def after?
40
40
  !!@after
41
41
  end
42
-
42
+
43
43
  # Array of `executable` followed by all args suitable as arguments
44
44
  # for `exec` or `system` calls.
45
45
  def to_exec
46
46
  [executable].concat self
47
47
  end
48
+
49
+ # All the words (as opposed to flags) contained in this argument
50
+ # list.
51
+ #
52
+ # args = Args.new([ 'remote', 'add', '-f', 'tekkub' ])
53
+ # args.words == [ 'remote', 'add', 'tekkub' ]
54
+ def words
55
+ reject { |arg| arg =~ /^-/ }
56
+ end
57
+
58
+ # All the flags (as opposed to words) contained in this argument
59
+ # list.
60
+ #
61
+ # args = Args.new([ 'remote', 'add', '-f', 'tekkub' ])
62
+ # args.flags == [ '-f' ]
63
+ def flags
64
+ self - words
65
+ end
48
66
  end
49
67
  end
data/lib/hub/commands.rb CHANGED
@@ -117,7 +117,7 @@ module Hub
117
117
  # user/repo
118
118
  user, repo = $1, $2
119
119
 
120
- if args[-2] == args[1]
120
+ if args.words[-2] == args.words[1]
121
121
  # rtomayko/tilt => rtomayko
122
122
  args[-1] = user
123
123
  else
@@ -290,10 +290,13 @@ module Hub
290
290
  # $ hub help
291
291
  # (print improved help text)
292
292
  def help(args)
293
- if args[1] == 'hub'
293
+ command = args.grep(/^[^-]/)[1]
294
+
295
+ if command == 'hub'
294
296
  puts hub_manpage
295
297
  exit
296
- elsif args.size == 1
298
+ elsif command.nil?
299
+ ENV['GIT_PAGER'] = '' if args.grep(/^-{1,2}p/).empty? # Use `cat`.
297
300
  puts improved_help_text
298
301
  exit
299
302
  end
data/lib/hub/runner.rb CHANGED
@@ -11,7 +11,7 @@ module Hub
11
11
  @args = Args.new(args)
12
12
 
13
13
  # Hack to emulate git-style
14
- @args[0] = 'help' if @args.empty?
14
+ @args.unshift 'help' if @args.grep(/^[^-]|version/).empty?
15
15
 
16
16
  if Commands.respond_to?(@args[0])
17
17
  Commands.send(@args[0], @args)
data/lib/hub/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Hub
2
- Version = '1.0.0'
2
+ Version = '1.0.1'
3
3
  end
data/test/helper.rb CHANGED
@@ -48,7 +48,7 @@ class Test::Unit::TestCase
48
48
  # Should in turn execute this:
49
49
  # $ git clone git://github.com/git/hub.git
50
50
  def assert_command(input, expected)
51
- assert_equal expected, Hub(input).command
51
+ assert_equal expected, Hub(input).command, "$ git #{input}"
52
52
  end
53
53
 
54
54
  # Asserts that `hub` will show a specific alias command for a
data/test/hub_test.rb CHANGED
@@ -123,6 +123,12 @@ class HubTest < Test::Unit::TestCase
123
123
  assert_command input, command
124
124
  end
125
125
 
126
+ def test_named_public_remote_f
127
+ input = "remote add -f origin rtomayko"
128
+ command = "git remote add -f origin git://github.com/rtomayko/hub.git"
129
+ assert_command input, command
130
+ end
131
+
126
132
  def test_private_remote_with_repo
127
133
  input = "remote add -p rtomayko/tilt"
128
134
  command = "git remote add rtomayko git@github.com:rtomayko/tilt.git"
@@ -135,6 +141,12 @@ class HubTest < Test::Unit::TestCase
135
141
  assert_command input, command
136
142
  end
137
143
 
144
+ def test_public_remote_f_with_repo
145
+ input = "remote add -f rtomayko/tilt"
146
+ command = "git remote add -f rtomayko git://github.com/rtomayko/tilt.git"
147
+ assert_command input, command
148
+ end
149
+
138
150
  def test_named_private_remote_with_repo
139
151
  input = "remote add -p origin rtomayko/tilt"
140
152
  command = "git remote add origin git@github.com:rtomayko/tilt.git"
@@ -169,7 +181,7 @@ class HubTest < Test::Unit::TestCase
169
181
 
170
182
  def test_version
171
183
  out = hub('--version')
172
- assert_includes "git version 1.6", out
184
+ assert_includes "git version", out
173
185
  assert_includes "hub version #{Hub::Version}", out
174
186
  end
175
187
 
@@ -181,6 +193,10 @@ class HubTest < Test::Unit::TestCase
181
193
  assert_equal Hub::Commands.improved_help_text, hub("")
182
194
  end
183
195
 
196
+ def test_help_with_pager
197
+ assert_equal Hub::Commands.improved_help_text, hub("-p")
198
+ end
199
+
184
200
  def test_help_hub
185
201
  help_manpage = hub("help hub")
186
202
  assert_includes "git + hub = github", help_manpage
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: git-hub
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Wanstrath
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-03-03 00:00:00 -08:00
12
+ date: 2010-03-05 00:00:00 -08:00
13
13
  default_executable: hub
14
14
  dependencies: []
15
15