Register new account
WowAce.com Knowledge base
== Can anyone get a repository? == As long as you have an account on the Curse Network and are able to get a project approved, you'll be able to get your own repository. == How do I get my own code repository? == # Create a project if you haven't already, wait for an admin to approve your project. # On your project page, you should go to Repository Actions -> Edit Repository. # For "Repository Type", select the one you want. Currently Subversion, Git, and Mercurial are supported. # In "Package As", but the name of your project's main folder. For World of Warcraft, this will be the same as your Addon's TOC. # Wait roughly a minute, and your repository should be created. == How do I actually use my repository now? (Subversion) == # You have the option of using a simple SVN password. SSH keys are far more secure, but harder to set up. # To use SSH keys, follow the instructions of the article about [[SSH Public Keys]] and use the "Development url" starting with svn+ssh://. # To use simple SVN password, go to [[http://www.curseforge.com/home/repository-authorization/edit/]] and setup your SVN password. Then use the "Development url" starting with svn:// that should contains your username in lowercase. Enter your password when told to do so. == How do I actually use my repository now? (Git) == # Follow the instructions of the article about [[SSH Public Keys]]. # Go to your project page and it will list your "Development url". This is what you will be pushing to. ''Note: You can't clone this repository if it's empty, you have to push to it first.'' # ##mkdir MyProject## (Or whatever your project's name is) # ##cd MyProject## # ##git init## # ##git remote add origin firstname.lastname@example.org:wow/my-project/mainline.git## (Whatever your "Development url" actually is) # Add whatever files you want, commit it locally # ##git push origin master## # Add some more files, commit locally # ##git push## (You only have to do this from now on) == How do I actually use my repository now? (Mercurial) == # Follow the instructions of the article about [[SSH Public Keys]]. # Go to your project page and it will list your "Development url". This is what you will be pushing to. # ##hg clone ssh://hg.curseforge.net/wow/my-project/mainline MyProject## (Replace with your "Development url" and project name) # ##cd MyProject## # Edit whatever files you want, commit locally # ##hg push## == How do I get the packager to make a release or beta == You need to create a tag with your repository. === Subversion === Something along the lines of <<code sh>> svn cp svn://svn.curseforge.net/wow/my-project/mainline/trunk svn://svn.curseforge.net/wow/my-project/mainline/tags/v0.1 -m "Tagging as v0.1" <</code>> Except replace ##svn://svn.curseforge.net/wow/my-project/mainline## with your repository url and ##v0.1## with the tag you want. === Git === <<code sh>> cd MyProject git tag -a v0.1 -m "Tagging as v0.1" git push origin master tag v0.1 <</code>> === Mercurial === <<code>> hg tag -m "Tagging as v0.1" v0.1 hg push <</code>> === Through the website === Go to your project page's repository section, and there will be a "tag repository" link on the side panel. Put in the name you want for your tag, and it will tag it for you. == How does the packager know whether a tag is a release or a beta? == It checks if the tag name matches the regex ##^v?[0-9\.\-_]+$|release|stable##. In layman's terms, it is a release if either: * It optionally starts with "v" and has only numbers, dots, dashes, or underscores. * It has 'release' in the name * It has 'stable' in the name == How can I specify externals? (a.k.a. embeds/libraries) == See [[Repositories/.pkgmeta file|.pkgmeta file]] == I tagged my project, but I don't see a file made! == Relax. The packager only runs on set intervals (approximately every 20 minutes), at which point it packages any new tags that were created since its last run. If you tag your project, give it up to 30 minutes or so (on the outside) to build the zip. Changes to packager settings won't affect whether the packager detects a tag or not - only whether it actually packages it. If you change your packager settings before a tag is built, the new packager settings will be in effect when it goes to build the tag. There's no need to recommit a tag if you change your packaging settings, unless the tag was already built.
The type of markup for this entry.
Click here for details