Thread Tools Display Modes
03-26-16, 04:35 PM   #1
Sweetsour
A Flamescale Wyrmkin
AddOn Author - Click to view addons
Join Date: Dec 2014
Posts: 130
Issues with WoW Ace SVN system

I'm struggling with some issues with SVN.

I've committed a few changes now without any issues. Though, I recently tried to commit changes and the file isn't appearing on my project page. TortoiseSVN's interface said the commit went through fine. I've tried using "SVN Update" and still nothing.

Also, I tried adding a "beta" tag in an attempt to change it from alpha to beta. I'm thinking that wasn't the correct thing to do. Though, when I click on the "download" link on my project page, it downloads the older "beta" tagged file that's now out-of-date. It just seems like my SVN is a bit of a mess.

Lastly, should I be committing to the public URL or the development URL? If I should be committing to the development URL, I've been using the public URL. How would I change to the development URL?
  Reply With Quote
03-26-16, 05:25 PM   #2
myrroddin
A Pyroguard Emberseer
 
myrroddin's Avatar
AddOn Author - Click to view addons
Join Date: Oct 2008
Posts: 1,240
Definitely the development URL. You are the developer, of course. To change it, you can to into TortoiseSVN's settings, find the cache, and alter it. Or you can delete the SVN checkout folder from your hard drive, and re-download it with TSVN via the correct link.

Assigning "beta" or "release" is not a bad thing. It means the zip file will propagate to Curse. What doesn't work well is adding the tag directly in TSVN for some reason. Instead, commit your latest alpha build as normal, then on the Curseforge/Wowace project page, click the Repository tab, then use its tag.
  Reply With Quote
03-26-16, 05:53 PM   #3
Sweetsour
A Flamescale Wyrmkin
AddOn Author - Click to view addons
Join Date: Dec 2014
Posts: 130
Thanks for the response!

I managed to change the respository URL in TSVN. Though, I'm still not seeing the latest revisions in my WoW Ace project page. It's currently at r7, but it's only displaying up to r5. Everything's showing up correctly on TSVN's end.

Just wanted to make sure I have the tagging procedure correct.
  1. Commit changed using TSVN
  2. Go to repository section of my addon's WoW Ace project page
  3. Click "Tag Repository"
  4. Enter tag name

Does that look right? Also, would I just use "beta" as a tag?
  Reply With Quote
03-26-16, 06:12 PM   #4
myrroddin
A Pyroguard Emberseer
 
myrroddin's Avatar
AddOn Author - Click to view addons
Join Date: Oct 2008
Posts: 1,240
There may be a delay in the packager. It happens now and then. You can check the progress on your project's repo page, click the Repository Management link at the right. Then view packager status.
  1. Yes.
  2. Yes.
  3. Yes.
  4. Yes. But a better name might be in order. For example, my first beta of LibUtilities-1.0 I used the tag 6.2-beta1 but you don't have to copy that. Something beta, or beta something, to indicate to the user which version is which. Tagging beta, then in x time you tag beta again will work, but it provides no info to the user which is the newer version. Even beta1 or first beta are better.
Just remember two things:
  • Keep it simple, silly (KISS)
  • End users are dumb
Also, pro tip: use repository keywords. In your SVN folder's ToC, you could use @project-version@ and it will automatically fill that in (r7, 6.2-beta1, First Release, etc.)
  Reply With Quote
03-26-16, 06:21 PM   #5
myrroddin
A Pyroguard Emberseer
 
myrroddin's Avatar
AddOn Author - Click to view addons
Join Date: Oct 2008
Posts: 1,240
Another tip, for when you want to tag a release version (not beta), you do not need the word release in the tag name. You could, and that's fine. But you can also use numbers, and the packager figures it out.

