From ed2b9374599cc00467b1c27121318748cc0d3f49 Mon Sep 17 00:00:00 2001 From: Stefan Majewsky Date: Sat, 28 Mar 2020 13:53:10 +0100 Subject: rename pkg/ to internal/ --- pkg/rtree/remote.go | 75 ----------------------------------------------------- 1 file changed, 75 deletions(-) delete mode 100644 pkg/rtree/remote.go (limited to 'pkg/rtree/remote.go') diff --git a/pkg/rtree/remote.go b/pkg/rtree/remote.go deleted file mode 100644 index 0c4e880..0000000 --- a/pkg/rtree/remote.go +++ /dev/null @@ -1,75 +0,0 @@ -/******************************************************************************* -* -* Copyright 2017 Stefan Majewsky -* -* This program is free software: you can redistribute it and/or modify it under -* the terms of the GNU General Public License as published by the Free Software -* Foundation, either version 3 of the License, or (at your option) any later -* version. -* -* This program is distributed in the hope that it will be useful, but WITHOUT ANY -* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR -* A PARTICULAR PURPOSE. See the GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License along with -* this program. If not, see . -* -*******************************************************************************/ - -package rtree - -import ( - "net/url" - "path/filepath" - "regexp" - "strings" -) - -//ExpandRemoteURL derive the canonical URL for a given remote by substituting -//aliases defined in the system-wide and user-global Git config. For example, -//with -// -// $ cat /etc/gitconfig -// [url "git://github.com/"] -// insteadOf = gh: -// -//and the input "gh:foo/bar", this function returns "git://github.com/foo/bar". -func ExpandRemoteURL(remoteURL string) string { - var best *RemoteAlias - for _, current := range RemoteAliases { - if strings.HasPrefix(remoteURL, current.Alias) { - if best == nil || len(best.Alias) < len(current.Alias) { - best = current - } - } - } - if best == nil { - return remoteURL - } - return best.Replacement + strings.TrimPrefix(remoteURL, best.Alias) -} - -//This regex recognizes the scp-like syntax for git remotes -//(i.e. "[user@]example.org:path/to/repo") as specified by the "GIT URLS" -//section of man:git-clone(1). -var scpSyntaxRx = regexp.MustCompile(`^(?:[^/@:]+@)?([^/:]+\.[^/:]+):(.+)$`) - -//CheckoutPathForRemoteURL derives the checkout path for a remote URL that has -//already been expanded with ExpandRemoteURL() if necessary. -// -// "https://example.org/foo/bar" -> "example.org/foo/bar" -// "git@example.org:foo/bar" -> "example.org/foo/bar" -// -func CheckoutPathForRemoteURL(remoteURL string) (string, error) { - match := scpSyntaxRx.FindStringSubmatch(remoteURL) - if match != nil { - //match[1] is the hostname, match[2] is the path to the repo - return filepath.Join(match[1], match[2]), nil - } - - u, err := url.Parse(remoteURL) - if err != nil { - return "", err - } - return filepath.Join(u.Hostname(), u.Path), nil -} -- cgit v1.3.1