This page is obsolete -- please see Git/NewRepository!
For help with SVN, see SubversionFAQ.
|
Users without GNOME SVN account
Please first check your project meets the ProjectPrerequisites. If all these requirements are met, send a request to svnmaster@gnome.org including:
- The requested repository (i.e. 'mynewproject')
- A brief description of what the software does.
- Links to project homepage and download page.
Your project should be approved within a few days. If sysadmin are busy, it can take a few weeks. Feel free to ask what's happening with your request on #sysadmin, but don't pester.
A sysadmin will copy an empty template repository into place for you, which will contain the standard 'trunk', 'branches' and 'tags' directories, and a simple post-commit hook file (which includes the GNOME global post-commit hook).
Check out your new module, and add your code to the 'trunk' directory. See our other notes on using Subversion with GNOME, and any other external documentation about using Subversion in general.
Please be careful not to check in any automatically generated files, such as the files that the auto* tools create. If in doubt about how to check it in, please send a link to your latest tarball to svnmaster@gnome.org and someone will take care of it for you.
If you are moving an existing subversion repository to GNOME, and want to retain the history, please prepare a compressed 'svndump' format file, make it available for download somewhere and send a *link* to it to 'svnmaster@gnome.org'.
If you are moving an existing CVS module/repository to GNOME, and want to retain the history, please prepare a compressed tarball of the CVS files (',v' files), make it available for download somewhere and send a *link* to it to 'svnmaster@gnome.org'
If you haven't got a GNOME SVN account yet, try NewAccounts.
If you wish to have your module in GNOME Bugzilla, see Bugsquad/ForMaintainers
If you wish to have a '@gnome.org' mailing list, see NewListRequest
Users with GNOME SVN accounts
Note: Your project should have an open source license and have something to do with GTK / GNOME. See ProjectPrerequisites for details.
Brand new project
Execute the following:
ssh $USERNAME@svn.gnome.org new-svn-repos $REPOS
For example:
ssh someone@svn.gnome.org new-svn-repos example-project
Please make sure your module has a syntactically valid MAINTAINERS file (see MaintainersCorner#maintainers).
Please also announce your project somewhere. E.g. the gnome-announce-list, Planet GNOME, etc.
Existing project
If you want to preserve SVN history and have a dump imported, please email svnmaster@gnome.org with a link to your SVN dump and mention your GNOME SVN username. Please pack using lzma or 7zip, the compression in some cases is at least 10 times better than gzip/bzip -9. Please note that this has to be manually resolved by a sysadmin volunteer and can take a while.
To speed up the process, and if it's possible (for example, if you've converted the repository from another format using a tool like Tailor), you can edit the SVN dump (before e-mailing svnmaster@gnome.org) to change the SVN author to match your GNOME SVN username. Follow the instructions here: http://home.introweb.nl/d/dodger/svnauthor.html.
If you can live without the history and want the process speeded up, you can instead follow the instructions above to create the repository from scratch yourself.
Sysadmin
Log on to socket. Fetch the dump and edit it, using binary mode in vim, making sure that all instances of svn:author are changed to match the relevant gnome.org userids. Change to root. Run /home/admin/bin/create-repository repositoryname [dumpfile]
Existing repositories
Check the directories within the SVN dumpfile start only with /trunk,/branches,/tags using:
grep ^Node-path $DUMPFILE | sort | uniq
Check all svn:authors match GNOME userids using:
grep -a ^svn:author -A3 $DUMPFILE | sort | uniq
Existing userids can be changed using vim. To do that use Gnumeric/Calc. The old userids should be in column A, the new ones in column B. Paste the following formula on cell C1 (and copy down):
=":%s/^K 10\(\n\)svn:author\nV "&LEN(A1)&"\n"&A1&"$/K 10\1svn:author\1V "&LEN(B1)&"\1"&B1&"/" or: =":%s/^K 10\\(\\n\\)svn:author\\nV "&LEN(A1)&"\\n"&A1&"$/K 10\\1svn:author\\1V "&LEN(B1)&"\\1"&B1&"/"
Now edit the file with dump and issue:
:set binary
After above, paste all the commands given by above formula
