@@ -116,7 +116,14 @@ func (m *Mirror) prepare() error {
116116 switch t {
117117 // init User Repos
118118 case constants .AccountTypeUser :
119- repos , err := client .Repositories (orgName )
119+ // client.
120+ var repos []* Repository
121+ var err error
122+ if client .IsAPIAuthed () {
123+ repos , err = client .Repositories ("" )
124+ } else {
125+ repos , err = client .Repositories (orgName )
126+ }
120127 if err != nil {
121128 return nil , err
122129 }
@@ -227,7 +234,14 @@ func (m *Mirror) mirrorRepoInfo(srcRepo *Repository, dstRepoName string) (*Repos
227234 dstRepo .Description = srcRepo .Description
228235 dstRepo .Topics = srcRepo .Topics
229236 dstRepo .Private = srcRepo .Private
230- _ , err := client .UpdateRepository (* dstRepo .Organization .Name , * dstRepo .Name , dstRepo )
237+
238+ var orgName string
239+ if dstRepo .Organization == nil {
240+ orgName = * dstRepo .Owner .Name
241+ } else {
242+ orgName = * dstRepo .Organization .Name
243+ }
244+ _ , err := client .UpdateRepository (orgName , * dstRepo .Name , dstRepo )
231245 if err != nil {
232246 logger .Warnf ("update repo %s/%s err: %s" , * dstRepo .Owner .Name , * dstRepo .Name , err .Error ())
233247 return dstRepo , nil
@@ -258,7 +272,8 @@ func (m *Mirror) mirrorRepoInfo(srcRepo *Repository, dstRepoName string) (*Repos
258272// mirrorGit clone/pull from src repo and push to dst repo
259273func (m * Mirror ) mirrorGit (srcRepo , dstRepo * Repository ) error {
260274 var err error
261- cachePath := path .Join (m .CachePath , * srcRepo .Name )
275+ // cachePath format: m.CachePath + "/" + m.SrcOrg + "/" + *srcRepo.Name
276+ cachePath := path .Join (m .CachePath , m .SrcOrg , * srcRepo .Name )
262277 // clone or fetch from origin
263278 _ , err = m .srcGitClient .CloneOrFetch (GitURL (srcRepo , m .srcGitClient .GitAuthType ), "origin" , cachePath )
264279 if err != nil {
0 commit comments