gitmaker 0.0.4
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/.document +5 -0
- data/.gitignore +3 -0
- data/Gemfile +4 -0
- data/Rakefile +2 -0
- data/bin/gitmaker +8 -0
- data/gitmaker.gemspec +22 -0
- data/lib/gitmaker.rb +51 -0
- data/lib/gitmaker/version.rb +3 -0
- metadata +75 -0
data/.document
ADDED
data/.gitignore
ADDED
data/Gemfile
ADDED
data/Rakefile
ADDED
data/bin/gitmaker
ADDED
data/gitmaker.gemspec
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "gitmaker/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "gitmaker"
|
7
|
+
s.version = Gitmaker::VERSION
|
8
|
+
s.platform = Gem::Platform::RUBY
|
9
|
+
s.authors = ["Julius F"]
|
10
|
+
s.email = ["baldrailers@gmail.com"]
|
11
|
+
s.homepage = ""
|
12
|
+
s.summary = %q{A simple tool that helps creating git repositories}
|
13
|
+
s.description = %q{Build your git repository}
|
14
|
+
|
15
|
+
s.rubyforge_project = "gitmaker"
|
16
|
+
|
17
|
+
s.files = `git ls-files`.split("\n")
|
18
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
19
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
20
|
+
s.require_paths = ["lib"]
|
21
|
+
|
22
|
+
end
|
data/lib/gitmaker.rb
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
require "yaml"
|
2
|
+
require "net/ssh"
|
3
|
+
require "find"
|
4
|
+
require "fileutils"
|
5
|
+
|
6
|
+
module Gitmaker
|
7
|
+
class Gitmaker
|
8
|
+
def initialize(repository)
|
9
|
+
@repository = repository
|
10
|
+
end
|
11
|
+
|
12
|
+
def read_config
|
13
|
+
config = YAML.load_file("#{ENV['HOME']}/.gitmaker")
|
14
|
+
@server_ip = config['config']['server_ip']
|
15
|
+
@git_user = config['config']['git_user']
|
16
|
+
@git_pass = config['config']['git_pass']
|
17
|
+
@git_base_repo = config['config']['git_base_repo']
|
18
|
+
end
|
19
|
+
|
20
|
+
def create_git_repo
|
21
|
+
Net::SSH.start(@server_ip, @git_user, :password => @git_pass) do |ssh|
|
22
|
+
puts "Adding repository"
|
23
|
+
result1 = ssh.exec!("mkdir -p #{@git_base_repo}/#{@repository}.git ")
|
24
|
+
puts result1
|
25
|
+
result2 = ssh.exec!("cd #{@git_base_repo}/#{@repository}.git && /usr/bin/git --bare init")
|
26
|
+
puts result2
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def migrate_repo
|
31
|
+
system "cat .gitignore > /tmp/temp_gitignore"
|
32
|
+
clean_git
|
33
|
+
system "mv /tmp/temp_gitignore .gitignore"
|
34
|
+
system "git init"
|
35
|
+
system "git remote add origin #{@git_user}@#{@server_ip}:#{@git_base_repo}/#{@repository}.git"
|
36
|
+
system "git add *"
|
37
|
+
system "git add .gitignore"
|
38
|
+
system "git commit -a -m 'Base application'"
|
39
|
+
system "git push origin master:refs/heads/master"
|
40
|
+
end
|
41
|
+
|
42
|
+
def clean_git
|
43
|
+
Find.find('./') do |path|
|
44
|
+
if File.basename(path) == '.git'
|
45
|
+
FileUtils.remove_dir(path, true)
|
46
|
+
Find.prune
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
metadata
ADDED
@@ -0,0 +1,75 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: gitmaker
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 23
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 0
|
9
|
+
- 4
|
10
|
+
version: 0.0.4
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Julius F
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2010-12-11 00:00:00 +08:00
|
19
|
+
default_executable:
|
20
|
+
dependencies: []
|
21
|
+
|
22
|
+
description: Build your git repository
|
23
|
+
email:
|
24
|
+
- baldrailers@gmail.com
|
25
|
+
executables:
|
26
|
+
- gitmaker
|
27
|
+
extensions: []
|
28
|
+
|
29
|
+
extra_rdoc_files: []
|
30
|
+
|
31
|
+
files:
|
32
|
+
- .document
|
33
|
+
- .gitignore
|
34
|
+
- Gemfile
|
35
|
+
- Rakefile
|
36
|
+
- bin/gitmaker
|
37
|
+
- gitmaker.gemspec
|
38
|
+
- lib/gitmaker.rb
|
39
|
+
- lib/gitmaker/version.rb
|
40
|
+
has_rdoc: true
|
41
|
+
homepage: ""
|
42
|
+
licenses: []
|
43
|
+
|
44
|
+
post_install_message:
|
45
|
+
rdoc_options: []
|
46
|
+
|
47
|
+
require_paths:
|
48
|
+
- lib
|
49
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
hash: 3
|
55
|
+
segments:
|
56
|
+
- 0
|
57
|
+
version: "0"
|
58
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
59
|
+
none: false
|
60
|
+
requirements:
|
61
|
+
- - ">="
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
hash: 3
|
64
|
+
segments:
|
65
|
+
- 0
|
66
|
+
version: "0"
|
67
|
+
requirements: []
|
68
|
+
|
69
|
+
rubyforge_project: gitmaker
|
70
|
+
rubygems_version: 1.3.7
|
71
|
+
signing_key:
|
72
|
+
specification_version: 3
|
73
|
+
summary: A simple tool that helps creating git repositories
|
74
|
+
test_files: []
|
75
|
+
|