summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--reloadGitConfig.go12
-rw-r--r--repo.new.go27
2 files changed, 38 insertions, 1 deletions
diff --git a/reloadGitConfig.go b/reloadGitConfig.go
index 367bd69..623d505 100644
--- a/reloadGitConfig.go
+++ b/reloadGitConfig.go
@@ -138,8 +138,18 @@ func (repo *Repo) readGitConfig() error {
default:
log.Log(WARN, "unknown submodule line:", line)
}
+ case "user":
+ // test, ok := rs.gitConfig.submodules[currentName]
+ switch key {
+ case "name":
+ log.Log(INFO, "name:", line)
+ case "email":
+ log.Log(INFO, "email:", line)
+ default:
+ log.Log(WARN, "unknown name line:", filename, line)
+ }
default:
- log.Log(WARN, "unknown line:", line)
+ log.Log(WARN, "unknown line:", filename, line)
}
}
diff --git a/repo.new.go b/repo.new.go
index 64cf897..5e3f8b4 100644
--- a/repo.new.go
+++ b/repo.new.go
@@ -68,3 +68,30 @@ func (all *Repos) AppendByGoPath(newr *Repo) bool {
all.Append(newr)
return true
}
+
+func (all *Repos) NewRepo(fullpath string, namespace string) (*Repo, error) {
+ if r := all.FindByFullPath(fullpath); r != nil {
+ log.Info("gitpb.NewRepo() might already have namespace", r.GetNamespace())
+ log.Info("gitpb.NewRepo() already has FullPath", r.FullPath)
+ // already had this gopath
+ return r, errors.New("gitpb.NewRepo() duplicate path " + fullpath)
+ }
+
+ // add a new one here
+ newr := Repo{
+ FullPath: fullpath,
+ Namespace: namespace,
+ }
+ newr.Times = new(GitTimes)
+
+ // everything happens in here
+ newr.Reload()
+
+ if all.AppendByFullPath(&newr) {
+ // worked
+ return &newr, nil
+ }
+
+ // todo: use Repos.Lock()
+ return nil, errors.New("gitpb.NewRepo() append failed " + fullpath)
+}