Opened 21 months ago

Closed 14 months ago

Last modified 14 months ago

#5899 closed enhancement (fixed)

Allow theme updates via SVN

Reported by: dd32's profile dd32 Owned by: dd32's profile dd32
Milestone: Priority: normal
Component: Theme Directory Keywords:


As mentioned in the recent results of the Theme Upload survey we're going to open up SVN commit for theme authors to update themes.

This will (at least initially) have certain restrictions on the format of the commits by Theme Authors, so as to keep the changes required to the Theme Directory to a minimum and avoid disruption for authors.

This is a tracking ticket for the changes needed on for this.

For general discussion and feedback related to this project, please kindly keep the discussion on so as to keep all feedback in a single centralised location. Issues that arise due to changes in this ticket can be logged here comment, or if this ticket is closed, as a new meta ticket.

Attachments (1)

Screen Shot 2022-02-25 at 1.29.19 pm.png (109.5 KB) - added by dd32 15 months ago.

Download all attachments as: .zip

Change History (18)

#1 @dd32
21 months ago

In 11228:

Theme Directory: Add an API endpoint to generate a dynamic SVN auth file.

Note: This won't take effect until we're ready to welcome commits.

See #5899.

#2 @dd32
21 months ago

In 11229:

Theme Directory: Add a method to import a theme update from a SVN directory.

See #5899.

#3 @dd32
21 months ago

In 11230:

Theme Directory: Move exec_with_notify() to a trait for use in other classes too.

See #5899.

#4 @dd32
21 months ago

In 11231:

Theme Directory: Move exec_with_notify() to a trait for use in other classes too.

Take two.

See #5899.

#5 @dd32
21 months ago

In 11232:

Theme Directory: Add a cron task to monitor for new commits.

See #5899.

#6 @dd32
21 months ago

In 11233:

Theme Directory: Remove some debug that slipped into [11232].

See #5899/

#7 @dd32
21 months ago

In 11237:

Theme Directory: Introduce a specific constant/key for fetching the SVN Auth file.

This also stops outputting theme access rules until ready.

See #5899.

#8 @dd32
21 months ago

  • Keywords pending-systems added

Just noting that further implementation is awaiting systems implementation.

#9 @dd32
20 months ago

  • Keywords pending-systems removed

Run a few commits through it, things of note:

#10 @dd32
20 months ago

In 11280:

Theme Directory: Include themes on an opt-in basis in the themes.svn access file during testing.

This limitation will be removed once everything is confirmed to be operational.

See #5899

#11 @dd32
20 months ago

Something I didn't consider; Since the pre-commit hook is using the themes API, it's possible to make multiple commits to a theme prior to the theme being processed, aka before it's the latest version of the theme.

This also means that if a theme is rolled back, say from 1.2 to 1.1 (through the themes admin) then commits to 1.2 would pass the pre-commit checks.

Perhaps it needs an extra block, to prevent the commit if the versioned folder exists at all, even if it's not the current public version of the theme.

Eg: (a quick second commit a few seconds later)

#12 @dd32
19 months ago

In 11303:

Theme Directory: Enable SVN access for all themes.

See #5899

#13 @dd32
19 months ago

In 11304:

Theme Directory: Slack Firehose: When a theme import came from SVN, include a 'Compare' link along side the changeset, as the changeset diff is unlikely to show the changes directly.

See #5899.

#14 @dd32
19 months ago

In 11305:

Theme Directory: Slack Firehose: Include the commit message into the Slack logging when it's not an automated commit.

See #5899.

#15 @dd32
16 months ago

In 11588:

Theme Directory: Add an email for failed theme imports from SVN.

Theme Check still runs on theme updates via SVN, and will reject themes that do not need requirements.

See #5899.

#16 @dd32
15 months ago

In 11605:

Theme Directory: Notify theme authors after their theme update via SVN fails to be imported.

See #5899.

#17 @dd32
14 months ago

  • Resolution set to fixed
  • Status changed from assigned to closed
Last edited 14 months ago by dd32 (previous) (diff)
Note: See TracTickets for help on using tickets.