@@ -251,7 +251,7 @@ func (repo *Repository) APIURL() string {
251
251
252
252
// APIFormat converts a Repository to api.Repository
253
253
func (repo * Repository ) APIFormat (mode AccessMode ) * api.Repository {
254
- return repo .innerAPIFormat (mode , false )
254
+ return repo .innerAPIFormat (x , mode , false )
255
255
}
256
256
257
257
// GetCommitsCountCacheKey returns cache key used for commits count caching.
@@ -265,22 +265,22 @@ func (repo *Repository) GetCommitsCountCacheKey(contextName string, isRef bool)
265
265
return fmt .Sprintf ("commits-count-%d-%s-%s" , repo .ID , prefix , contextName )
266
266
}
267
267
268
- func (repo * Repository ) innerAPIFormat (mode AccessMode , isParent bool ) * api.Repository {
268
+ func (repo * Repository ) innerAPIFormat (e Engine , mode AccessMode , isParent bool ) * api.Repository {
269
269
var parent * api.Repository
270
270
271
- cloneLink := repo .CloneLink ( )
271
+ cloneLink := repo .cloneLink ( e , false )
272
272
permission := & api.Permission {
273
273
Admin : mode >= AccessModeAdmin ,
274
274
Push : mode >= AccessModeWrite ,
275
275
Pull : mode >= AccessModeRead ,
276
276
}
277
277
if ! isParent {
278
- err := repo .GetBaseRepo ( )
278
+ err := repo .getBaseRepo ( e )
279
279
if err != nil {
280
280
log .Error (4 , "APIFormat: %v" , err )
281
281
}
282
282
if repo .BaseRepo != nil {
283
- parent = repo .BaseRepo .innerAPIFormat (mode , true )
283
+ parent = repo .BaseRepo .innerAPIFormat (e , mode , true )
284
284
}
285
285
}
286
286
return & api.Repository {
@@ -617,11 +617,15 @@ func (repo *Repository) GetMirror() (err error) {
617
617
// returns an error on failure (NOTE: no error is returned for
618
618
// non-fork repositories, and BaseRepo will be left untouched)
619
619
func (repo * Repository ) GetBaseRepo () (err error ) {
620
+ return repo .getBaseRepo (x )
621
+ }
622
+
623
+ func (repo * Repository ) getBaseRepo (e Engine ) (err error ) {
620
624
if ! repo .IsFork {
621
625
return nil
622
626
}
623
627
624
- repo .BaseRepo , err = GetRepositoryByID ( repo .ForkID )
628
+ repo .BaseRepo , err = getRepositoryByID ( e , repo .ForkID )
625
629
return err
626
630
}
627
631
@@ -889,7 +893,7 @@ func ComposeHTTPSCloneURL(owner, repo string) string {
889
893
return fmt .Sprintf ("%s%s/%s.git" , setting .AppURL , owner , repo )
890
894
}
891
895
892
- func (repo * Repository ) cloneLink (isUncyclo bool ) * CloneLink {
896
+ func (repo * Repository ) cloneLink (e Engine , isUncyclo bool ) * CloneLink {
893
897
repoName := repo .Name
894
898
if isUncyclo {
895
899
repoName += ".wiki"
@@ -900,7 +904,7 @@ func (repo *Repository) cloneLink(isUncyclo bool) *CloneLink {
900
904
sshUser = setting .SSH .BuiltinServerUser
901
905
}
902
906
903
- repo .Owner = repo .MustOwner ( )
907
+ repo .Owner = repo .mustOwner ( e )
904
908
cl := new (CloneLink )
905
909
if setting .SSH .Port != 22 {
906
910
cl .SSH = fmt .Sprintf ("ssh://%s@%s:%d/%s/%s.git" , sshUser , setting .SSH .Domain , setting .SSH .Port , repo .Owner .Name , repoName )
@@ -915,7 +919,7 @@ func (repo *Repository) cloneLink(isUncyclo bool) *CloneLink {
915
919
916
920
// CloneLink returns clone URLs of repository.
917
921
func (repo * Repository ) CloneLink () (cl * CloneLink ) {
918
- return repo .cloneLink (false )
922
+ return repo .cloneLink (x , false )
919
923
}
920
924
921
925
// MigrateRepoOptions contains the repository migrate options
@@ -1192,7 +1196,7 @@ func getRepoInitFile(tp, name string) ([]byte, error) {
1192
1196
}
1193
1197
}
1194
1198
1195
- func prepareRepoCommit (repo * Repository , tmpDir , repoPath string , opts CreateRepoOptions ) error {
1199
+ func prepareRepoCommit (e Engine , repo * Repository , tmpDir , repoPath string , opts CreateRepoOptions ) error {
1196
1200
// Clone to temporary path and do the init commit.
1197
1201
_ , stderr , err := process .GetManager ().Exec (
1198
1202
fmt .Sprintf ("initRepository(git clone): %s" , repoPath ),
@@ -1208,7 +1212,7 @@ func prepareRepoCommit(repo *Repository, tmpDir, repoPath string, opts CreateRep
1208
1212
return fmt .Errorf ("getRepoInitFile[%s]: %v" , opts .Readme , err )
1209
1213
}
1210
1214
1211
- cloneLink := repo .CloneLink ( )
1215
+ cloneLink := repo .cloneLink ( e , false )
1212
1216
match := map [string ]string {
1213
1217
"Name" : repo .Name ,
1214
1218
"Description" : repo .Description ,
@@ -1281,7 +1285,7 @@ func initRepository(e Engine, repoPath string, u *User, repo *Repository, opts C
1281
1285
1282
1286
defer os .RemoveAll (tmpDir )
1283
1287
1284
- if err = prepareRepoCommit (repo , tmpDir , repoPath , opts ); err != nil {
1288
+ if err = prepareRepoCommit (e , repo , tmpDir , repoPath , opts ); err != nil {
1285
1289
return fmt .Errorf ("prepareRepoCommit: %v" , err )
1286
1290
}
1287
1291
@@ -1386,7 +1390,7 @@ func createRepository(e *xorm.Session, doer, u *User, repo *Repository) (err err
1386
1390
return fmt .Errorf ("addRepository: %v" , err )
1387
1391
} else if err = prepareWebhooks (e , repo , HookEventRepository , & api.RepositoryPayload {
1388
1392
Action : api .HookRepoCreated ,
1389
- Repository : repo .APIFormat ( AccessModeOwner ),
1393
+ Repository : repo .innerAPIFormat ( e , AccessModeOwner , false ),
1390
1394
Organization : u .APIFormat (),
1391
1395
Sender : doer .APIFormat (),
1392
1396
}); err != nil {
0 commit comments