[wp-hackers] Plug-in Repository Structure

Brian Layman wp-hackers at thecodecave.com
Thu Mar 3 01:45:27 UTC 2011

On 3/2/2011 6:16 PM, Chip Bennett wrote:
> Personally, I use /trunk for my unstable/development version, and only tag
> stable versions.
> As far as I know, as long as /trunk/readme.txt points to a valid /tag/
> version, you shouldn't *have* to maintain anything else in /trunk.
It seems a blatant misuse of the technology to me. The fact that SVN 
would even allow this is another mark against it in my book, but sure 
you could do it.

A tag is meant to be a snap shot in time of a the project - in other VCS 
it's simply a label pointing to a specific revision of the repository 
(or specific revisions of the files).  The trunk is supposed to be root 
of the repository and store a complete history of the project's files 
across time. A branch should be a temporary(ish) copy of the code and 
subsequent modifications.  If the SVN developers had made tags and 
branches functionally different, there wouldn't be this confusion.

So, strictly speaking, all your code should be in the trunk and then 
when you release, make a tag for that release.  Strictly speaking you 
should create a branch for the development of the next version and merge 
it back in to the trunk so that the trunk is available to create fixes 
of the previous tag, but I doubt anyone does that for plugins.   No even 
me. :)

If you didn't follow that procedure, few people would notice or care.  I 
check out ONLY the trunk of all the plugins when I check everything out, 
but since Mark's fancy new checkout tool is so fast, I'll be moving away 
from that.

*Brian Layman**
*eHermits Inc. LTD

More information about the wp-hackers mailing list