@@ -1153,7 +1153,7 @@ func registerRoutes(m *web.Router) {
1153
1153
// end "/{username}/{reponame}/settings"
1154
1154
1155
1155
// user/org home, including rss feeds
1156
- m .Get ("/{username}/{reponame}" , optSignIn , context .RepoAssignment , context .RepoRef ( ), repo .SetEditorconfigIfExists , repo .Home )
1156
+ m .Get ("/{username}/{reponame}" , optSignIn , context .RepoAssignment , context .RepoRefByType ( git . RefTypeBranch ), repo .SetEditorconfigIfExists , repo .Home )
1157
1157
1158
1158
m .Post ("/{username}/{reponame}/markup" , optSignIn , context .RepoAssignment , reqUnitsWithMarkdown , web .Bind (structs.MarkupOption {}), misc .Markup )
1159
1159
@@ -1293,26 +1293,31 @@ func registerRoutes(m *web.Router) {
1293
1293
m .Group ("/{username}/{reponame}" , func () { // repo code
1294
1294
m .Group ("" , func () {
1295
1295
m .Group ("" , func () {
1296
- m .Combo ("/_edit/*" ).Get (repo .EditFile ).
1296
+ m .Combo ("/_edit/*" , context .RepoRefByType (git .RefTypeBranch )).
1297
+ Get (repo .EditFile ).
1297
1298
Post (web .Bind (forms.EditRepoFileForm {}), repo .EditFilePost )
1298
- m .Combo ("/_new/*" ).Get (repo .NewFile ).
1299
+ m .Combo ("/_new/*" , context .RepoRefByType (git .RefTypeBranch )).
1300
+ Get (repo .NewFile ).
1299
1301
Post (web .Bind (forms.EditRepoFileForm {}), repo .NewFilePost )
1300
- m .Post ("/_preview/*" , web .Bind (forms.EditPreviewDiffForm {}), repo .DiffPreviewPost )
1301
- m .Combo ("/_delete/*" ).Get (repo .DeleteFile ).
1302
+ m .Post ("/_preview/*" , context .RepoRefByType (git .RefTypeBranch ), web .Bind (forms.EditPreviewDiffForm {}), repo .DiffPreviewPost )
1303
+ m .Combo ("/_delete/*" , context .RepoRefByType (git .RefTypeBranch )).
1304
+ Get (repo .DeleteFile ).
1302
1305
Post (web .Bind (forms.DeleteRepoFileForm {}), repo .DeleteFilePost )
1303
- m .Combo ("/_upload/*" , repo .MustBeAbleToUpload ).
1306
+ m .Combo ("/_upload/*" , context . RepoRefByType ( git . RefTypeBranch ), repo .MustBeAbleToUpload ).
1304
1307
Get (repo .UploadFile ).
1305
1308
Post (web .Bind (forms.UploadRepoFileForm {}), repo .UploadFilePost )
1306
- m .Combo ("/_diffpatch/*" ).Get (repo .NewDiffPatch ).
1309
+ m .Combo ("/_diffpatch/*" , context .RepoRefByType (git .RefTypeBranch )).
1310
+ Get (repo .NewDiffPatch ).
1307
1311
Post (web .Bind (forms.EditRepoFileForm {}), repo .NewDiffPatchPost )
1308
- m .Combo ("/_cherrypick/{sha:([a-f0-9]{7,64})}/*" ).Get (repo .CherryPick ).
1312
+ m .Combo ("/_cherrypick/{sha:([a-f0-9]{7,64})}/*" , context .RepoRefByType (git .RefTypeBranch )).
1313
+ Get (repo .CherryPick ).
1309
1314
Post (web .Bind (forms.CherryPickForm {}), repo .CherryPickPost )
1310
1315
}, repo .MustBeEditable )
1311
1316
m .Group ("" , func () {
1312
1317
m .Post ("/upload-file" , repo .UploadFileToServer )
1313
1318
m .Post ("/upload-remove" , web .Bind (forms.RemoveUploadFileForm {}), repo .RemoveUploadFileFromServer )
1314
1319
}, repo .MustBeEditable , repo .MustBeAbleToUpload )
1315
- }, context . RepoRef (), canEnableEditor , context .RepoMustNotBeArchived ())
1320
+ }, canEnableEditor , context .RepoMustNotBeArchived ())
1316
1321
1317
1322
m .Group ("/branches" , func () {
1318
1323
m .Group ("/_new" , func () {
@@ -1333,39 +1338,36 @@ func registerRoutes(m *web.Router) {
1333
1338
m .Group ("/{username}/{reponame}" , func () { // repo tags
1334
1339
m .Group ("/tags" , func () {
1335
1340
m .Get ("" , repo .TagsList )
1336
- m .Get ("/list" , repo .GetTagList )
1337
1341
m .Get (".rss" , feedEnabled , repo .TagsListFeedRSS )
1338
1342
m .Get (".atom" , feedEnabled , repo .TagsListFeedAtom )
1339
- }, ctxDataSet ("EnableFeed" , setting .Other .EnableFeed ),
1340
- repo .MustBeNotEmpty , context .RepoRefByType (git .RefTypeTag , context.RepoRefByTypeOptions {IgnoreNotExistErr : true }))
1341
- m .Post ("/tags/delete" , repo .DeleteTag , reqSignIn ,
1342
- repo .MustBeNotEmpty , context .RepoMustNotBeArchived (), reqRepoCodeWriter , context .RepoRef ())
1343
- }, optSignIn , context .RepoAssignment , reqUnitCodeReader )
1343
+ m .Get ("/list" , repo .GetTagList )
1344
+ }, ctxDataSet ("EnableFeed" , setting .Other .EnableFeed ))
1345
+ m .Post ("/tags/delete" , reqSignIn , reqRepoCodeWriter , context .RepoMustNotBeArchived (), repo .DeleteTag )
1346
+ }, optSignIn , context .RepoAssignment , repo .MustBeNotEmpty , reqUnitCodeReader )
1344
1347
// end "/{username}/{reponame}": repo tags
1345
1348
1346
1349
m .Group ("/{username}/{reponame}" , func () { // repo releases
1347
1350
m .Group ("/releases" , func () {
1348
1351
m .Get ("" , repo .Releases )
1349
- m .Get ("/tag/*" , repo .SingleRelease )
1350
- m .Get ("/latest" , repo .LatestRelease )
1351
1352
m .Get (".rss" , feedEnabled , repo .ReleasesFeedRSS )
1352
1353
m .Get (".atom" , feedEnabled , repo .ReleasesFeedAtom )
1353
- }, ctxDataSet ("EnableFeed" , setting .Other .EnableFeed ),
1354
- repo .MustBeNotEmpty , context .RepoRefByType (git .RefTypeTag , context.RepoRefByTypeOptions {IgnoreNotExistErr : true }))
1355
- m .Get ("/releases/attachments/{uuid}" , repo .MustBeNotEmpty , repo .GetAttachment )
1356
- m .Get ("/releases/download/{vTag}/{fileName}" , repo .MustBeNotEmpty , repo .RedirectDownload )
1354
+ m .Get ("/tag/*" , context .RepoRefByType (git .RefTypeTag ), repo .SingleRelease )
1355
+ m .Get ("/latest" , repo .LatestRelease )
1356
+ }, ctxDataSet ("EnableFeed" , setting .Other .EnableFeed ))
1357
+ m .Get ("/releases/attachments/{uuid}" , repo .GetAttachment )
1358
+ m .Get ("/releases/download/{vTag}/{fileName}" , repo .RedirectDownload )
1357
1359
m .Group ("/releases" , func () {
1358
1360
m .Get ("/new" , repo .NewRelease )
1359
1361
m .Post ("/new" , web .Bind (forms.NewReleaseForm {}), repo .NewReleasePost )
1360
1362
m .Post ("/delete" , repo .DeleteRelease )
1361
1363
m .Post ("/attachments" , repo .UploadReleaseAttachment )
1362
1364
m .Post ("/attachments/remove" , repo .DeleteAttachment )
1363
- }, reqSignIn , repo . MustBeNotEmpty , context .RepoMustNotBeArchived (), reqRepoReleaseWriter , context .RepoRef ())
1365
+ }, reqSignIn , context .RepoMustNotBeArchived (), reqRepoReleaseWriter , context .RepoRef ())
1364
1366
m .Group ("/releases" , func () {
1365
1367
m .Get ("/edit/*" , repo .EditRelease )
1366
1368
m .Post ("/edit/*" , web .Bind (forms.EditReleaseForm {}), repo .EditReleasePost )
1367
- }, reqSignIn , repo . MustBeNotEmpty , context .RepoMustNotBeArchived (), reqRepoReleaseWriter , repo .CommitInfoCache )
1368
- }, optSignIn , context .RepoAssignment , reqRepoReleaseReader )
1369
+ }, reqSignIn , context .RepoMustNotBeArchived (), reqRepoReleaseWriter , repo .CommitInfoCache )
1370
+ }, optSignIn , context .RepoAssignment , repo . MustBeNotEmpty , reqRepoReleaseReader )
1369
1371
// end "/{username}/{reponame}": repo releases
1370
1372
1371
1373
m .Group ("/{username}/{reponame}" , func () { // to maintain compatibility with old attachments
@@ -1529,21 +1531,19 @@ func registerRoutes(m *web.Router) {
1529
1531
}, repo .MustBeNotEmpty , context .RepoRef ())
1530
1532
1531
1533
m .Group ("/media" , func () {
1534
+ m .Get ("/blob/{sha}" , repo .DownloadByIDOrLFS )
1532
1535
m .Get ("/branch/*" , context .RepoRefByType (git .RefTypeBranch ), repo .SingleDownloadOrLFS )
1533
1536
m .Get ("/tag/*" , context .RepoRefByType (git .RefTypeTag ), repo .SingleDownloadOrLFS )
1534
1537
m .Get ("/commit/*" , context .RepoRefByType (git .RefTypeCommit ), repo .SingleDownloadOrLFS )
1535
- m .Get ("/blob/{sha}" , repo .DownloadByIDOrLFS )
1536
- // "/*" route is deprecated, and kept for backward compatibility
1537
- m .Get ("/*" , context .RepoRefByType ("" ), repo .SingleDownloadOrLFS )
1538
+ m .Get ("/*" , context .RepoRefByType ("" ), repo .SingleDownloadOrLFS ) // "/*" route is deprecated, and kept for backward compatibility
1538
1539
}, repo .MustBeNotEmpty )
1539
1540
1540
1541
m .Group ("/raw" , func () {
1542
+ m .Get ("/blob/{sha}" , repo .DownloadByID )
1541
1543
m .Get ("/branch/*" , context .RepoRefByType (git .RefTypeBranch ), repo .SingleDownload )
1542
1544
m .Get ("/tag/*" , context .RepoRefByType (git .RefTypeTag ), repo .SingleDownload )
1543
1545
m .Get ("/commit/*" , context .RepoRefByType (git .RefTypeCommit ), repo .SingleDownload )
1544
- m .Get ("/blob/{sha}" , repo .DownloadByID )
1545
- // "/*" route is deprecated, and kept for backward compatibility
1546
- m .Get ("/*" , context .RepoRefByType ("" ), repo .SingleDownload )
1546
+ m .Get ("/*" , context .RepoRefByType ("" ), repo .SingleDownload ) // "/*" route is deprecated, and kept for backward compatibility
1547
1547
}, repo .MustBeNotEmpty )
1548
1548
1549
1549
m .Group ("/render" , func () {
@@ -1557,8 +1557,7 @@ func registerRoutes(m *web.Router) {
1557
1557
m .Get ("/branch/*" , context .RepoRefByType (git .RefTypeBranch ), repo .RefCommits )
1558
1558
m .Get ("/tag/*" , context .RepoRefByType (git .RefTypeTag ), repo .RefCommits )
1559
1559
m .Get ("/commit/*" , context .RepoRefByType (git .RefTypeCommit ), repo .RefCommits )
1560
- // "/*" route is deprecated, and kept for backward compatibility
1561
- m .Get ("/*" , context .RepoRefByType ("" ), repo .RefCommits )
1560
+ m .Get ("/*" , context .RepoRefByType ("" ), repo .RefCommits ) // "/*" route is deprecated, and kept for backward compatibility
1562
1561
}, repo .MustBeNotEmpty )
1563
1562
1564
1563
m .Group ("/blame" , func () {
0 commit comments