You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on May 10, 2023. It is now read-only.
* Docs: Refresh README
* Docs: Tweak the process / steps list
* Avoid error if xargs is empty
* Revert "Avoid error if xargs is empty"
This reverts commit b2fb8d3.
* resolve inconsistencies
* more specific
* updated to use `svn resolve`, not needed in tags directory
* add reading of local .svnignore over defaults
* fix typo
* use $SVNIGNORE for svn del
svn propset snv:ignore ... is flaky
* make as comment and reorder
* rename ignore file
* use `xargs rm -rf` as `xargs svn del`
will exit early if file doesn't exist
* use .svnignore
* me
* initial dupicate of deploy.sh
* update readme
* remove
* reset user
* Update readme.txt to latest tag (#39)
* update readme
* initial pass at readme only update
update
silence
* update readme.txt if current tag already exists
Co-authored-by: Gary Jones <[email protected]>
Co-authored-by: Stefano Saitta <[email protected]>
# Github to WordPress Plugin Directory Deployment Script, Git-Flow Version
1
+
# WordPress Plugin Directory Deployment Script
2
2
3
-
Deploys a WordPress plugin from Github (git) to the WordPress Plugin Repostiory (svn), taking account of standard [git-flow](https://github.com/nvie/gitflow) usage.
3
+
Deploys a WordPress plugin from a local Git repo to the WordPress Plugin Repostiory (SVN).
4
4
5
-
## Credits
6
-
Well over 90% of this script was written by others:
-**[Brent Shepherd](https://twitter.com/thenbrent)** - [Avoids permanent local SVN repo, avoids sending redundant stuff to WP repo](http://thereforei.am/2011/04/21/git-to-svn-automated-wordpress-plugin-deployment/)
10
-
-**[Patrick Rauland](https://twitter.com/BFTrick)** - [Support for WP assets folder for plugin page banner and screenshots](https://github.com/BFTrick/jotform-integration/blob/master/deploy.sh)
11
-
-**[Ben Balter](https://twitter.com/benbalter)** - [Submodules support and plugin slug prompt](https://github.com/benbalter/Github-to-WordPress-Plugin-Directory-Deployment-Script/)
12
-
-**[Gary Jones](https://twitter.com/GaryJ)***(me)* - [Personalisation and commenting out bits not required when using git-flow](https://github.com/GaryJones/wordpress-plugin-git-flow-svn-deploy)
13
-
14
-
## Process
15
-
1. Prompts for plugin slug and other data.
16
-
- Verifies plugin header version number matches readme stable version number or readme stable version is trunk
17
-
- Pushes latest git commit and tags to GitHub.
18
-
- Creates temporary checkout of SVN repo.
19
-
- Ignores non-WordPress repo files from SVN.
20
-
- Copies git export to SVN trunk.
21
-
- Checks out any submodules.
22
-
- Copies contents of assets directory in trunk to a directory parallel to trunk.
23
-
- Commits SVN trunk, assets and tag.
24
-
- Attempts to remove temporary SVN checkout.
7
+
These are the steps that the script takes:
8
+
9
+
1. Asks for plugin slug.
10
+
2. Asks for local plugin directory.
11
+
3. Checks local plugin directory exists.
12
+
4. Asks for main plugin file name.
13
+
5. Checks main plugin file exists.
14
+
6. Checks `readme.txt` version matches main plugin file version.
15
+
7. Asks for temporary SVN checkout path.
16
+
8. Asks for remote SVN repo URL.
17
+
9. Asks for SVN username.
18
+
10. Asks if input is correct, and gives chance to abort.
19
+
11. Checks if Git tag exists for version number (must match exactly).
20
+
12. Does checkout of SVN repo.
21
+
13. Sets SVN ignore on some GitHub-related files.
22
+
14. Exports `HEAD` of `master` from Git to the trunk of SVN.
23
+
15. Initialises and updates any git submodules.
24
+
16. Moves `/trunk/assets` up to `/assets`.
25
+
17. Moves into `/trunk`, and does an SVN commit.
26
+
18. Moves into `/assets`, and does an SVN commit.
27
+
19. Copies `/trunk` into `/tags/{version}`, and does an SVN commit.
28
+
20. Deletes temporary local SVN checkout.
25
29
26
30
## Install
27
31
@@ -30,9 +34,29 @@ Well over 90% of this script was written by others:
30
34
3. Run the script with `sh deploy.sh`. You can also double-click it in Finder / Explorer to start it.
31
35
4. You'll now be guided through a set of questions.
32
36
33
-
With [git-flow](https://github.com/nvie/gitflow), specifically the `git flow release finish ...` command, the release branch is merged into the develop branch, the master branch and a tag is created, so these aren't needed with this deploy script.
34
-
35
37
I prefer to keep this script in the root of my projects directory. Each project directory is named as the plugin slug, as is the corresponding GitHub repo. To use, just call the script, enter the plugin slug, confirm or amend default suggestions, and sit back as the code is sent to SVN and git repos including tags. The commit messages here are hard-coded for consistency.
36
38
39
+
## Extras
40
+
41
+
You may define your own `.svnignore` file similar to an `svn propset svn:ignore .svnignore` command. This will remove any listed files and/or directories from committing to the Plugins Directory.
-**[Brent Shepherd](https://twitter.com/thenbrent)** - [Avoids permanent local SVN repo, avoids sending redundant stuff to WP repo](http://thereforei.am/2011/04/21/git-to-svn-automated-wordpress-plugin-deployment/)
53
+
-**[Patrick Rauland](https://twitter.com/BFTrick)** - [Support for WP assets folder for plugin page banner and screenshots](https://github.com/BFTrick/jotform-integration/blob/master/deploy.sh)
54
+
-**[Ben Balter](https://twitter.com/benbalter)** - [Submodules support and plugin slug prompt](https://github.com/benbalter/Github-to-WordPress-Plugin-Directory-Deployment-Script/)
55
+
-**[Gary Jones](https://twitter.com/GaryJ)***(me)* - [Personalisation and commenting out bits not required when using git-flow](https://github.com/GaryJones/wordpress-plugin-git-flow-svn-deploy)
56
+
57
+
There has been a significant amount of changes since then though.
58
+
59
+
37
60
## License
61
+
38
62
This package was created at a time when the above credited repositories had no license. For any amendements done since then, the code is [licensed](LICENSE.md) under MIT. For the original work, contact the previous authors.
0 commit comments