These are release versions:
  • 6.2-release1
  • Release-1.0
  • Release 1.0 (you don't need to connect the parts of the name by -, ., or anything)
  • 1.0
  • 4.3-5 (to my reading, this would be major version 4, update 3, 5 minor fixes)
  • 4.3.5 (same as above, just different)

Last edited by myrroddin : 03-26-16 at 06:25 PM. Reason: Further thoughts, clarification
  Reply With Quote
03-26-16, 06:24 PM   #6
Sweetsour
A Flamescale Wyrmkin
AddOn Author - Click to view addons
Join Date: Dec 2014
Posts: 130
Haha, I definitely remember my programming profs telling us that we have to assume the end-user is dumb.

Before trying to repository keywords, I wanted ensure I'm using them correctly before committing.

So the ToC file would look something like this?
Lua Code:
  1. ## Normal ToC info
  2. #@project-revision@ 6.2-beta1

Also, I found this in the packager status: "Skipping zip for wow/gold-tracker-plus/mainline, it has a new alpha build but is set to package Beta and Release."
  Reply With Quote
03-26-16, 06:34 PM   #7
myrroddin
A Pyroguard Emberseer
 
myrroddin's Avatar
AddOn Author - Click to view addons
Join Date: Oct 2008
Posts: 1,240
Here is LibUtilities-1.0 ToC file, developer version. Notice how I use the keywords. After the code jump, I'll answer your next question.
Lua Code:
  1. ## Interface: 60200
  2. ## Title: Lib: Utilities-1.0
  3. ## Notes: Utilities for pixel perfection, math rounding, math rounding, decimal to hex, parsing item strings
  4. ## Notes-ruRU: @localization(locale="ruRU", key="Description", namespace="ToC")@
  5. ## Notes-deDE: @localization(locale="deDE", key="Description", namespace="ToC")@
  6. ## Notes-koKR: @localization(locale="koKR", key="Description", namespace="ToC")@
  7. ## Notes-esMX: @localization(locale="esMX", key="Description", namespace="ToC")@
  8. ## Notes-esES: @localization(locale="esES", key="Description", namespace="ToC")@
  9. ## Notes-ptBR: @localization(locale="ptBR", key="Description", namespace="ToC")@
  10. ## Notes-zhCN: @localization(locale="zhCN", key="Description", namespace="ToC")@
  11. ## Notes-zhTW: @localization(locale="zhTW", key="Description", namespace="ToC")@
  12. ## Notes-itIT: @localization(locale="itIT", key="Description", namespace="ToC")@
  13. ## Notes-frFR: @localization(locale="frFR", key="Description", namespace="ToC")@
  14.  
  15. ## LoadOnDemand: 1
  16.  
  17. ## Author: Myrroddin, Knights of the Storm (Llane-US)
  18. ## X-License: (c) 2016 Paul "Myrroddin" Vandersypen. All Rights Reserved.
  19. ## Version: @project-version@
  20. ## X-Date: @project-date-iso@
  21. ## X-Revision: @project-revision@
  22. ## X-Category: Library
  23.  
  24. LibStub\LibStub.lua
  25. lib.xml
That message you see means that you have gone into your project's Repo page and changed the setting. The default is for it to create alpha, beta, and release zip files, but you changed it so it only zips up beta and release. Therefore it is skipping any and all alpha builds, which are the ones you commit with TSVN. The files still exist, because you did the commit, but there is no zip file to download.

You, the developer, can still check out the alphas, even though they won't show up on the project file list. Use TSVN to update, or delete the work folder on your computer and check it out again. There isn't much point to this, as you have the alpha build sitting on your computer. It's the build you are committing.
  Reply With Quote
03-26-16, 06:40 PM   #8
myrroddin
A Pyroguard Emberseer
 
myrroddin's Avatar
AddOn Author - Click to view addons
Join Date: Oct 2008
Posts: 1,240
For your example, yes, you can combine keywords with any text. These are valid
Lua Code:
  1. ## Version: 6.2.@project-revision@ -- prints 6.2.r8 if revision is 8
  2. ## Version: @project-revision@-beta
  3. ## Version: @project-version@
  4. ## Version: @project-revision@ -- prints r8 even if you tag it as beta or release 6.2-beta1
Read the docs on the difference between revisions and versions, if you are unclear.
  Reply With Quote
03-26-16, 06:44 PM   #9
Sweetsour
A Flamescale Wyrmkin
AddOn Author - Click to view addons
Join Date: Dec 2014
Posts: 130
Perfect, you've been a big help! I should be able to take some steps forward
  Reply With Quote
03-26-16, 06:49 PM   #10
myrroddin
A Pyroguard Emberseer
 
myrroddin's Avatar
AddOn Author - Click to view addons
Join Date: Oct 2008
Posts: 1,240
I kind of expect the localization things I've done may trip you up. Look at the localization page. You will see a Namespaces section, and I created one called ToC, with a key called Description, which is translated to Utilities for pixel perfection, decimal to hex, parsing item strings in enUS.

Which reminds me I need to fix the Notes line in my ToC for that!
  Reply With Quote
03-26-16, 07:00 PM   #11
Sweetsour
A Flamescale Wyrmkin
AddOn Author - Click to view addons
Join Date: Dec 2014
Posts: 130
Hmm, still stuck with the files not showing up. I've changed the repository to Alpha, Beta, and Release.

I deleted my folder from the addon directory, then checked out the addon again from the original folder. Also, when I set the checkout directory, do I keep "\mainline" at the end of the directory path, or do I take that part out?
  Reply With Quote
03-26-16, 08:25 PM   #12
Sweetsour
A Flamescale Wyrmkin
AddOn Author - Click to view addons
Join Date: Dec 2014
Posts: 130
Figured it out. I had to delete the contents of the "trunk" folder in the repository. Checking out the files again did the trick.
  Reply With Quote
03-26-16, 09:24 PM   #13
myrroddin
A Pyroguard Emberseer
 
myrroddin's Avatar
AddOn Author - Click to view addons
Join Date: Oct 2008
Posts: 1,240
I always rename "mainline" to whatever project I'm working on. Sometimes I use shorthand. Like SR2 instead of SmartRes2, or LU1 instead of LibUtilities-1.0 –– that sort of thing. In my .pkgmeta, I use package-as: ActualAddOnName to make sure the zip folders are correct.

You shouldn't have to delete the trunk directory; maybe that was what was corrupting your file uploads, but in the future, please avoid deleting trunk

Edit: it is best practice to check out and commit to /trunk unless you have a valid reason to do otherwise. I can only think of one AddOn where the end user (almost always a developer user) might check out /trunk/someFile, but even in that case, most dev-users would check out from /trunk. For this oddball case, which I won't link because of confusion, if you were to check out /trunk/specificFile, it would be to avoid a test folder/AddOn that comes bundled. Since said test AddOn isn't installed into \Interface\AddOns, it won't run, thus no harm, no foul.

Last edited by myrroddin : 03-26-16 at 09:32 PM. Reason: OCD at work?
  Reply With Quote
03-27-16, 06:02 AM   #14
myrroddin
A Pyroguard Emberseer
 
myrroddin's Avatar
AddOn Author - Click to view addons
Join Date: Oct 2008
Posts: 1,240
I sent you a PM on Wowace/Curseforge.
  Reply With Quote

WoWInterface » AddOns, Compilations, Macros » AddOn Help/Support » Issues with WoW Ace SVN system

Thread Tools
Display Modes

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

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