Reply
 
Thread Tools Display Modes
Old 11-04-2009, 01:40 AM   #1
Barjack
A Murloc Raider
Interface Author - Click to view interfaces
Join Date: Apr 2009
Posts: 6
Lightbulb Maintaining local patches for addons

So, the scenario is that I often end up making many small tweaks to third party mods in order to make them fit my UI better. The problem is, how does one keep track of these changes? I'm guessing there are other people who do the same, as I'm wondering if anyone has opinions or advice on good or easy ways to do this (specifically on Windows).

Right now I'm just going in and editing the files immediately when I decide to try a change, then afterwards I'll add a little note that "Addon X is edited" so I know that I can't update it without overwriting an edit. Then when I do finally update the mod I'll go in, look for what I changed, and duplicate that in the new file. Definitely not ideal, but part of the problem is I don't really know an easy way to make this process better. Ideally maybe I'd have some sort of diffs/patches which I could reference to see what I changed, but setting up and using repos for each change seems a little difficult, and putting the addons folder thing in one big repo doesn't seem right either. I don't have that much experience with version control though, so maybe I'm overlooking a good way to do this.

So, anyone else encountered these problems? Advice/ideas?
Barjack is offline   Reply With Quote
Old 11-04-2009, 06:05 AM   #2
Jzar
A Flamescale Wyrmkin
 
Jzar's Avatar
Interface Author - Click to view interfaces
Join Date: Jun 2007
Posts: 104
Yeah, I tinker with a number of the addons I use. Usually, I just post my changes to the addon's comments section and suggest the author incorporate my changes, or something similar. Being active in an addon's community can really help improve it for everyone, and you might be surprised by how often the author has responded favorably, and then my changes are simply incorporated into the original. No more version control problem!

A lot of the other changes I'm forced to make to addons come because the author no longer is maintaining them, so I don't get into version conflict scenarios with them.

For the few times where the author and I disagree on whether a change should be made to their addon, I usually simply adjust to their wishes because I don't want to get into the headache of a situation that you describe. My solution's not ideal either, but I have to admit that I was surprised at how often I was able to adjust fairly well with a little more tinkering with configuration, or reworking some part of my UI or something.
Jzar is offline   Reply With Quote
Old 11-04-2009, 12:03 PM   #3
nightcracker
A Chromatic Dragonspawn
 
nightcracker's Avatar
Interface Author - Click to view interfaces
Join Date: Sep 2009
Posts: 161
I think the following system would be awesome:
The minion checks the MD5 of the mod you have in your folder and the one of the original addon. If they differ he goes looking deeper for changesets and upload those changesets to a place where the author can look at them. This means if you make some changes the author can look at those changes and consider them applying them into the original addon. This is an automatic feedback system which saves a lot of time and improves the quality of addons a lot.

But that's just my 2 cents.
nightcracker is online now   Reply With Quote
Old 11-04-2009, 01:08 PM   #4
wurmfood
A Theradrim Guardian
Interface Author - Click to view interfaces
Join Date: Apr 2009
Posts: 61
The problem with that is a number of addons give you the option of adjusting configuration files and those don't need to be uploaded to the author.

Although, having a .toc line that said a particular file is a config file and shouldn't be written over unless specified by the author would be nice.
wurmfood is online now   Reply With Quote
Old 11-04-2009, 08:25 PM   #5
jeffy162
A Cliff Giant
 
jeffy162's Avatar
Join Date: May 2009
Posts: 79
Quote:
Originally Posted by wurmfood View Post
Although, having a .toc line that said a particular file is a config file and shouldn't be written over unless specified by the author would be nice.
It would also be immediately ignored by anyone that wanted to modify said file.
jeffy162 is online now   Reply With Quote
Old 11-04-2009, 08:58 PM   #6
Akryn
An Onyxian Warder
Interface Author - Click to view interfaces
Join Date: Mar 2008
Posts: 362
Quote:
Originally Posted by jeffy162 View Post
It would also be immediately ignored by anyone that wanted to modify said file.
They're talking about using Minion or something to diff the files and send changes to authors as suggestions. You'd want to be able to add metadata to tell Minion which files are normally supposed to be edited and which don't constitute changing actual addon code.

The thing about this is that it would generate a TON of spam, most of it worthless, even if you could eliminate false positives caused by actual updates to addons. I think that if you have made a change that you feel is worth getting added to the main distribution, it would be better to send it to the author with a description of what it does.
Akryn is offline   Reply With Quote
Old 11-05-2009, 04:30 AM   #7
Zyonin
A Pyroguard Emberseer
 
Zyonin's Avatar
Interface Author - Click to view interfaces
Join Date: May 2006
Posts: 1,160
To the OP, if you are comfortable with using a version tracking system, I would suggest starting a project on WoWInterface's SVN (Projects button), GitHub (git) or using CurseForge/WoWAce's project repositories (SVN, git or Mercurial). That way it's easier to keep track of your changes as you make them and if you make a mistake, it's easier to to revert back to an earlier version. I don't recommend Google Code unless the AddOn you are branching from, is under some kind of an Open Source License as GCode requires that.

Myself, to keep an updater from updating my customized AddOns, I will usually "branch" off that AddOn into it's own custom AddOn. So in the case of something like caelNameplates (an example), I maintain a branch called zyo_caelNamplates. The "zyo_" is my tag (in the .toc and folder name) to alert me that the AddOn in question is my customized version and it also keeps any updater from touching it. In this way I can update the original AddOn (caelNameplates) then if there any new features/code, I can choose whether or not to incorporate those changes into my private branch.

Eventually I do need to get around to working with Git or SVN however that is all command line stuff I am not familiar with yet.
__________________

Zyonin is offline   Reply With Quote
Old 11-05-2009, 05:38 AM   #8
nightcracker
A Chromatic Dragonspawn
 
nightcracker's Avatar
Interface Author - Click to view interfaces
Join Date: Sep 2009
Posts: 161
Quote:
Originally Posted by Zyonin View Post
To the OP, if you are comfortable with using a version tracking system, I would suggest starting a project on WoWInterface's SVN (Projects button), GitHub (git) or using CurseForge/WoWAce's project repositories (SVN, git or Mercurial). That way it's easier to keep track of your changes as you make them and if you make a mistake, it's easier to to revert back to an earlier version. I don't recommend Google Code unless the AddOn you are branching from, is under some kind of an Open Source License as GCode requires that.

Myself, to keep an updater from updating my customized AddOns, I will usually "branch" off that AddOn into it's own custom AddOn. So in the case of something like caelNameplates (an example), I maintain a branch called zyo_caelNamplates. The "zyo_" is my tag (in the .toc and folder name) to alert me that the AddOn in question is my customized version and it also keeps any updater from touching it. In this way I can update the original AddOn (caelNameplates) then if there any new features/code, I can choose whether or not to incorporate those changes into my private branch.

Eventually I do need to get around to working with Git or SVN however that is all command line stuff I am not familiar with yet.

I use bitbucket with TortoiseHG and it works fine under windows without console commands.
nightcracker is online now   Reply With Quote
Reply

Go BackWoWInterface » General Discussion » Interface Help » Maintaining local patches for addons

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




The Network:
EQInterface | EQ2Interface | LoTROInterface | MMOInterface | War.MMOUI | WoWInterface | VGInterface | Allakhazam | Thottbot | Wowhead | Zam


©2009 MMOUI / ZAM Network
vBulletin - Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.