Jump to content

About Patches


Recommended Posts

only because a patch works "as intended" does not mean that this patch is correct. if you have a call from function X to function Y where X gives a wrong parameter to Y you've to ways to 'fix' it:

1. modify the function X and give the correct parameter

2. modify the function Y and create a workaround

3. modify the function Y and simply drop any error checks -> no more errors

2 and 3 would never be accepted, and to be sure that this patch is like 1 it takes a moment to fix it. and it always depends on the size and on the impact from the patch, adding a patch means adding/modifying code in the core which the devs will have to maintain.

i hope you understand now why it takes some times until a patch goes into the core.

but yes, maybe it's slow, maybe some of the workflows might be changed... but for that there's this thread: http://getmangos.eu/community/viewtopic.php?id=4216

-- DasBlub

Link to comment
Share on other sites

[...] as such I won't commit them either, there simply would be no point.

well, you should still post them. maybe it helps others and it surely helps those who are writing then the 'correct' patch. a good example for this is the fix from Salja which he submitted lately: http://getmangos.eu/community/viewtopic.php?id=10659

after submitting his patch it was fixed in less than 12 hours, because then a dev saw what's causing the problem and because he knew the background of this code he then found the 'real' solution for it faster.

-- DasBlub

Link to comment
Share on other sites

  • 39 years later...

Recently there has been many great patches made by users, however it seems like no one is willing to apply them to main branch. I understand that developers want to have patches tested and make sure that they don't cause any kind of mistakes. I also understand have their own worries/problems and maybe don't have time to view forums, etc. However there are way too many patches that were tested by many users and confirmed that they are working as intended. After all with lack attention they just fade away. So what I am trying to say please look at other peoples work that they spend time on, trying to make MaNGOS better. Lets remember that the strongest thing about Open Source is the Community input.

Yes you may say well what is this guy talking about he hasn't posted any patches, and doesn't even have over 10 posts. You are right I am not a C++ specialist like many of you are, and I only recently created this profile, yet reading Patches section showed me that many users been trying to say the same thing I did above. At the end of the day I am just another user trying to be heard out.

Suggestions: Since allot of developers are busy with their problems. Maybe hire few people who would be, only responsible for finding correct patches and testing them. They can than move them along to developers who can confirm it and apply to the respected branches.

If you agree/disagree with this post, please drop a comment :)

Link to comment
Share on other sites

You are right I am not a C++ specialist like many of you are, and I only recently created this profile, yet reading Patches section showed me that many users been trying to say the same thing I did above.

Unfortunately neither am I, however I do work as a professional programmer and senior developer in two other languages and one of my main concerns is always code quality. As DasBlub already pointed out, there are usually good ways to fix something and a whole lot more bad ways. Often the good way is not even clear to you unless you see the whole picture, and in case of Mangos, this picture is huge. I can write patches for use in our server, but I know the quality of those patches is far below what is required because I do not know exactly how everything works and works together - as such I won't commit them either, there simply would be no point.

I am not saying all user created patches are of too low quality, far from it, but even when they are not one of the core devs needs to take time out from his normal activities to go over all the modifications proposed, modify them where necesary and submit them to the repository, and all that takes a lot of time.

If you agree/disagree with this post, please drop a comment :)

There you go :lol:

Link to comment
Share on other sites

Such complaints led to creation of Tri%#!@ and wasted effort of many people(they usually switch back : S)

But I perceive your post as very constructive. I'm happy with the current development process, it's not like my opinion matters but I've been wondering for a while how are new developers appointed. It's open-source so I guess it would be better to make subforum for dev apps, or at least promote more than 2 people per year :)

I've been following Dolphin (GC/Wii emulator) for a while and they promote almost anybody to dev and to my surprise they went from 5-15 fps, glitches, crashes and no audio in games to almost perfect state where games must be frame limited and AA/AF things were implemented so they look and run better than on hardware(it took them 1 year).

But what I love about MaNGOS is quality. It's amazing.

"Suggestions: Since allot of developers are busy with their problems. Maybe hire few people who would be, only responsible for finding correct patches and testing them. They can than move them along to developers who can confirm it and apply to the respected branches."

I like this idea, a Quality Assurance group that would test patches, find mistakes, correct them and eventually report to devs. They could have some special privileges too.

Link to comment
Share on other sites

It seems that I might of not expressed myself well enough. My main concern about the patches that are confirmed to be done in the right way and work correctly, but are still not applied and eventually lost.

On other note thanks for all your great replys. I was wondering maybe there should be few tutorials how to write a correct patch and not work around. I am sure that many users would appriciate it.

Link to comment
Share on other sites

it all depends on many datails not just if it works, patch needs to be hackless, avoid hardcoded stuff, well commented for future support, etc

if its a small patch its usually reviwed fast and commited

even mangos devs post patches to be tested and takes time to be commited

some examples of patches that took over an year

threat from ambal years ago when he wasnt mangos dev

proc flag from dislord and in the middle of it he was made dev and yet took at least 6 months to be commited

AV from bogie and later picked up by balrok that was also made dev, but it required further dev and coordenated effort with triplex to be commited

guild bank was developed by neo and was commited in a rush, so it required lots of commits to be properly implemented, yet few days back there were another commit to fix a bug on it that was around for long

mangos has been around for about 5 years and thats the way it is, im sure lots of ppl want dual spec, outdoor, veichles, etc to be implemented and there are patches/branches around if u really want it, but dont expect huge modifications or simple patches that does not meet mangos standarts to be commited fast

ofc some patches are overlooked, but ppl in charge still humans and have tons of other things to do besides check every single proposed patch and test it to implement into mangos

best thing us (users) can do is, test and provide feed back, crashlogs, etc to help patches and mangos development

Link to comment
Share on other sites

If say specially about spell system: not exist in many cases so thing as single spell fix. Spells work base at spell effects, spell auras and spell proc event code that shared by many spells while it casted and affects apply. So touch code "for one spell" can change many spells work. Ofc, can exist simple cases for one spell really.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use