[paludis-commits] paludis.git (master) -- 8db95c4 by David Leverton

git at git.pioto.org git at git.pioto.org
Fri Aug 1 18:03:43 EDT 2008


Module:    paludis.git
Branch:    master
Commit:    8db95c4c1b9797d088ba7105b13a266d04928e19
URL:       http://git.pioto.org/?p=paludis.git;a=commit;h=8db95c4c1b9797d088ba7105b13a266d04928e19

Author:    David Leverton <levertond at googlemail.com>
Committer: David Leverton <levertond at googlemail.com>
Date:      Fri Aug  1 23:03:16 2008 +0100

----

(ruby) Update layman->paludis sync URL mapping code from playboy.rb

----

 ruby/demos/playman.rb |   74 ++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 64 insertions(+), 10 deletions(-)


diff --git a/ruby/demos/playman.rb b/ruby/demos/playman.rb
index 5486736..751c4f0 100755
--- a/ruby/demos/playman.rb
+++ b/ruby/demos/playman.rb
@@ -147,22 +147,76 @@ end
 
 layman_srcs = Hash.new
 laymanxml.elements.each("layman/overlay") do | element |
-    name = element.attribute("name").to_s
-    src = element.attribute("src").to_s
-    type = element.attribute("type").to_s
+    name    = element.attribute("name").to_s
+    src     = element.attribute("src").to_s
+    type    = element.attribute("type").to_s
+    subpath = element.attribute("subpath").to_s
     case type
-    when 'svn'
-        if src.include? "http://" or src.include? "https://"
-            src = "svn+" + src
+
+    when 'bzr'
+        case src
+        when %r{^bzr(?:\+ssh)?://}
+            #src = src
+        when %r{^[a-z+]+://}
+            src = "bzr+#{src}"
+        else
+            src = "bzr+file://#{src}"
+        end
+
+    when 'cvs'
+        case src
+        when /^:ext:(.*)$/
+            src = "cvs+ext://#$1:#{subpath}"
+        when /^:pserver:(.*)$/
+            src = "cvs+pserver://#$1:#{subpath}"
         end
+
     when 'darcs'
-        src = "darcs+" + src
+        case src
+        when %r{^[a-z+]+://}
+            src = "darcs+#{src}"
+        when /..:/
+            src = "darcs+ssh://#{src}"
+        else
+            src = "darcs+file://#{src}"
+        end
+
     when 'git'
-        if src.include? "http://"
-            src = "git+" + src
+        case src
+        when %r{^git(?:\+ssh)?://}
+            #src = src
+        when %r{^[a-z+]+://}
+            src = "git+#{src}"
+        else
+            src = "git+file://#{src}"
         end
+
+    when 'mercurial'
+        src = "hg+#{src}"
+
+    when 'rsync'
+        case src
+        when %r{^rsync://}
+            #src = src
+        when /..:/
+            src = "rsync+ssh://#{src}"
+        else
+            src = "file://#{src}"
+        end
+
+    when 'svn'
+        case src
+        when %r{^svn(?:\+ssh)?://}
+            #src = src
+        when %r{^[a-z+]+://}
+            src = "svn+#{src}"
+        else
+            src = "svn+file://#{src}"
+        end
+
     when 'tar'
-        src = "tar+" + src
+        src = "tar+#{src}" if subpath == ""
+
     end
     layman_srcs[name]=src
 end
---


More information about the paludis-commits mailing list