pullr 0.1.1 → 0.1.2
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 +5 -0
- data/README.md +1 -1
- data/lib/pullr/local_repository.rb +12 -0
- data/lib/pullr/remote_repository.rb +27 -0
- data/lib/pullr/version.rb +1 -1
- data/pullr.gemspec +7 -3
- data/spec/local_repository_spec.rb +16 -0
- data/spec/remote_repository_spec.rb +45 -0
- metadata +7 -3
data/ChangeLog.md
CHANGED
data/README.md
CHANGED
@@ -48,7 +48,7 @@ Pull down a repository:
|
|
48
48
|
|
49
49
|
Pull down a repository into a specific directory:
|
50
50
|
|
51
|
-
remote = Pullr::RemoteRepository.new(:uri => 'git://github.com/datamapper/dm-rails.git
|
51
|
+
remote = Pullr::RemoteRepository.new(:uri => 'git://github.com/datamapper/dm-rails.git')
|
52
52
|
remote.pull('/home/deploy/dm-rails')
|
53
53
|
# => #<Pullr::LocalRepository: ...>
|
54
54
|
|
@@ -46,6 +46,18 @@ module Pullr
|
|
46
46
|
extend SCM.lookup(@scm)
|
47
47
|
end
|
48
48
|
|
49
|
+
#
|
50
|
+
# The name of the repository.
|
51
|
+
#
|
52
|
+
# @return [String]
|
53
|
+
# The local repository name.
|
54
|
+
#
|
55
|
+
# @since 0.1.2
|
56
|
+
#
|
57
|
+
def name
|
58
|
+
File.basename(@path)
|
59
|
+
end
|
60
|
+
|
49
61
|
#
|
50
62
|
# The control directory used by the SCM.
|
51
63
|
#
|
@@ -37,6 +37,33 @@ module Pullr
|
|
37
37
|
extend SCM.lookup(@scm)
|
38
38
|
end
|
39
39
|
|
40
|
+
#
|
41
|
+
# The name of the repository.
|
42
|
+
#
|
43
|
+
# @return [String]
|
44
|
+
# The remote repository name.
|
45
|
+
#
|
46
|
+
# @since 0.1.2
|
47
|
+
#
|
48
|
+
def name
|
49
|
+
dirs = File.expand_path(@uri.path).split(File::SEPARATOR)
|
50
|
+
|
51
|
+
unless dirs.empty?
|
52
|
+
if @scm == :sub_version
|
53
|
+
if dirs[-1] == 'trunk'
|
54
|
+
dirs.pop
|
55
|
+
elsif (dirs[-2] == 'branches' || dirs[-2] == 'tags')
|
56
|
+
dirs.pop
|
57
|
+
dirs.pop
|
58
|
+
end
|
59
|
+
elsif @scm == :git
|
60
|
+
dirs.last.gsub!(/\.git$/,'') if dirs.last =~ /\.git$/
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
return (dirs.last || @uri.host)
|
65
|
+
end
|
66
|
+
|
40
67
|
#
|
41
68
|
# Clones the remote repository into the given destination.
|
42
69
|
#
|
data/lib/pullr/version.rb
CHANGED
data/pullr.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{pullr}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Postmodern"]
|
12
|
-
s.date = %q{2010-03-
|
12
|
+
s.date = %q{2010-03-23}
|
13
13
|
s.default_executable = %q{pullr}
|
14
14
|
s.description = %q{Pullr is a Ruby library for quickly pulling down or updating any Repository. Pullr currently supports Git, Mercurial (Hg), SubVersion (SVN) and Rsync. Pullr provides a command-line utility and an API which can be used by other frameworks.}
|
15
15
|
s.email = %q{postmodern.mod3@gmail.com}
|
@@ -46,7 +46,9 @@ Gem::Specification.new do |s|
|
|
46
46
|
"lib/pullr/scm/sub_version.rb",
|
47
47
|
"lib/pullr/version.rb",
|
48
48
|
"pullr.gemspec",
|
49
|
+
"spec/local_repository_spec.rb",
|
49
50
|
"spec/pullr_spec.rb",
|
51
|
+
"spec/remote_repository_spec.rb",
|
50
52
|
"spec/scm_spec.rb",
|
51
53
|
"spec/spec_helper.rb"
|
52
54
|
]
|
@@ -59,7 +61,9 @@ Gem::Specification.new do |s|
|
|
59
61
|
s.test_files = [
|
60
62
|
"spec/spec_helper.rb",
|
61
63
|
"spec/pullr_spec.rb",
|
62
|
-
"spec/scm_spec.rb"
|
64
|
+
"spec/scm_spec.rb",
|
65
|
+
"spec/local_repository_spec.rb",
|
66
|
+
"spec/remote_repository_spec.rb"
|
63
67
|
]
|
64
68
|
|
65
69
|
if s.respond_to? :specification_version then
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'pullr/local_repository'
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe LocalRepository do
|
6
|
+
before(:all) do
|
7
|
+
@repo = LocalRepository.new(
|
8
|
+
:scm => :rsync,
|
9
|
+
:path => File.join('some','repository')
|
10
|
+
)
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should have a name" do
|
14
|
+
@repo.name.should == 'repository'
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'pullr/remote_repository'
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe RemoteRepository do
|
6
|
+
describe "SubVersion" do
|
7
|
+
it "should have a name for URIs pointing to trunk/" do
|
8
|
+
repo = RemoteRepository.new(
|
9
|
+
:scm => :sub_version,
|
10
|
+
:uri => 'http://www.example.com/var/svn/project/trunk'
|
11
|
+
)
|
12
|
+
|
13
|
+
repo.name.should == 'project'
|
14
|
+
end
|
15
|
+
|
16
|
+
it "should have a name for URIs pointing into branches/" do
|
17
|
+
repo = RemoteRepository.new(
|
18
|
+
:scm => :sub_version,
|
19
|
+
:uri => 'http://www.example.com/var/svn/project/branches/awesome'
|
20
|
+
)
|
21
|
+
|
22
|
+
repo.name.should == 'project'
|
23
|
+
end
|
24
|
+
|
25
|
+
it "should have a name for URIs pointing into tags/" do
|
26
|
+
repo = RemoteRepository.new(
|
27
|
+
:scm => :sub_version,
|
28
|
+
:uri => 'http://www.example.com/var/svn/project/tags/0.1.0'
|
29
|
+
)
|
30
|
+
|
31
|
+
repo.name.should == 'project'
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
describe "Git" do
|
36
|
+
it "should have a name" do
|
37
|
+
repo = RemoteRepository.new(
|
38
|
+
:scm => :git,
|
39
|
+
:uri => 'http://www.example.com/var/git/project.git'
|
40
|
+
)
|
41
|
+
|
42
|
+
repo.name.should == 'project'
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
8
|
+
- 2
|
9
|
+
version: 0.1.2
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Postmodern
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-03-
|
17
|
+
date: 2010-03-23 00:00:00 -07:00
|
18
18
|
default_executable: pullr
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -96,7 +96,9 @@ files:
|
|
96
96
|
- lib/pullr/scm/sub_version.rb
|
97
97
|
- lib/pullr/version.rb
|
98
98
|
- pullr.gemspec
|
99
|
+
- spec/local_repository_spec.rb
|
99
100
|
- spec/pullr_spec.rb
|
101
|
+
- spec/remote_repository_spec.rb
|
100
102
|
- spec/scm_spec.rb
|
101
103
|
- spec/spec_helper.rb
|
102
104
|
has_rdoc: yard
|
@@ -133,3 +135,5 @@ test_files:
|
|
133
135
|
- spec/spec_helper.rb
|
134
136
|
- spec/pullr_spec.rb
|
135
137
|
- spec/scm_spec.rb
|
138
|
+
- spec/local_repository_spec.rb
|
139
|
+
- spec/remote_repository_spec.rb
|