Hosting a theme on Sourceforge, PT. 1

The advantages of sourceforge hosting are all things that all themes should have: demo blog, screenshots, download stats, nationwide download mirrors, SVN repository, bug tracker, forums. All things you could provide from your own web host, but not only would it cost a fair chunk, having bugs and support show up as comments on your blog can get to be a bit unweildy. For any GPL theme, sourceforge hosting is Free as in beer. unfortunately, getting set up on sourceforge isn’t a cakewalk. so i’m going to attempt to index their documentation in a more straightforward manner. Part 2 will explain how to install wordpress on your project’s website, to give you a fully featured demo site.

  1. Regiser for the site. (create account, in the top right of any page). the name you choose is going to be the name of the lead developer. it doesn’t have to be a real name if you don’t want it to.
  2. Register your project. i know, that’s an absurd number of options. you have to save each option (trove) before moving on to the next one. your UNIX name should probably start with ‘wp-‘ for clarity and findability. The descriptive name should start with ‘WP Theme -‘ for the same reason. The Basics:
    • Intended Audience :: End users/Desktop
    • Topic :: Internet :: WWW/HTTP :: Dynamic Content
    • OS Independent (Written in an interpreted language)
    • User Interface :: Web Based

    Your description is probably not the one that shows up in the dashboard. it should start by explaining that this is a wordpress theme. It should explain what sets you apart from other themes, whether that’s aesthetics, options, or plugin support. This would be a good place to describe your layout, and basic colors.
    from this point on, everything will be done through the admin menu. on the top right of your project page:Sourceforge Admin

  3. Upload a screenshot. You can upload more once after you’re set up.
  4. fire up your ftp client. connect to, and upload your zip file
  5. now go to Admin > File Releases. select the file from the list at the bottom of the page . Don’t worry about your first changelog/notes entry. ‘initial public release’ is good enough.

Setting up SVN:

Nobody wants to use CVS anymore. go to Admin > Subversion, and tick the checkbox. From here on out, I’m assuming you’re using tortoise SVN, because it’s easy, and i can take screenshots 😉

right click in any folder on your computer, and choose the repo-browser:

repo browser

You’ll be prompted for a repository to browse. the address is on that SVN page you just ticked the box on: You’ll want to create 3 folders: Trunk, Tags, and Branches. Right click on the main folder. When you choose create folder, and name it, you’ll be promted for your sourceforge username and password.

Trunk is where your project lives, Tags are snapshots every time you release a new version. Branches are like tags, only they both make progress. You might use this if you were making a version 2 of your theme, while continuing to support version 1.

To start your SVN repository, right click on the folder that has the release version of your file, and choose “Import” from the tortoise submenu. It will prompt you for the address of your repository, make sure you add the /trunk to the end of the url! This puts your files on sourceforge. Users can now browse your code online.

Now your code is set up on the server, but you still don’t have a local copy that you can easily update. Now you want to make a new folder for your theme in your local /wp-content/themes/ folder. right click on it, and choose “SVN Checkout”. Again, make sure to put /trunk on the end of the url.

I’m assuming that this is a new theme that you’re already ready to release. If that’s true, the first thing you should do, is right click on the folder you just checked out, and choose “Branch/Tag”. That brings up this window:


Change the URL to /tags/1.0. and leave everything else. You can use the specific version if you release a version and forget to tag it. You probably only want to switch your working copy to a branch, not a tag.

New Versions

Now when you fix a bug, or tweak your CSS, after you save, you can just right click on the file, and choose “SVN Commit”. you’ll be prompted to enter a description of the change, and possibly your password the first time. when you want to release a new version, right click on your folder, and choose “Export”. you’ll be prompted for a folder to save to, you probably just want to make a folder on your desktop. This just copies all the files except the .svn folders, so you can zip it up and upload it to sourceforge via FTP. then just tag the new version, and you’re all set. You’ll probably also want to post about it on your development blog, which I’ll explain how to set up in part 2.


One thought on “Hosting a theme on Sourceforge, PT. 1

  1. Pingback: PT 2: Setting up a demo site « SunBurntKamel

Comments are closed.