WordPress.org

Making WordPress.org

Opened 4 months ago

Last modified 3 months ago

#5899 assigned enhancement

Allow theme updates via SVN

Reported by: dd32 Owned by: dd32
Milestone: Priority: normal
Component: Theme Directory Keywords:
Cc:

Description

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 WordPress.org for this.

For general discussion and feedback related to this project, please kindly keep the discussion on https://make.wordpress.org/themes/2021/09/13/theme-upload-survey-results-next-steps/ 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.

Change History (14)

#1 @dd32
4 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
4 months ago

In 11229:

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

See #5899.

#3 @dd32
4 months ago

In 11230:

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

See #5899.

#4 @dd32
4 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
4 months ago

In 11232:

Theme Directory: Add a cron task to monitor themes.svn.wordpress.org for new commits.

See #5899.

#6 @dd32
4 months ago

In 11233:

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

See #5899/

#7 @dd32
4 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
4 months ago

  • Keywords pending-systems added

Just noting that further implementation is awaiting systems implementation.

https://make.wordpress.org/systems/2021/09/17/theme-directory-changes/

#9 @dd32
3 months ago

  • Keywords pending-systems removed

Run a few commits through it, things of note:

#10 @dd32
3 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
3 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: https://themes.trac.wordpress.org/log/testr-child/1.0.23/ (a quick second commit a few seconds later)

#12 @dd32
3 months ago

In 11303:

Theme Directory: Enable SVN access for all themes.

See #5899

#13 @dd32
3 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
3 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.

Note: See TracTickets for help on using tickets.