gitjour 2.5.0 → 5.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/gitjour +13 -3
- data/config/hoe.rb +1 -0
- data/lib/gitjour/version.rb +2 -2
- metadata +11 -3
data/bin/gitjour
CHANGED
@@ -4,7 +4,7 @@ require 'dnssd'
|
|
4
4
|
require 'set'
|
5
5
|
Thread.abort_on_exception = true
|
6
6
|
|
7
|
-
GitService = Struct.new(:name, :host, :
|
7
|
+
GitService = Struct.new(:name, :host, :description)
|
8
8
|
|
9
9
|
def service_list(looking_for = nil)
|
10
10
|
wait_seconds = 5
|
@@ -14,7 +14,7 @@ def service_list(looking_for = nil)
|
|
14
14
|
|
15
15
|
service = DNSSD.browse "_git._tcp" do |reply|
|
16
16
|
DNSSD.resolve reply.name, reply.type, reply.domain do |resolve_reply|
|
17
|
-
service_list << GitService.new(reply.name, resolve_reply.target)
|
17
|
+
service_list << GitService.new(reply.name, resolve_reply.target, resolve_reply.text_record['description'])
|
18
18
|
if looking_for && reply.name == looking_for
|
19
19
|
waiting_thread.kill
|
20
20
|
end
|
@@ -30,6 +30,7 @@ case ARGV.shift
|
|
30
30
|
when "list"
|
31
31
|
service_list.each do |service|
|
32
32
|
puts "#{service.name} on #{service.host}: gitjour clone #{service.name}"
|
33
|
+
puts " #{service.description}" if service.description && service.description != ''
|
33
34
|
end
|
34
35
|
when "clone"
|
35
36
|
name_of_share = ARGV.shift || fail("You have to pass in a name")
|
@@ -38,11 +39,20 @@ case ARGV.shift
|
|
38
39
|
when "serve"
|
39
40
|
name = ARGV.shift || File.basename(Dir.pwd)
|
40
41
|
tr = DNSSD::TextRecord.new
|
41
|
-
tr['
|
42
|
+
tr['description'] = File.read(".git/description") rescue "a git project"
|
42
43
|
DNSSD.register(name, "_git._tcp", 'local', 9148, tr.encode) do |register_reply|
|
43
44
|
p register_reply
|
44
45
|
end
|
45
46
|
`git-daemon --verbose --export-all --base-path=#{Dir.pwd}`
|
47
|
+
else
|
48
|
+
puts "Serve up and use git repositories via Bonjour/DNSSD."
|
49
|
+
puts "Usage: gitjour <command> [name]"
|
50
|
+
puts
|
51
|
+
puts " list Lists available repositories."
|
52
|
+
puts " clone Clone a gitjour served repository."
|
53
|
+
puts " serve Serve up the current directory via gitjour."
|
54
|
+
puts " Optionally pass name to not use pwd."
|
55
|
+
puts
|
46
56
|
end
|
47
57
|
|
48
58
|
|
data/config/hoe.rb
CHANGED
@@ -56,6 +56,7 @@ hoe = Hoe.new(GEM_NAME, VERS) do |p|
|
|
56
56
|
p.rubyforge_name = RUBYFORGE_PROJECT if RUBYFORGE_PROJECT
|
57
57
|
p.test_globs = ["test/**/test_*.rb"]
|
58
58
|
p.clean_globs |= ['**/.*.sw?', '*.gem', '.config', '**/.DS_Store'] #An array of file patterns to delete on clean.
|
59
|
+
p.extra_deps = ['dnssd']
|
59
60
|
# == Optional
|
60
61
|
p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
|
61
62
|
#p.extra_deps = [] # An array of rubygem dependencies [name, version], e.g. [ ['active_support', '>= 1.3.1'] ]
|
data/lib/gitjour/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gitjour
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 5.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chad Fowler
|
@@ -13,8 +13,16 @@ cert_chain: []
|
|
13
13
|
|
14
14
|
date: 2008-05-29 00:00:00 -07:00
|
15
15
|
default_executable:
|
16
|
-
dependencies:
|
17
|
-
|
16
|
+
dependencies:
|
17
|
+
- !ruby/object:Gem::Dependency
|
18
|
+
name: dnssd
|
19
|
+
version_requirement:
|
20
|
+
version_requirements: !ruby/object:Gem::Requirement
|
21
|
+
requirements:
|
22
|
+
- - ">="
|
23
|
+
- !ruby/object:Gem::Version
|
24
|
+
version: "0"
|
25
|
+
version:
|
18
26
|
description: Automates DNSSD-powered serving and cloning of git repositories.
|
19
27
|
email: chad@chadfowler.com
|
20
28
|
executables:
|