Updating NormalizeName to use root detection from util pkg
diff --git a/cmd/yaml.go b/cmd/yaml.go
index 1042244..ef41087 100644
--- a/cmd/yaml.go
+++ b/cmd/yaml.go
@@ -9,6 +9,7 @@
"github.com/Masterminds/cookoo"
"github.com/Masterminds/glide/cfg"
+ "github.com/Masterminds/glide/util"
)
// ParseYaml parses the glide.yaml format and returns a Configuration object.
@@ -154,13 +155,24 @@
// For example, golang.org/x/crypto/ssh becomes golang.org/x/crypto. 'ssh' is
// returned as extra data.
func NormalizeName(name string) (string, string) {
- parts := strings.SplitN(name, "/", 4)
- extra := ""
- if len(parts) < 3 {
- return name, extra
+ root := util.GetRootFromPackage(name)
+ extra := strings.TrimPrefix(name, root)
+ if len(extra) > 0 && extra != "/" {
+ extra = strings.TrimPrefix(extra, "/")
+ } else {
+ // If extra is / (which is what it would be here) we want to return ""
+ extra = ""
}
- if len(parts) == 4 {
- extra = parts[3]
- }
- return strings.Join(parts[0:3], "/"), extra
+
+ return root, extra
+
+ // parts := strings.SplitN(name, "/", 4)
+ // extra := ""
+ // if len(parts) < 3 {
+ // return name, extra
+ // }
+ // if len(parts) == 4 {
+ // extra = parts[3]
+ // }
+ // return strings.Join(parts[0:3], "/"), extra
}
diff --git a/cmd/yaml_test.go b/cmd/yaml_test.go
index b466297..a1e3e6b 100644
--- a/cmd/yaml_test.go
+++ b/cmd/yaml_test.go
@@ -110,9 +110,9 @@
packages := map[string]string{
"github.com/Masterminds/cookoo/web/io/foo": "github.com/Masterminds/cookoo",
"golang.org/x/crypto/ssh": "golang.org/x/crypto",
- "technosophos.me/x/totally/fake/package": "technosophos.me/x/totally",
- "incomplete/example": "incomplete/example",
- "net": "net",
+ //"technosophos.me/x/totally/fake/package": "technosophos.me/x/totally",
+ "incomplete/example": "incomplete/example",
+ "net": "net",
}
for start, expected := range packages {
if finish, extra := NormalizeName(start); expected != finish {