Issue Tracking
by Tomas Lazaro · in General Discussion · 02/08/2011 (5:30 pm) · 6 replies
I searched through the forums and couldn't find real Issue tracking for Torque.
It is now hard to browse through bugs so it is hard to report them and follow them. I found through the forums that there are several bugs or features people have done that remain as patches people copy & paste in their local copy but don't make it to the official repository.
I think it would be really great for the whole community to have external issue tracking with version control and a system for user to send patches.
Having a "nightly build" as well as allowing users to create their own forks to be later merged if approved would help a lot to develop a better Torque. Many times people start working on their own mini forks for certain features and there is no standard way of offering collaboration. Worse is when such efforts are almost completed but no one can pick them up later as those are not available.
Other times I would just like to report some minor bug/issue and a patch fixing but it feels like I would be making a lot of noise in the forums for just that little thing.
Example : t2dStaticSprite::setSourceRect(RectF *pNewRect) <- why isn't it a RectI? It's saved in "RectI mSrcRect" and it produces artifacts in the scene files like 'sourceRect = "1.72995e-039 0 1.71711e-039 7.53841e-039"'. There might be a reason but I feel that such "low-level" discussion would pollute the forums.
I thinks solutions like offered in https://github.com/ would fit what I would like to see. Given the new direction of GarageGames it might be a good time to discuss this.
What do you think?
EDIT: The problem in "sourceRect" was not just that, it was an uninitialized RectI that caused the artifacts.
It is now hard to browse through bugs so it is hard to report them and follow them. I found through the forums that there are several bugs or features people have done that remain as patches people copy & paste in their local copy but don't make it to the official repository.
I think it would be really great for the whole community to have external issue tracking with version control and a system for user to send patches.
Having a "nightly build" as well as allowing users to create their own forks to be later merged if approved would help a lot to develop a better Torque. Many times people start working on their own mini forks for certain features and there is no standard way of offering collaboration. Worse is when such efforts are almost completed but no one can pick them up later as those are not available.
Other times I would just like to report some minor bug/issue and a patch fixing but it feels like I would be making a lot of noise in the forums for just that little thing.
Example : t2dStaticSprite::setSourceRect(RectF *pNewRect) <- why isn't it a RectI? It's saved in "RectI mSrcRect" and it produces artifacts in the scene files like 'sourceRect = "1.72995e-039 0 1.71711e-039 7.53841e-039"'. There might be a reason but I feel that such "low-level" discussion would pollute the forums.
I thinks solutions like offered in https://github.com/ would fit what I would like to see. Given the new direction of GarageGames it might be a good time to discuss this.
What do you think?
EDIT: The problem in "sourceRect" was not just that, it was an uninitialized RectI that caused the artifacts.
About the author
Professional Game Developer/Programmer
#2
Internally I know they use Jira for tracking bugs and agree it would be useful to have a better way of logging and searching for bugs - it's easier now the forums have specific tags but still I've had to search through 20 pages of posts to see if a bug has been reported/fixed already
02/09/2011 (5:45 am)
There used to be access to the version control system (CVS or SVN i think) but it was discontinued because it became difficult to maintain plus from whats been said their internal SVN is a little messy and contains a lot of stuff not open for everyone.Internally I know they use Jira for tracking bugs and agree it would be useful to have a better way of logging and searching for bugs - it's easier now the forums have specific tags but still I've had to search through 20 pages of posts to see if a bug has been reported/fixed already
#3
I have my own copy of TGB in private repository and a lot of people do too. Using Mercurial I could keep track of my own repo as well as pushing to the central. Committing a new change to central repository takes 2 step, first commit to local then push local to central. That is cumbersome for in place development in a small team but in this case I might probably make 50 commits to my own repository before even thinking of pushing it to central so it's actually a relief to have private commits without bothering anyone.
I'm not saying Mercurial is THE best tool, Git solves the same issues, perhaps even better. I honestly don't know.
I also suggested GitHub because I use it for several OpenSource projects but I'm not sure if their Issue Tracking is good there but JIRA can integrate with Git and GitHub if I understood correctly from the JIRA Git Plugin.
Regarding the "messiness" I don't think they hide Top Secret classified army intelligence and we are all grown ups. No one should use the "nightly build" for production or depend on experimental features. Also consider that only "technical oriented" people would care about the source code beyond the latest stable build.
Even if that is true and they want to keep their secrets they could setup their private repository as well as the public repository and only push the private into public when they consider it appropriate (using Mercurial, Git or similar).
From GarageGames in the end it's an opportunity for Torque to get people working on it for free (although the cost of "listening" to that people must be weighted as nothing is really cost free).
From our point of view is a way to reliably improve the tools we use and get cross verification from many more people and collaborate in small groups for experimental features in a safe central environment.
02/09/2011 (6:32 am)
Perhaps either CVS or SVN are not good choices if you want to have branches and patches supplied by several people. Either Mercurial or Git are better for handling that kind of work flow. Take Netbeans for example, huge project, dozens or perhaps hundreds of people working on it, they use Mercurial.I have my own copy of TGB in private repository and a lot of people do too. Using Mercurial I could keep track of my own repo as well as pushing to the central. Committing a new change to central repository takes 2 step, first commit to local then push local to central. That is cumbersome for in place development in a small team but in this case I might probably make 50 commits to my own repository before even thinking of pushing it to central so it's actually a relief to have private commits without bothering anyone.
I'm not saying Mercurial is THE best tool, Git solves the same issues, perhaps even better. I honestly don't know.
I also suggested GitHub because I use it for several OpenSource projects but I'm not sure if their Issue Tracking is good there but JIRA can integrate with Git and GitHub if I understood correctly from the JIRA Git Plugin.
Regarding the "messiness" I don't think they hide Top Secret classified army intelligence and we are all grown ups. No one should use the "nightly build" for production or depend on experimental features. Also consider that only "technical oriented" people would care about the source code beyond the latest stable build.
Even if that is true and they want to keep their secrets they could setup their private repository as well as the public repository and only push the private into public when they consider it appropriate (using Mercurial, Git or similar).
From GarageGames in the end it's an opportunity for Torque to get people working on it for free (although the cost of "listening" to that people must be weighted as nothing is really cost free).
From our point of view is a way to reliably improve the tools we use and get cross verification from many more people and collaborate in small groups for experimental features in a safe central environment.
#4
02/09/2011 (10:30 am)
Yeah, I have TGB, TGE, and T3D source trees in my personal Mercurial repository as well. A DVCS (Distributed Version Control System) would be better because everyone can have their own private repository as you said. It also wouldn't require a constant connection to the garagegames.com servers to do any operations on the repository.
#5
The biggest reason they have to not open the repository is that they simply don't want the competition to have fresh to the minute updates of their source code. I've seen it discussed. They want to keep SOME secrets for a while, and not give competitors too much warning ahead :)
02/09/2011 (10:41 am)
@Tomas:I think you won't be able to convince them to switch to Git. There is history involved, and it's better to not ask any questions ;)The biggest reason they have to not open the repository is that they simply don't want the competition to have fresh to the minute updates of their source code. I've seen it discussed. They want to keep SOME secrets for a while, and not give competitors too much warning ahead :)
#6
I just want a place to cooperate and exchange code with other developers in a simple and safe environment, without worrying about legal stuff, only people with licenses should be able to access it and I also want a better bug/issue tracking.
02/09/2011 (4:43 pm)
Even if that is true, as I said they can keep a private repository using a Distributed Version Control System and only move it to public when ready. Privacy and secrecy then is no excuse.I just want a place to cooperate and exchange code with other developers in a simple and safe environment, without worrying about legal stuff, only people with licenses should be able to access it and I also want a better bug/issue tracking.
Torque 3D Owner Quentin Headen