@@ -818,7 +818,6 @@ func registerRoutes(m *web.Router) {
818
818
819
819
reqRepoAdmin := context .RequireRepoAdmin ()
820
820
reqRepoCodeWriter := context .RequireUnitWriter (unit .TypeCode )
821
- canEnableEditor := context .CanEnableEditor ()
822
821
reqRepoReleaseWriter := context .RequireUnitWriter (unit .TypeReleases )
823
822
reqRepoReleaseReader := context .RequireUnitReader (unit .TypeReleases )
824
823
reqRepoIssuesOrPullsWriter := context .RequireUnitWriter (unit .TypeIssues , unit .TypePullRequests )
@@ -1153,7 +1152,7 @@ func registerRoutes(m *web.Router) {
1153
1152
// end "/{username}/{reponame}/settings"
1154
1153
1155
1154
// user/org home, including rss feeds
1156
- m .Get ("/{username}/{reponame}" , optSignIn , context .RepoAssignment , context .RepoRef ( ), repo .SetEditorconfigIfExists , repo .Home )
1155
+ m .Get ("/{username}/{reponame}" , optSignIn , context .RepoAssignment , context .RepoRefByType ( git . RefTypeBranch ), repo .SetEditorconfigIfExists , repo .Home )
1157
1156
1158
1157
m .Post ("/{username}/{reponame}/markup" , optSignIn , context .RepoAssignment , reqUnitsWithMarkdown , web .Bind (structs.MarkupOption {}), misc .Markup )
1159
1158
@@ -1307,12 +1306,12 @@ func registerRoutes(m *web.Router) {
1307
1306
Post (web .Bind (forms.EditRepoFileForm {}), repo .NewDiffPatchPost )
1308
1307
m .Combo ("/_cherrypick/{sha:([a-f0-9]{7,64})}/*" ).Get (repo .CherryPick ).
1309
1308
Post (web .Bind (forms.CherryPickForm {}), repo .CherryPickPost )
1310
- }, repo . MustBeEditable )
1309
+ }, context . RepoRefByType ( git . RefTypeBranch ), context . CanWriteToBranch () )
1311
1310
m .Group ("" , func () {
1312
1311
m .Post ("/upload-file" , repo .UploadFileToServer )
1313
1312
m .Post ("/upload-remove" , web .Bind (forms.RemoveUploadFileForm {}), repo .RemoveUploadFileFromServer )
1314
- }, repo .MustBeEditable , repo . MustBeAbleToUpload )
1315
- }, context . RepoRef (), canEnableEditor , context .RepoMustNotBeArchived ())
1313
+ }, repo .MustBeAbleToUpload , reqRepoCodeWriter )
1314
+ }, repo . MustBeEditable , context .RepoMustNotBeArchived ())
1316
1315
1317
1316
m .Group ("/branches" , func () {
1318
1317
m .Group ("/_new" , func () {
@@ -1333,39 +1332,36 @@ func registerRoutes(m *web.Router) {
1333
1332
m .Group ("/{username}/{reponame}" , func () { // repo tags
1334
1333
m .Group ("/tags" , func () {
1335
1334
m .Get ("" , repo .TagsList )
1336
- m .Get ("/list" , repo .GetTagList )
1337
1335
m .Get (".rss" , feedEnabled , repo .TagsListFeedRSS )
1338
1336
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 )
1337
+ m .Get ("/list" , repo .GetTagList )
1338
+ }, ctxDataSet ("EnableFeed" , setting .Other .EnableFeed ))
1339
+ m .Post ("/tags/delete" , reqSignIn , reqRepoCodeWriter , context .RepoMustNotBeArchived (), repo .DeleteTag )
1340
+ }, optSignIn , context .RepoAssignment , repo .MustBeNotEmpty , reqUnitCodeReader )
1344
1341
// end "/{username}/{reponame}": repo tags
1345
1342
1346
1343
m .Group ("/{username}/{reponame}" , func () { // repo releases
1347
1344
m .Group ("/releases" , func () {
1348
1345
m .Get ("" , repo .Releases )
1349
- m .Get ("/tag/*" , repo .SingleRelease )
1350
- m .Get ("/latest" , repo .LatestRelease )
1351
1346
m .Get (".rss" , feedEnabled , repo .ReleasesFeedRSS )
1352
1347
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 )
1348
+ m .Get ("/tag/*" , repo .SingleRelease )
1349
+ m .Get ("/latest" , repo .LatestRelease )
1350
+ }, ctxDataSet ("EnableFeed" , setting .Other .EnableFeed ))
1351
+ m .Get ("/releases/attachments/{uuid}" , repo .GetAttachment )
1352
+ m .Get ("/releases/download/{vTag}/{fileName}" , repo .RedirectDownload )
1357
1353
m .Group ("/releases" , func () {
1358
1354
m .Get ("/new" , repo .NewRelease )
1359
1355
m .Post ("/new" , web .Bind (forms.NewReleaseForm {}), repo .NewReleasePost )
1360
1356
m .Post ("/delete" , repo .DeleteRelease )
1361
1357
m .Post ("/attachments" , repo .UploadReleaseAttachment )
1362
1358
m .Post ("/attachments/remove" , repo .DeleteAttachment )
1363
- }, reqSignIn , repo . MustBeNotEmpty , context .RepoMustNotBeArchived (), reqRepoReleaseWriter , context .RepoRef ())
1359
+ }, reqSignIn , context .RepoMustNotBeArchived (), reqRepoReleaseWriter , context .RepoRef ())
1364
1360
m .Group ("/releases" , func () {
1365
1361
m .Get ("/edit/*" , repo .EditRelease )
1366
1362
m .Post ("/edit/*" , web .Bind (forms.EditReleaseForm {}), repo .EditReleasePost )
1367
- }, reqSignIn , repo . MustBeNotEmpty , context .RepoMustNotBeArchived (), reqRepoReleaseWriter , repo .CommitInfoCache )
1368
- }, optSignIn , context .RepoAssignment , reqRepoReleaseReader )
1363
+ }, reqSignIn , context .RepoMustNotBeArchived (), reqRepoReleaseWriter , repo .CommitInfoCache )
1364
+ }, optSignIn , context .RepoAssignment , repo . MustBeNotEmpty , reqRepoReleaseReader )
1369
1365
// end "/{username}/{reponame}": repo releases
1370
1366
1371
1367
m .Group ("/{username}/{reponame}" , func () { // to maintain compatibility with old attachments
@@ -1529,21 +1525,19 @@ func registerRoutes(m *web.Router) {
1529
1525
}, repo .MustBeNotEmpty , context .RepoRef ())
1530
1526
1531
1527
m .Group ("/media" , func () {
1528
+ m .Get ("/blob/{sha}" , repo .DownloadByIDOrLFS )
1532
1529
m .Get ("/branch/*" , context .RepoRefByType (git .RefTypeBranch ), repo .SingleDownloadOrLFS )
1533
1530
m .Get ("/tag/*" , context .RepoRefByType (git .RefTypeTag ), repo .SingleDownloadOrLFS )
1534
1531
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 )
1532
+ m .Get ("/*" , context .RepoRefByType ("" ), repo .SingleDownloadOrLFS ) // "/*" route is deprecated, and kept for backward compatibility
1538
1533
}, repo .MustBeNotEmpty )
1539
1534
1540
1535
m .Group ("/raw" , func () {
1536
+ m .Get ("/blob/{sha}" , repo .DownloadByID )
1541
1537
m .Get ("/branch/*" , context .RepoRefByType (git .RefTypeBranch ), repo .SingleDownload )
1542
1538
m .Get ("/tag/*" , context .RepoRefByType (git .RefTypeTag ), repo .SingleDownload )
1543
1539
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 )
1540
+ m .Get ("/*" , context .RepoRefByType ("" ), repo .SingleDownload ) // "/*" route is deprecated, and kept for backward compatibility
1547
1541
}, repo .MustBeNotEmpty )
1548
1542
1549
1543
m .Group ("/render" , func () {
@@ -1557,8 +1551,7 @@ func registerRoutes(m *web.Router) {
1557
1551
m .Get ("/branch/*" , context .RepoRefByType (git .RefTypeBranch ), repo .RefCommits )
1558
1552
m .Get ("/tag/*" , context .RepoRefByType (git .RefTypeTag ), repo .RefCommits )
1559
1553
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 )
1554
+ m .Get ("/*" , context .RepoRefByType ("" ), repo .RefCommits ) // "/*" route is deprecated, and kept for backward compatibility
1562
1555
}, repo .MustBeNotEmpty )
1563
1556
1564
1557
m .Group ("/blame" , func () {
0 commit comments