giternal 0.0.2 → 0.1.0

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.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: giternal
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pat Maddox
@@ -9,78 +9,70 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-12-03 00:00:00 -08:00
13
- default_executable:
12
+ date: 2009-10-10 00:00:00 -07:00
13
+ default_executable: giternal
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: hoe
16
+ name: rspec
17
17
  type: :development
18
18
  version_requirement:
19
19
  version_requirements: !ruby/object:Gem::Requirement
20
20
  requirements:
21
21
  - - ">="
22
22
  - !ruby/object:Gem::Version
23
- version: 1.8.1
23
+ version: "0"
24
24
  version:
25
- description: description of gem
26
- email:
27
- - pat.maddox@gmail.com
25
+ - !ruby/object:Gem::Dependency
26
+ name: cucumber
27
+ type: :development
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: "0"
34
+ version:
35
+ description: Giternal provides dead-simple management of external git dependencies. It only stores a small bit of metadata, letting you actively develop in any of the repos. Come deploy time, you can easily freeze freeze all the dependencies to particular versions
36
+ email: pat.maddox@gmail.com
28
37
  executables:
29
38
  - giternal
30
39
  extensions: []
31
40
 
32
41
  extra_rdoc_files:
33
- - History.txt
34
- - License.txt
35
- - Manifest.txt
36
- - README.txt
37
- - website/index.txt
42
+ - LICENSE
43
+ - README.rdoc
38
44
  files:
39
45
  - .emacs-project
40
- - History.txt
41
- - License.txt
42
- - Manifest.txt
43
- - README.txt
46
+ - .gitignore
47
+ - LICENSE
48
+ - README.rdoc
44
49
  - Rakefile
50
+ - VERSION.yml
45
51
  - bin/giternal
46
- - config/hoe.rb
47
- - config/requirements.rb
48
52
  - features/checking_out_externals.feature
49
53
  - features/freeze_externals.feature
50
54
  - features/steps/repository_steps.rb
51
55
  - features/unfreeze_externals.feature
56
+ - giternal.gemspec
52
57
  - giternal_helper.rb
53
58
  - lib/giternal.rb
54
59
  - lib/giternal/app.rb
55
60
  - lib/giternal/repository.rb
56
61
  - lib/giternal/version.rb
57
62
  - lib/giternal/yaml_config.rb
58
- - script/console
59
- - script/destroy
60
- - script/generate
61
- - script/txt2html
62
- - setup.rb
63
63
  - spec/giternal/app_spec.rb
64
64
  - spec/giternal/repository_spec.rb
65
65
  - spec/giternal/yaml_config_spec.rb
66
66
  - spec/spec.opts
67
67
  - spec/spec_helper.rb
68
- - tasks/cucumber.rake
69
- - tasks/deployment.rake
70
- - tasks/environment.rake
71
- - tasks/rspec.rake
72
- - tasks/website.rake
73
- - website/index.html
74
- - website/index.txt
75
- - website/javascripts/rounded_corners_lite.inc.js
76
- - website/stylesheets/screen.css
77
- - website/template.html.erb
68
+ - test_trackers.rb
78
69
  has_rdoc: true
79
- homepage: http://giternal.rubyforge.org
80
- post_install_message: ""
70
+ homepage: http://github.com/pat-maddox/giternal
71
+ licenses: []
72
+
73
+ post_install_message:
81
74
  rdoc_options:
82
- - --main
83
- - README.txt
75
+ - --charset=UTF-8
84
76
  require_paths:
85
77
  - lib
86
78
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -97,12 +89,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
97
89
  version:
98
90
  requirements: []
99
91
 
100
- rubyforge_project: giternal
101
- rubygems_version: 1.3.1
92
+ rubyforge_project:
93
+ rubygems_version: 1.3.5
102
94
  signing_key:
103
- specification_version: 2
104
- summary: description of gem
95
+ specification_version: 3
96
+ summary: Non-sucky git externals
105
97
  test_files:
106
98
  - spec/giternal/app_spec.rb
107
99
  - spec/giternal/repository_spec.rb
108
100
  - spec/giternal/yaml_config_spec.rb
