Go Back   WowAce Forums > World of Warcraft > Need Help?
Need Help? Come here for your miscellaneous requests for assistance related to this game's projects.

Reply
 
Thread Tools
Old 11-01-2008   #1
myrroddin
Amazing Member
 
Join Date: May 2006
Location: Edmonton, Canada
Posts: 1,133
Send a message via MSN to myrroddin
Question How To: Use curseforge/wowace to upload via SVN/TortoiseSVN

I have been given Project Lead on SmartRes, and have updated it for 3.x of WoW. At this point, since it is an Ace3 project, I need to upload it to WoWAce and to CurseForge. Also, I would like to use Subversion, .pkgmeta, or what have you since that seems recommended.

Problem: I have gone through all the KB docs, CurseForge, WoWAce, etc, read them all, and nothing makes sense, as the "do this" stuff isn't actually showing up for me anywhere.

What I have so far is: an addon folder on my computer (should I zip it, or is that done autmatically?) Project Lead status on WoWAce, and accounts on Curse and CurseForge and a lot of questions!

A step by step tutorial, that does not assume you have uploaded to Curse.com, and does not assume that a project is a new project, would be greatly appreciated.
myrroddin is offline   Reply With Quote
Old 11-01-2008   #2
Xinhuan
Asian Sheep Lover
 
Xinhuan's Avatar
 
Join Date: Aug 2007
Location: Singapore
Posts: 4,033
Default Re: howto: use curseforge/wowace to upload

Lets assume you intend to use SVN for your source control.

