ext 0.1.6 → 0.1.7
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 +1 -0
- data/README +21 -18
- data/lib/externals/ext.rb +1 -1
- data/lib/externals/scms/git_project.rb +1 -1
- data/test/test_git_project_extract_name.rb +18 -0
- metadata +2 -1
data/CHANGELOG
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
1/3/2010 Version 1.6 released
|
2
2
|
- Fixes a problem that can occur if ext is symlinked (thanks to Olmo Maldonado)
|
3
3
|
- Added --version command line option
|
4
|
+
- Fixes a problem with parsing project names from git repository URLs
|
4
5
|
|
5
6
|
12/20/2009
|
6
7
|
- Fix for a bug when a subproject frozen to a revision is missing during
|
data/README
CHANGED
@@ -1,22 +1,22 @@
|
|
1
1
|
Externals is a project that allows you to use the workflow normally made
|
2
2
|
possible by svn:externals in an SCM independent manner.
|
3
3
|
|
4
|
-
Please report bugs to either http://rubyforge.org/projects/ext or
|
4
|
+
Please report bugs to either http://rubyforge.org/projects/ext or
|
5
5
|
http://ext.lighthouseapp.com
|
6
6
|
|
7
7
|
I was inspired to create this project because I had several projects that had
|
8
|
-
a mix of plugins managed by git and by svn. Git's submodule feature is
|
9
|
-
not exactly like svn:externals. Basically, I don't like how you have to manually
|
10
|
-
checkout a branch, and I don't like git status not propagating through the
|
8
|
+
a mix of plugins managed by git and by svn. Git's submodule feature is
|
9
|
+
not exactly like svn:externals. Basically, I don't like how you have to manually
|
10
|
+
checkout a branch, and I don't like git status not propagating through the
|
11
11
|
submodules. Also, the branch tip doesn't automatically move with git-submodule.
|
12
|
-
Subversion always checks out the branch tip for subprojects when performing a
|
12
|
+
Subversion always checks out the branch tip for subprojects when performing a
|
13
13
|
checkout or update.
|
14
14
|
|
15
|
-
Externals is designed such that adding support for a new SCM, or new project
|
15
|
+
Externals is designed such that adding support for a new SCM, or new project
|
16
16
|
types is easy.
|
17
17
|
|
18
|
-
The externals executable is called ext. Commands come in a long form and a
|
19
|
-
short form. The longer form applies the action to the main project. The short
|
18
|
+
The externals executable is called ext. Commands come in a long form and a
|
19
|
+
short form. The longer form applies the action to the main project. The short
|
20
20
|
forms apply the action to all sub projects.
|
21
21
|
|
22
22
|
The commands and usage are as follows (from 'ext help'):
|
@@ -31,18 +31,19 @@ ext [OPTIONS] <command> [repository] [-b <branch>] [path]
|
|
31
31
|
-b, --branch BRANCH The branch you want the subproject to checkout when doing 'ext install'
|
32
32
|
-f, --force_removal When doing an uninstall of a subproject, remove it's files and subfolders, too.
|
33
33
|
-w, --workdir DIR The working directory to execute commands from. Use this if for some reason you
|
34
|
-
|
35
|
-
|
34
|
+
cannot execute ext from the main project's directory (or if it's just inconvenient,
|
35
|
+
such as in a script or in a Capistrano task)
|
36
36
|
--help does the same as 'ext help' If you use this with a command
|
37
|
-
|
38
|
-
|
37
|
+
it will ignore the command and run help instead.
|
38
|
+
--version Displays the version number of externals and then exits.
|
39
|
+
Same as 'ext version'
|
39
40
|
|
40
41
|
|
41
42
|
Commands that apply to the main project or the .externals file:
|
42
43
|
freeze, help, init, install, touch_emptydirs, uninstall, update_ignore, upgrade_externals_file
|
43
44
|
|
44
45
|
freeze Usage: ext freeze project [REVISION]
|
45
|
-
|
46
|
+
|
46
47
|
Locks a subproject into a specific revision/branch. If no
|
47
48
|
revision is supplied, the current revision/branch of the
|
48
49
|
project will be used. You can specify the project by name
|
@@ -84,28 +85,30 @@ update_ignore Adds all paths to subprojects that are
|
|
84
85
|
upgrade_externals_fileConverts the old format that stored
|
85
86
|
as [main][svn][git] to [<path1>][<path2>]...
|
86
87
|
|
88
|
+
version Displays the version number of externals and exits.
|
89
|
+
|
87
90
|
|
88
91
|
|
89
92
|
Commands that apply to the main project and all subprojects:
|
90
93
|
checkout, export, status, update
|
91
94
|
|
92
95
|
checkout Usage: ext checkout <repository>
|
93
|
-
|
96
|
+
|
94
97
|
Checks out <repository>, and checks out any subprojects
|
95
98
|
registered in <repository>'s .externals file.
|
96
99
|
|
97
100
|
export Usage: ext export <repository>
|
98
|
-
|
101
|
+
|
99
102
|
Like checkout except this command fetches as little
|
100
103
|
history as possible.
|
101
104
|
|
102
105
|
status Usage: ext status
|
103
|
-
|
106
|
+
|
104
107
|
Prints out the status of the main project, followed by
|
105
108
|
the status of each subproject.
|
106
109
|
|
107
110
|
update Usage: ext update
|
108
|
-
|
111
|
+
|
109
112
|
Brings the main project, and all subprojects, up to the
|
110
113
|
latest version.
|
111
114
|
|
@@ -124,7 +127,7 @@ st Like status, but skips the main project.
|
|
124
127
|
up Like update, but skips the main project.
|
125
128
|
|
126
129
|
The externals project is copyright 2008 by Miles Georgi, nopugs.com, azimux.com
|
127
|
-
and is released under the MIT license.
|
130
|
+
and is released under the MIT license.
|
128
131
|
|
129
132
|
The license is available in the same directory as this README
|
130
133
|
file and is named MIT_LICENSE.txt
|
data/lib/externals/ext.rb
CHANGED
@@ -10,7 +10,7 @@ module Externals
|
|
10
10
|
#exit status
|
11
11
|
OBSOLETE_EXTERNALS_FILE = 15
|
12
12
|
|
13
|
-
VERSION = '0.1.
|
13
|
+
VERSION = '0.1.7'
|
14
14
|
PROJECT_TYPES_DIRECTORY = File.join(File.dirname(__FILE__), '..', 'externals','project_types')
|
15
15
|
|
16
16
|
# Full commands operate on the main project as well as the externals
|
@@ -0,0 +1,18 @@
|
|
1
|
+
$:.unshift File.join(File.dirname(__FILE__), '..', 'lib') if $0 == __FILE__
|
2
|
+
require 'externals/test_case'
|
3
|
+
require 'externals/ext'
|
4
|
+
require 'stringio'
|
5
|
+
|
6
|
+
module Externals
|
7
|
+
class TestGitProjectExtractName < TestCase
|
8
|
+
include ExtTestCase
|
9
|
+
|
10
|
+
def test_extract_name
|
11
|
+
project = Externals::GitProject.new({})
|
12
|
+
assert_equal "test", project.extract_name("git://domain.com/test.git")
|
13
|
+
assert_equal "test", project.extract_name("git@domain.com:test.git")
|
14
|
+
assert_equal "test", project.extract_name("test.git")
|
15
|
+
assert_equal "test", project.extract_name("test")
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ext
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Miles Georgi
|
@@ -98,6 +98,7 @@ summary: Provides an SCM agnostic way to manage subprojects with a workflow simi
|
|
98
98
|
test_files:
|
99
99
|
- test/test_rails_detection.rb
|
100
100
|
- test/test_string_extensions.rb
|
101
|
+
- test/test_git_project_extract_name.rb
|
101
102
|
- test/test_version.rb
|
102
103
|
- test/test_init_git.rb
|
103
104
|
- test/test_upgrade_externals_file.rb
|