gist.github.com forking support
[phorkie.git] / src / phorkie / ForkRemote.php
index 524255aca5564184eae44fa65a98c658afc98154..c9ed748ad189f7f841cc2e6e96255e48f3d47b59 100644 (file)
@@ -22,7 +22,15 @@ class ForkRemote
 
     public function parse()
     {
-        $scheme = parse_url($this->url, PHP_URL_SCHEME);
+        $arUrl = parse_url($this->url);
+        $scheme = $arUrl['scheme'] ?: '';
+        if ($scheme == 'https' && isset($arUrl['host'])
+            && $arUrl['host'] == 'gist.github.com'
+        ) {
+            $scheme = 'git';
+            $this->url = 'git://gist.github.com/'. ltrim($arUrl['path'], '/') . '.git';
+        }
+
         switch ($scheme) {
         case 'git':
             //clearly a git url