First install TortoiseSVN (I assume you're a windows user, and like pretty menus), which is a SVN shell extension to windows explorer. Once that is done and you've rebooted, make sure you follow these steps carefully:

1. Move your SmartRes out of your WoW's addon folder. Yes. Move it out first. We will replace the copy you have, with the copy of SmartRes that already exists on the wowace server.

2. Now lets say your wow is installed at E:\Games\World of Warcraft, go to E:\Games\World of Warcraft\Interface\AddOns, and right click on the AddOns folder. Choose "SVN Checkout..." in the right click menu.

3. You now see a dialog box.
In the URL of repository box, put in
svn://[email protected]/wow/smart-res/mainline/trunk
This URL is basically copied from the one you see at
http://www.wowace.com/projects/smart...ries/mainline/

For checkout directory, you will put
E:\Games\World of Warcraft\Interface\AddOns\SmartRes

Use the default options for the rest and click OK.

4. Tortoise will now connect to the wowace SVN repository, and request you for a password. This password is not the same as your wowace/curse login password. You may first need to go to
http://www.wowace.com/home/repositor...rization/edit/
and set up an initial SVN password. Ignore the SSH-public key box unless you intend to use svn+ssh:// protocol as opposed to svn:// where you would be using the other URL instead.

5. If the password is accepted, Tortoise will now proceed to download SmartRes from the wowace server. The copy that is downloaded will be the "state of SmartRes" that is last zipped up and available for download on wowace/curse. This copy is also called your Working Copy, which is a SVN term. You may need to go read the SVN manual's first 2 chapters (google it) to understand SVN concepts.

6. Now go make your changes to this working copy. That is overwrite the files in it with your new changes (which you moved out earlier). File deletion must be done via Windows Explorer's Rightclick--> SVN --> Delete, you can't just delete the file directly without telling SVN about it.

7. When all your changes are done, you can now right click on your SmartRes working copy folder and choose "SVN Commit..." This brings up a dialog box, where you key in the changes you made, and get an overview of files that were changed. You can double click the files in the list to view what changed in those files (these are called SVN diffs). When you're happy, click OK, and tortoise uploads the changes. This is called a commit.

8. When you go back to http://www.wowace.com/projects/smart-res/ you will notice that a new alpha zip has been created. To create beta zips or release zips, you will need to tag your SVN's trunk's head. Right click on the SmartRes folder, and choose "TortoiseSVN --> Branch/tag..."

This brings up a dialog box that says to take the contents of
svn://svn.wowace.com/wow/smart-res/mainline/trunk
and make a copy of it to
svn://svn.wowace.com/wow/smart-res/mainline/tags/tagname
You can name tagname whatever you want, depending on how you name it, the copy will be zipped up as a beta zip or a release zip, refer to
http://www.wowace.com/knowledge-base/
and Click "Repository FAQ" and check out the question for "How does the packager know whether a tag is a release or a beta?"
For example, "v1.0" would be a release tag.

The Curse website will only offer Beta and Release zips for download.
__________________
Author/Maintainer of Postal, Omen3, GemHelper, BankItems, WoWEquip, GatherMate, Routes, HandyNotes and some others.
Xinhuan is offline   Reply With Quote
Old 11-01-2008   #3
Xinhuan
Asian Sheep Lover
 
Xinhuan's Avatar
 
Join Date: Aug 2007
Location: Singapore
Posts: 4,033
Default Re: howto: use curseforge/wowace to upload

Oh.

You will notice that in the copy that you checkout from the server, it will contain an existing .pkgmeta file. You will need to update the libraries in it to point to the new Ace3 libraries you intend to use, rather than the old Ace2 ones.
__________________
Author/Maintainer of Postal, Omen3, GemHelper, BankItems, WoWEquip, GatherMate, Routes, HandyNotes and some others.
Xinhuan is offline   Reply With Quote
Old 11-02-2008   #4
Adirelle
Legendary Member
 
Adirelle's Avatar
 
Join Date: Dec 2006
Posts: 2,383
Default Re: howto: use curseforge/wowace to upload

That topic deserve to be stickied.
__________________
Author of Inline Aura, AdiBags, Squire2 and several other addons.

Each time you hit your "copy" command with a block of code, think about a way to refactor it so it did what you want without using the "paste" command.
Adirelle is offline   Reply With Quote
Old 11-02-2008   #5
myrroddin
Amazing Member
 
Join Date: May 2006
Location: Edmonton, Canada
Posts: 1,133
Send a message via MSN to myrroddin
Default Re: howto: use curseforge/wowace to upload

When I go to
http://www.wowace.com/projects/ace3/
and click the repositories I get
svn://svn.wowace.com/wow/ace3/mainline/trunk
and in the .pkgmeta file (old version) I see listings for each component of Ace2. Does Ace3 only have one link, or should I search each component seperately?

Thank you very much for this help. This is much, much farther than I've gotten in 4 days already.

Last edited by myrroddin; 11-02-2008 at 04:17 AM.
myrroddin is offline   Reply With Quote
Old 11-02-2008   #6
myrroddin
Amazing Member
 
Join Date: May 2006
Location: Edmonton, Canada
Posts: 1,133
Send a message via MSN to myrroddin
Default Re: howto: use curseforge/wowace to upload

Also, after doing the SVN commit, I get

Command: Commit
Modified: D:\Program Files\World of Warcraft\Interface\Addons\SmartRes\.pkgmeta
Deleting: D:\Program Files\World of Warcraft\Interface\Addons\SmartRes\SmartRes-deDE.lua
Deleting: D:\Program Files\World of Warcraft\Interface\Addons\SmartRes\SmartRes-enUS.lua
Deleting: D:\Program Files\World of Warcraft\Interface\Addons\SmartRes\SmartRes-koKR.lua
Deleting: D:\Program Files\World of Warcraft\Interface\Addons\SmartRes\SmartRes-zhCN.lua
Modified: D:\Program Files\World of Warcraft\Interface\Addons\SmartRes\SmartRes.lua
Modified: D:\Program Files\World of Warcraft\Interface\Addons\SmartRes\SmartRes.toc
Modified: D:\Program Files\World of Warcraft\Interface\Addons\SmartRes\SmartResOptions .lua
Sending content: D:\Program Files\World of Warcraft\Interface\Addons\SmartRes\SmartRes.lua
Sending content: D:\Program Files\World of Warcraft\Interface\Addons\SmartRes\SmartRes.toc
Sending content: D:\Program Files\World of Warcraft\Interface\Addons\SmartRes\.pkgmeta
Sending content: D:\Program Files\World of Warcraft\Interface\Addons\SmartRes\SmartResOptions .lua
Error: Commit failed (details follow):
Error: 'pre-commit' hook failed with error output:
Error: trunk/SmartRes.lua has a syntax error:
Error: luac: stdin:62: unexpected symbol near 'local'
Finished!:

The offending code line:62 reads
local name = GetSpellInfo("Resurrection") return name

Is there an error in my code, and do I have to fix it before it will commit?

And in the pkgmeta, I did list each Ace3 component seperately, all linking to the same trunk, as above.
myrroddin is offline   Reply With Quote
Old 11-02-2008   #7
Xinhuan
Asian Sheep Lover
 
Xinhuan's Avatar
 
Join Date: Aug 2007
Location: Singapore
Posts: 4,033
Default Re: howto: use curseforge/wowace to upload

Quote:
Originally Posted by myrroddin View Post
When I go to
http://www.wowace.com/projects/ace3/
and click the repositories I get
svn://svn.wowace.com/wow/ace3/mainline/trunk
and in the .pkgmeta file (old version) I see listings for each component of Ace2. Does Ace3 only have one link, or should I search each component seperately?

Thank you very much for this help. This is much, much farther than I've gotten in 4 days already.
Each component is separate. For example, Omen's .pkgmeta looks like this:

Code:
package-as: Omen

externals:
  Libs/LibStub: svn://svn.wowace.com/wow/libstub/mainline/tags/1.0
  Libs/CallbackHandler-1.0: svn://svn.wowace.com/wow/callbackhandler/mainline/tags/1.0.3/CallbackHandler-1.0
  Libs/AceAddon-3.0: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceAddon-3.0
  Libs/AceGUI-3.0: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceGUI-3.0
  Libs/AceConfig-3.0: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceConfig-3.0
  Libs/AceConsole-3.0: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceConsole-3.0
  Libs/AceDB-3.0: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceDB-3.0
  Libs/AceDBOptions-3.0: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceDBOptions-3.0
  Libs/AceEvent-3.0: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceEvent-3.0
  Libs/AceLocale-3.0: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceLocale-3.0
  Libs/AceTimer-3.0: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceTimer-3.0
  Libs/LibSharedMedia-3.0: svn://svn.wowace.com/wow/libsharedmedia-3-0/mainline/trunk/LibSharedMedia-3.0
  Libs/AceGUI-3.0-SharedMediaWidgets: svn://svn.wowace.com/wow/ace-gui-3-0-shared-media-widgets/mainline/trunk/AceGUI-3.0-SharedMediaWidgets
  Libs/LibSink-2.0: svn://svn.wowace.com/wow/libsink-2-0/mainline/trunk/LibSink-2.0
  Libs/LibDBIcon-1.0: svn://svn.wowace.com/wow/libdbicon-1-0/mainline/trunk/LibDBIcon-1.0
__________________
Author/Maintainer of Postal, Omen3, GemHelper, BankItems, WoWEquip, GatherMate, Routes, HandyNotes and some others.
Xinhuan is offline   Reply With Quote
Old 11-02-2008   #8
Xinhuan
Asian Sheep Lover
 
Xinhuan's Avatar
 
Join Date: Aug 2007
Location: Singapore
Posts: 4,033
Default Re: howto: use curseforge/wowace to upload

Quote:
Originally Posted by myrroddin View Post
Error: Commit failed (details follow):
Error: 'pre-commit' hook failed with error output:
Error: trunk/SmartRes.lua has a syntax error:
Error: luac: stdin:62: unexpected symbol near 'local'
Finished!:

The offending code line:62 reads
local name = GetSpellInfo("Resurrection") return name

Is there an error in my code, and do I have to fix it before it will commit?
The server tries to compile your Lua file. If it fails, then it will prevent you from committing. The error indicates that you have a syntax error in the file, not necessarily on line 62, but it is first detected on line 62. It can easily be something as easy as a missing comma, a missing "end" keyword, an extra or missing bracket, etc.

Edit: If you can't figure it out, you can either paste your code, or attach/upload it somewhere for review.
__________________
Author/Maintainer of Postal, Omen3, GemHelper, BankItems, WoWEquip, GatherMate, Routes, HandyNotes and some others.

Last edited by Xinhuan; 11-02-2008 at 05:20 AM.
Xinhuan is offline   Reply With Quote
Old 11-02-2008   #9
myrroddin
Amazing Member
 
Join Date: May 2006
Location: Edmonton, Canada
Posts: 1,133
Send a message via MSN to myrroddin
Default Re: howto: use curseforge/wowace to upload

Xinhuan, alright, good up to the where you talk about creating betas or releases. Then it shows something else:
Quote:
svn://[email protected]/wow/smart-res/mainline/trunk
Shouldn't it say:
Quote:
This brings up a dialog box that says to take the contents of
svn://svn.wowace.com/wow/smart-res/mainline/trunk
and make a copy of it to
svn://svn.wowace.com/wow/smart-res/mainline/tags/beta or release to push
And when I do this, I select the radio button for HEAD revision in the repository correct?
myrroddin is offline   Reply With Quote
Old 11-02-2008   #10
myrroddin
Amazing Member
 
Join Date: May 2006
Location: Edmonton, Canada
Posts: 1,133
Send a message via MSN to myrroddin
Default Re: howto: use curseforge/wowace to upload

Wow, never mind, I just had no patience. It worked. Thank you for everything, Xinhuan. Much appreciated, and I said as such on the project's curse page. *bows gratefully*
myrroddin is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 08:54 AM.