The content of each ports "files" directory should be keept fairly small as it is kopied to every MacPort user harddrive. If larger patches - for example application bundles with icon files are supplied then they should be added to distfiles so they are only donwloaded by those user who are actualy installing the Port. = Setup Repository = First setup a [wiki:CommittersGuide/PersonalSVNRepository personal Subversion repository] to maintain the files. Inside your Subversion repository you should create a directory with the portfiles name. Also create a directory for the Port you work on inside the distfile area of the subversion repository. You can use the commands below to do so: {{{ Repository=http://svn.macosforge.org/repository/macports User=userid Port=portid svn mkdir --username ${User}@macports.org -m"Create staging for ${Port}" ${Repository}/users/${User}/${Port} svn mkdir --username ${User}@macports.org -m"Create distfiles for ${Port}" ${Repository}/distfiles/${Port} }}} Replace '''userid''' and '''portid''' with your own userid and the Port you are working on. = Prepare files = Prepare the files you want to distribute inside your personal Subversion repository and commit them back into Subversion. Then export them again. Export is needed so unnessesary svn meta data is not distributed. The exported files should then be packed. To keep the Portfile easy it is better to use the same archiver as is used for the main source file. You can use the following commands to do so: {{{ Repository=http://svn.macports.org/repository/macports User=userid Port=portid Version=12345 alias tar=/opt/local/bin/gnutar alias mv=/opt/local/bin/gmv alias rm=/opt/local/bin/grm svn export ${Repository}/users/${User}/${Port} mv --verbose ${Port} ${Port}-r${in_Version} tar --create --gzip --file="${Port}-r${Version}.tar.gz" "${Port}-r${in_Version}" svn import -m"Add distfile for ${Port}" "${Port}-r${Version}.tar.gz" "${Repository}/distfiles/${Port}/${Port}-r${Version}.tar.gz" rm --verbose --recursive "${Port}" }}} Replace '''12345''' with a unique version identifier and '''userid''' and '''portid''' as you did before. Use [http://trac.macports.org/browser/users/krischik/nonpareil/Upload.command Upload.command] outlines one way on how to automate the whole process.