101
+ - spec/spec_helper.rb
data/History.txt DELETED
@@ -1,9 +0,0 @@
1
- == 0.0.2 2008-12-03
2
-
3
- * Uses giternal binary instead of sake
4
- * Freeze and unfreeze externals
5
-
6
-
7
- == 0.0.1 2008-08-02
8
-
9
- * Initial release
data/Manifest.txt DELETED
@@ -1,39 +0,0 @@
1
- .emacs-project
2
- History.txt
3
- License.txt
4
- Manifest.txt
5
- README.txt
6
- Rakefile
7
- bin/giternal
8
- config/hoe.rb
9
- config/requirements.rb
10
- features/checking_out_externals.feature
11
- features/freeze_externals.feature
12
- features/steps/repository_steps.rb
13
- features/unfreeze_externals.feature
14
- giternal_helper.rb
15
- lib/giternal.rb
16
- lib/giternal/app.rb
17
- lib/giternal/repository.rb
18
- lib/giternal/version.rb
19
- lib/giternal/yaml_config.rb
20
- script/console
21
- script/destroy
22
- script/generate
23
- script/txt2html
24
- setup.rb
25
- spec/giternal/app_spec.rb
26
- spec/giternal/repository_spec.rb
27
- spec/giternal/yaml_config_spec.rb
28
- spec/spec.opts
29
- spec/spec_helper.rb
30
- tasks/cucumber.rake
31
- tasks/deployment.rake
32
- tasks/environment.rake
33
- tasks/rspec.rake
34
- tasks/website.rake
35
- website/index.html
36
- website/index.txt
37
- website/javascripts/rounded_corners_lite.inc.js
38
- website/stylesheets/screen.css
39
- website/template.html.erb
data/README.txt DELETED
@@ -1,87 +0,0 @@
1
- = giternal
2
-
3
- == DESCRIPTION:
4
-
5
- Giternal provides dead-simple management of external git
6
- dependencies. It only stores a small bit of metadata, letting you
7
- actively develop in any of the repos. Come deploy time, you can easily
8
- freeze freeze all the dependencies to particular versions
9
-
10
- == SYNOPSIS:
11
-
12
- In your project root, create a file called config/giternal.yml. This
13
- file should contain a list of externals in the following format:
14
-
15
- name:
16
- repo: git://url/to/repo.git
17
- path: local/path/dir
18
-
19
- For example, to add the rspec and rspec-rails plugins to your project,
20
- add the following to config/giternal.yml
21
-
22
- rspec:
23
- repo: git://github.com/dchelimsky/rspec.git
24
- path: vendor/plugins
25
- rspec-rails:
26
- repo: git://github.com/dchelimsky/rspec-rails.git
27
- path: vendor/plugins
28
-
29
- Now in project root, run 'giternal update' to update all of your
30
- git dependencies.
31
-
32
- == FREEZING AND UNFREEZING:
33
-
34
- Sometimes you want to freeze your dependencies, e.g. when deploying.
35
- This lets you create a self-contained deploy tag with all externals at
36
- a known, working version. giternal will tar up the .git history dir
37
- for each external, and then add the external to your git index. You
38
- can review all the changes before committing.
39
-
40
- giternal freeze
41
-
42
- Unfreezing, as you might guess, is the opposite of freezing. It will
43
- remove your external dir from the git index, and extract each
44
- external's .git dir, restoring the history and allowing you to commit
45
- or fetch changes.
46
-
47
- giternal unfreeze
48
-
49
- == NOTES:
50
-
51
- * You're probably using git for your own version control...and if so,
52
- you need to add the giternal'd paths to .gitignore. You don't want
53
- to check them into version control!!
54
-
55
- * Deploying with vlad or capistrano simply requires you to run
56
- 'giternal update' after the code has been checked out, if your
57
- externals are not frozen. If deploying a codebase with frozen
58
- externals, there's nothing to do.
59
-
60
- == INSTALL:
61
-
62
- * sudo gem install giternal
63
-
64
- == LICENSE:
65
-
66
- (The MIT License)
67
-
68
- Copyright (c) 2008 Pat Maddox
69
-
70
- Permission is hereby granted, free of charge, to any person obtaining
71
- a copy of this software and associated documentation files (the
72
- 'Software'), to deal in the Software without restriction, including
73
- without limitation the rights to use, copy, modify, merge, publish,
74
- distribute, sublicense, and/or sell copies of the Software, and to
75
- permit persons to whom the Software is furnished to do so, subject to
76
- the following conditions:
77
-
78
- The above copyright notice and this permission notice shall be
79
- included in all copies or substantial portions of the Software.
80
-
81
- THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
82
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
83
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
84
- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
85
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
86
- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
87
- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/config/hoe.rb DELETED
@@ -1,72 +0,0 @@
1
- require 'giternal/version'
2
-
3
- AUTHOR = 'Pat Maddox' # can also be an array of Authors
4
- EMAIL = "pat.maddox@gmail.com"
5
- DESCRIPTION = "description of gem"
6
- GEM_NAME = 'giternal' # what ppl will type to install your gem
7
- RUBYFORGE_PROJECT = 'giternal' # The unix name for your project
8
- HOMEPATH = "http://#{RUBYFORGE_PROJECT}.rubyforge.org"
9
- DOWNLOAD_PATH = "http://rubyforge.org/projects/#{RUBYFORGE_PROJECT}"
10
- EXTRA_DEPENDENCIES = [
11
- ] # An array of rubygem dependencies [name, version]
12
-
13
- @config_file = "~/.rubyforge/user-config.yml"
14
- @config = nil
15
- RUBYFORGE_USERNAME = "unknown"
16
- def rubyforge_username
17
- unless @config
18
- begin
19
- @config = YAML.load(File.read(File.expand_path(@config_file)))
20
- rescue
21
- puts <<-EOS
22
- ERROR: No rubyforge config file found: #{@config_file}
23
- Run 'rubyforge setup' to prepare your env for access to Rubyforge
24
- - See http://newgem.rubyforge.org/rubyforge.html for more details
25
- EOS
26
- exit
27
- end
28
- end
29
- RUBYFORGE_USERNAME.replace @config["username"]
30
- end
31
-
32
-
33
- REV = nil
34
- # UNCOMMENT IF REQUIRED:
35
- # REV = YAML.load(`svn info`)['Revision']
36
- VERS = Giternal::VERSION::STRING + (REV ? ".#{REV}" : "")
37
- RDOC_OPTS = ['--quiet', '--title', 'giternal documentation',
38
- "--opname", "index.html",
39
- "--line-numbers",
40
- "--main", "README",
41
- "--inline-source"]
42
-
43
- class Hoe
44
- def extra_deps
45
- @extra_deps.reject! { |x| Array(x).first == 'hoe' }
46
- @extra_deps
47
- end
48
- end
49
-
50
- # Generate all the Rake tasks
51
- # Run 'rake -T' to see list of generated tasks (from gem root directory)
52
- $hoe = Hoe.new(GEM_NAME, VERS) do |p|
53
- p.developer(AUTHOR, EMAIL)
54
- p.description = DESCRIPTION
55
- p.summary = DESCRIPTION
56
- p.url = HOMEPATH
57
- p.rubyforge_name = RUBYFORGE_PROJECT if RUBYFORGE_PROJECT
58
- p.test_globs = ["spec/**/*_spec.rb"]
59
- p.clean_globs |= ['**/.*.sw?', '*.gem', '.config', '**/.DS_Store'] #An array of file patterns to delete on clean.
60
-
61
- # == Optional
62
- p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
63
- p.extra_deps = EXTRA_DEPENDENCIES
64
-
65
- #p.spec_extras = {} # A hash of extra values to set in the gemspec.
66
- end
67
-
68
- CHANGES = $hoe.paragraphs_of('History.txt', 0..1).join("\\n\\n")
69
- PATH = (RUBYFORGE_PROJECT == GEM_NAME) ? RUBYFORGE_PROJECT : "#{RUBYFORGE_PROJECT}/#{GEM_NAME}"
70
- $hoe.remote_rdoc_dir = File.join(PATH.gsub(/^#{RUBYFORGE_PROJECT}\/?/,''), 'rdoc')
71
- $hoe.rsync_args = '-av --delete --ignore-errors'
72
- $hoe.spec.post_install_message = File.open(File.dirname(__FILE__) + "/../PostInstall.txt").read rescue ""
@@ -1,15 +0,0 @@
1
- require 'fileutils'
2
- include FileUtils
3
-
4
- require 'rubygems'
5
- %w[rake hoe newgem rubigen].each do |req_gem|
6
- begin
7
- require req_gem
8
- rescue LoadError
9
- puts "This Rakefile requires the '#{req_gem}' RubyGem."
10
- puts "Installation: gem install #{req_gem} -y"
11
- exit
12
- end
13
- end
14
-
15
- $:.unshift(File.join(File.dirname(__FILE__), %w[.. lib]))
data/script/console DELETED
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # File: script/console
3
- irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb'
4
-
5
- libs = " -r irb/completion"
6
- # Perhaps use a console_lib to store any extra methods I may want available in the cosole
7
- # libs << " -r #{File.dirname(__FILE__) + '/../lib/console_lib/console_logger.rb'}"
8
- libs << " -r #{File.dirname(__FILE__) + '/../lib/giternal.rb'}"
9
- puts "Loading giternal gem"
10
- exec "#{irb} #{libs} --simple-prompt"
data/script/destroy DELETED
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env ruby
2
- APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
3
-
4
- begin
5
- require 'rubigen'
6
- rescue LoadError
7
- require 'rubygems'
8
- require 'rubigen'
9
- end
10
- require 'rubigen/scripts/destroy'
11
-
12
- ARGV.shift if ['--help', '-h'].include?(ARGV[0])
13
- RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
14
- RubiGen::Scripts::Destroy.new.run(ARGV)
data/script/generate DELETED
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env ruby
2
- APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
3
-
4
- begin
5
- require 'rubigen'
6
- rescue LoadError
7
- require 'rubygems'
8
- require 'rubigen'
9
- end
10
- require 'rubigen/scripts/generate'
11
-
12
- ARGV.shift if ['--help', '-h'].include?(ARGV[0])
13
- RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
14
- RubiGen::Scripts::Generate.new.run(ARGV)
data/script/txt2html DELETED
@@ -1,82 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- GEM_NAME = 'giternal' # what ppl will type to install your gem
4
- RUBYFORGE_PROJECT = 'giternal'
5
-
6
- require 'rubygems'
7
- begin
8
- require 'newgem'
9
- require 'rubyforge'
10
- rescue LoadError
11
- puts "\n\nGenerating the website requires the newgem RubyGem"
12
- puts "Install: gem install newgem\n\n"
13
- exit(1)
14
- end
15
- require 'redcloth'
16
- require 'syntax/convertors/html'
17
- require 'erb'
18
- require File.dirname(__FILE__) + "/../lib/#{GEM_NAME}/version.rb"
19
-
20
- version = Giternal::VERSION::STRING
21
- download = "http://rubyforge.org/projects/#{RUBYFORGE_PROJECT}"
22
-
23
- def rubyforge_project_id
24
- RubyForge.new.autoconfig["group_ids"][RUBYFORGE_PROJECT]
25
- end
26
-
27
- class Fixnum
28
- def ordinal
29
- # teens
30
- return 'th' if (10..19).include?(self % 100)
31
- # others
32
- case self % 10
33
- when 1: return 'st'
34
- when 2: return 'nd'
35
- when 3: return 'rd'
36
- else return 'th'
37
- end
38
- end
39
- end
40
-
41
- class Time
42
- def pretty
43
- return "#{mday}#{mday.ordinal} #{strftime('%B')} #{year}"
44
- end
45
- end
46
-
47
- def convert_syntax(syntax, source)
48
- return Syntax::Convertors::HTML.for_syntax(syntax).convert(source).gsub(%r!^<pre>|</pre>$!,'')
49
- end
50
-
51
- if ARGV.length >= 1
52
- src, template = ARGV
53
- template ||= File.join(File.dirname(__FILE__), '/../website/template.html.erb')
54
- else
55
- puts("Usage: #{File.split($0).last} source.txt [template.html.erb] > output.html")
56
- exit!
57
- end
58
-
59
- template = ERB.new(File.open(template).read)
60
-
61
- title = nil
62
- body = nil
63
- File.open(src) do |fsrc|
64
- title_text = fsrc.readline
65
- body_text_template = fsrc.read
66
- body_text = ERB.new(body_text_template).result(binding)
67
- syntax_items = []
68
- body_text.gsub!(%r!<(pre|code)[^>]*?syntax=['"]([^'"]+)[^>]*>(.*?)</\1>!m){
69
- ident = syntax_items.length
70
- element, syntax, source = $1, $2, $3
71
- syntax_items << "<#{element} class='syntax'>#{convert_syntax(syntax, source)}</#{element}>"
72
- "syntax-temp-#{ident}"
73
- }
74
- title = RedCloth.new(title_text).to_html.gsub(%r!<.*?>!,'').strip
75
- body = RedCloth.new(body_text).to_html
76
- body.gsub!(%r!(?:<pre><code>)?syntax-temp-(\d+)(?:</code></pre>)?!){ syntax_items[$1.to_i] }
77
- end
78
- stat = File.stat(src)
79
- created = stat.ctime
80
- modified = stat.mtime
81
-
82
- $stdout << template.result(binding)