This is a simple guide for developers, to allow a common tree structure and commit messages for every package stored into the main repository. First you need to checkout the current ports tree or at least the root directory: {{{ svn checkout http://svn.netlabs.org/repos/ports }}} Here is the commit sequence for storing a new port (named xx here): {{{ [ports] mkdir xx\vendor\current. unpack sources into current. [ports] svn add xx svn commit -m "xx: initial vendor import of xx 8.12." [ports\xx\vendor] svn copy current 8.12 svn commit -m "xx: tag current vendor version." [ports\xx] svn copy vendor/current trunk svn commit -m "xx: import current vendor version into trunk." [ports\xx\trunk] add os2 patches, new files, etc. svn commit -m "xx: applied os2 patches, added new files, etc etc." }}} Once you have to upgrade then vendor tree to a newer version, first put it in ''current'' tree and tag the version release. Please take note of svn revision for tag operation. To merge changes into the trunk, supposed 318 is the latest revision, use {{{ [ports\xx] svn merge vendor/8.12@318 vendor/8.13@318 trunk svn commit -m "xx: update trunk to 8.13". }}}