@@ -818,7 +818,6 @@ func registerRoutes(m *web.Router) {
818818
819819 reqRepoAdmin := context .RequireRepoAdmin ()
820820 reqRepoCodeWriter := context .RequireUnitWriter (unit .TypeCode )
821- canEnableEditor := context .CanEnableEditor ()
822821 reqRepoReleaseWriter := context .RequireUnitWriter (unit .TypeReleases )
823822 reqRepoReleaseReader := context .RequireUnitReader (unit .TypeReleases )
824823 reqRepoIssuesOrPullsWriter := context .RequireUnitWriter (unit .TypeIssues , unit .TypePullRequests )
@@ -1153,7 +1152,7 @@ func registerRoutes(m *web.Router) {
11531152 // end "/{username}/{reponame}/settings"
11541153
11551154 // 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 )
11571156
11581157 m .Post ("/{username}/{reponame}/markup" , optSignIn , context .RepoAssignment , reqUnitsWithMarkdown , web .Bind (structs.MarkupOption {}), misc .Markup )
11591158
@@ -1307,12 +1306,12 @@ func registerRoutes(m *web.Router) {
13071306 Post (web .Bind (forms.EditRepoFileForm {}), repo .NewDiffPatchPost )
13081307 m .Combo ("/_cherrypick/{sha:([a-f0-9]{7,64})}/*" ).Get (repo .CherryPick ).
13091308 Post (web .Bind (forms.CherryPickForm {}), repo .CherryPickPost )
1310- }, repo . MustBeEditable )
1309+ }, context . RepoRefByType ( git . RefTypeBranch ), context . CanWriteToBranch () )
13111310 m .Group ("" , func () {
13121311 m .Post ("/upload-file" , repo .UploadFileToServer )
13131312 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 ())
13161315
13171316 m .Group ("/branches" , func () {
13181317 m .Group ("/_new" , func () {
@@ -1333,39 +1332,36 @@ func registerRoutes(m *web.Router) {
13331332 m .Group ("/{username}/{reponame}" , func () { // repo tags
13341333 m .Group ("/tags" , func () {
13351334 m .Get ("" , repo .TagsList )
1336- m .Get ("/list" , repo .GetTagList )
13371335 m .Get (".rss" , feedEnabled , repo .TagsListFeedRSS )
13381336 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 )
13441341 // end "/{username}/{reponame}": repo tags
13451342
13461343 m .Group ("/{username}/{reponame}" , func () { // repo releases
13471344 m .Group ("/releases" , func () {
13481345 m .Get ("" , repo .Releases )
1349- m .Get ("/tag/*" , repo .SingleRelease )
1350- m .Get ("/latest" , repo .LatestRelease )
13511346 m .Get (".rss" , feedEnabled , repo .ReleasesFeedRSS )
13521347 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 )
13571353 m .Group ("/releases" , func () {
13581354 m .Get ("/new" , repo .NewRelease )
13591355 m .Post ("/new" , web .Bind (forms.NewReleaseForm {}), repo .NewReleasePost )
13601356 m .Post ("/delete" , repo .DeleteRelease )
13611357 m .Post ("/attachments" , repo .UploadReleaseAttachment )
13621358 m .Post ("/attachments/remove" , repo .DeleteAttachment )
1363- }, reqSignIn , repo . MustBeNotEmpty , context .RepoMustNotBeArchived (), reqRepoReleaseWriter , context .RepoRef ())
1359+ }, reqSignIn , context .RepoMustNotBeArchived (), reqRepoReleaseWriter , context .RepoRef ())
13641360 m .Group ("/releases" , func () {
13651361 m .Get ("/edit/*" , repo .EditRelease )
13661362 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 )
13691365 // end "/{username}/{reponame}": repo releases
13701366
13711367 m .Group ("/{username}/{reponame}" , func () { // to maintain compatibility with old attachments
@@ -1529,21 +1525,19 @@ func registerRoutes(m *web.Router) {
15291525 }, repo .MustBeNotEmpty , context .RepoRef ())
15301526
15311527 m .Group ("/media" , func () {
1528+ m .Get ("/blob/{sha}" , repo .DownloadByIDOrLFS )
15321529 m .Get ("/branch/*" , context .RepoRefByType (git .RefTypeBranch ), repo .SingleDownloadOrLFS )
15331530 m .Get ("/tag/*" , context .RepoRefByType (git .RefTypeTag ), repo .SingleDownloadOrLFS )
15341531 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
15381533 }, repo .MustBeNotEmpty )
15391534
15401535 m .Group ("/raw" , func () {
1536+ m .Get ("/blob/{sha}" , repo .DownloadByID )
15411537 m .Get ("/branch/*" , context .RepoRefByType (git .RefTypeBranch ), repo .SingleDownload )
15421538 m .Get ("/tag/*" , context .RepoRefByType (git .RefTypeTag ), repo .SingleDownload )
15431539 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
15471541 }, repo .MustBeNotEmpty )
15481542
15491543 m .Group ("/render" , func () {
@@ -1557,8 +1551,7 @@ func registerRoutes(m *web.Router) {
15571551 m .Get ("/branch/*" , context .RepoRefByType (git .RefTypeBranch ), repo .RefCommits )
15581552 m .Get ("/tag/*" , context .RepoRefByType (git .RefTypeTag ), repo .RefCommits )
15591553 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
15621555 }, repo .MustBeNotEmpty )
15631556
15641557 m .Group ("/blame" , func () {
0 commit comments