func (pkg *LocalPackage) Clone(newRepo *repo.Repo, newName string) *LocalPackage { // XXX: Validate name. // Copy the package. newPkg := *pkg newPkg.repo = newRepo newPkg.name = newName newPkg.basePath = newRepo.Path() + "/" + newPkg.name // Insert the clone into the global package map. proj := interfaces.GetProject() pMap := proj.PackageList() (*pMap[newRepo.Name()])[newPkg.name] = &newPkg return &newPkg }