gitjour 2.5.0 → 5.0.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.
- 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:
|