RomRaider Logo

RomRaider

Open Source ECU Tools
 FAQ •  Register •  Login 

RomRaider

Documentation

Community

Developers

It is currently Tue Dec 23, 2025 11:02 am

All times are UTC - 5 hours [ DST ]




Post new topic Reply to topic  [ 69 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next
Author Message
 Post subject: Re: Managing Experimental Definitions with Git
PostPosted: Wed Aug 01, 2012 12:08 pm 
Offline
Experienced
User avatar

Joined: Thu Jul 23, 2009 1:46 pm
Posts: 863
If you refuse to take your blinders off, so be it. but please go through this list form the OP and explain point by point where you disagree.

Quote:
Benefits of using Git:
Better tracking of definition history/changes.
Easier to implement standardization of new tables, scalings, descriptions, formats, etc.
Ease of use for end users, no more scouring a forum to find definitions or get an updated def.
Easier to collaborate and stay organized.
By pointing RomRaider or ECUFlash at the local repo, you can easily switch between different branches for quick tests/comparisons.
Ability to directly link to the latest commit: https://github.com/Merp/SubaruDefs/zipball/Stable or https://github.com/Merp/SubaruDefs/zipball/Experimental
-this will allow the RomRaider installer to download the latest definitions automatically at install time.


I still don't see any merit to a database, especially a private database with private tools. It's best attribute is that it can manage multiple definition sets. Multiple definition sets is a paradigm that should be worked to eliminate, not entrench. Same goes for the centralized/private stuff. Sure, there needs to be some gatekeeper be it a process or a person, absolutely.. but it needs to be at the end of the development workflow (vetting for stable/beta release), not halfway through the process, and certainly not in the shadows.

Unless I am missing some other unique relationship, all of the necessary data and relationships can exist inside a single xml set.

Quote:
And all of this is for the benefit of the end user how knows nothing of Git or databases or XML an just wants to download a def or set of defs to work on tuning a car.


Please clarify this.

_________________
Please do not send me support questions via PM, use the forum instead!


Top
 Profile  
 
 Post subject: Re: Managing Experimental Definitions with Git
PostPosted: Wed Aug 01, 2012 4:36 pm 
Offline
RomRaider Donator

Joined: Sun Nov 02, 2008 12:32 pm
Posts: 274
What dschultz is trying to express is that the average end user just wants to download a definition file set, plug it in then start tuning.... some don't even know what xml is. For the more technically versed users, I think your Git depository is an excellent idea that saves endless hours of going through posts as I know you have :D


Top
 Profile  
 
 Post subject: Re: Managing Experimental Definitions with Git
PostPosted: Wed Aug 01, 2012 5:14 pm 
Offline
Experienced
User avatar

Joined: Thu Jul 23, 2009 1:46 pm
Posts: 863
And for the end user, we have this:

Quote:
Ability to directly link to the latest commit: https://github.com/Merp/SubaruDefs/zipball/Stable or https://github.com/Merp/SubaruDefs/zipball/Experimental
-this will allow the RomRaider installer to download the latest definitions automatically at install time.


That is, they don't even have to bother downloading unless they need something new. They don't even have to know what a definition is!

We can go a step further and have an 'update definition' button to fetch the latest set, then you don't even have to open a browser, much less dig through a forum, xml snips, etc..

_________________
Please do not send me support questions via PM, use the forum instead!


Top
 Profile  
 
 Post subject: Re: Managing Experimental Definitions with Git
PostPosted: Wed Aug 01, 2012 5:27 pm 
Offline
RomRaider Donator

Joined: Sun Nov 02, 2008 12:32 pm
Posts: 274
Merp wrote:
And for the end user, we have this:

Quote:
Ability to directly link to the latest commit: https://github.com/Merp/SubaruDefs/zipball/Stable or https://github.com/Merp/SubaruDefs/zipball/Experimental
-this will allow the RomRaider installer to download the latest definitions automatically at install time.


That is, they don't even have to bother downloading unless they need something new. They don't even have to know what a definition is!

We can go a step further and have an 'update definition' button to fetch the latest set, then you don't even have to open a browser, much less dig through a forum, xml snips, etc..


I was going to ask about auto update capability... I'm in!


Top
 Profile  
 
 Post subject: Re: Managing Experimental Definitions with Git
PostPosted: Wed Aug 01, 2012 5:35 pm 
Offline
Moderator

Joined: Thu May 20, 2010 4:01 am
Posts: 3117
Location: Johannesburg, South Africa
Merp wrote:
And for the end user, we have this:

Quote:
Ability to directly link to the latest commit: https://github.com/Merp/SubaruDefs/zipball/Stable or https://github.com/Merp/SubaruDefs/zipball/Experimental
-this will allow the RomRaider installer to download the latest definitions automatically at install time.


That is, they don't even have to bother downloading unless they need something new. They don't even have to know what a definition is!

We can go a step further and have an 'update definition' button to fetch the latest set, then you don't even have to open a browser, much less dig through a forum, xml snips, etc..


That would be a big plus...

_________________
He who dies with the most gadgets wins.

Please do not PM me - use the email option.


Top
 Profile  
 
 Post subject: Re: Managing Experimental Definitions with Git
PostPosted: Wed Aug 01, 2012 5:43 pm 
Offline
RomRaider Developer

Joined: Wed May 20, 2009 9:49 pm
Posts: 7314
Location: Canada eh!
Merp wrote:
If you refuse to take your blinders off, so be it. but please go through this list form the OP and explain point by point where you disagree.
Benefits of using Git:

As requested my comments are in bold.
Better tracking of definition history/changes. - agree you can see the changes
Easier to implement standardization of new tables, scalings, descriptions, formats, etc. - nope, that has to be defined before submission to the repo
Ease of use for end users, no more scouring a forum to find definitions or get an updated def. - they need to scour the Git repo instead
Easier to collaborate and stay organized. - probably
By pointing RomRaider or ECUFlash at the local repo, you can easily switch between different branches for quick tests/comparisons. - this functionality does not exist in either application at the moment, but I like the idea
-this will allow the RomRaider installer to download the latest definitions automatically at install time. - this functionality does not exist in either application at the moment, but I like the idea

Merp wrote:
I still don't see any merit to a database...

Because you have not had to add numerous tables to the existing def files yet. When you are ready to add for example, 223 tables to 53 ROM defs you will have a very clear understanding of what I'm on about. How would you add the Fuel Pump Duty table addresses to all existing defs now (careful how you answer as you might end up agreeing with me ;-) )?

oh, and I never said or implied the database is closed, etc. etc... I'm all for open source or I wouldn't be here.


Top
 Profile  
 
 Post subject: Re: Managing Experimental Definitions with Git
PostPosted: Wed Aug 01, 2012 6:48 pm 
Offline
Experienced
User avatar

Joined: Thu Jul 23, 2009 1:46 pm
Posts: 863
dschultz wrote:
As requested my comments are in bold.
Better tracking of definition history/changes. - agree you can see the changes
Easier to implement standardization of new tables, scalings, descriptions, formats, etc. - nope, that has to be defined before submission to the repo


Absolutely not, that is the whole point of the Alpha branch.

dschultz wrote:
Ease of use for end users, no more scouring a forum to find definitions or get an updated def. - they need to scour the Git repo instead


Scour != Click the appropriate branch, click zip button. Provided they don't have any uncommitted XML to worry about overwriting.

Or in the future, click an update button in RomRaider.

(Both of these scenarios is where the three definition levels (locked, additive, and override) we were discussing in PMs really come in handy)

Dschultz wrote:
Because you have not had to add numerous tables to the existing def files yet. When you are ready to add for example, 223 tables to 53 ROM defs you will have a very clear understanding of what I'm on about. How would you add the Fuel Pump Duty table addresses to all existing defs now (careful how you answer as you might end up agreeing with me ;-) )?


I have an automated system set up for defining tables in my patches when porting (will be released after some restructuring). It doesn't use/need a database. Is there any more to this than scaling sets and languages?

First off, I'd go through the process of defining the base in the Alpha branch, and get input from others. Once finalized, it gets put in the appropriate Beta BASE xml. Then find addresses using IDA or ScoobyRom. Then my application scans your output from IDA or ScoobyRom(not working yet) for the appropriate table name, then references to that table template in the appropriate BASE, and spits out the per-rom xml

Quote:
oh, and I never said or implied the database is closed, etc. etc... I'm all for open source or I wouldn't be here.


Great :)

_________________
Please do not send me support questions via PM, use the forum instead!


Top
 Profile  
 
 Post subject: Re: Managing Experimental Definitions with Git
PostPosted: Wed Aug 01, 2012 8:43 pm 
Offline
Experienced
User avatar

Joined: Thu Apr 19, 2012 3:44 am
Posts: 385
Merp wrote:
He recommends 2 users with 2 week use period before the Beta -> Stable move.

Just a suggestion, tweak numbers to suit competence and availability of users.

Even if all of the files are always generated from a DB or patch tool, or whatever, they should be committed on each update such that someone can quickly and easily see exactly what changed/didn't.

In terms of database updates, those would be done with SQL scripts which, in the professional arena, be checked into a repo too. Ideally it should be possible to build the database from a set of sequentially run scripts that include the base and all updates.

It's always about repeatability and distributed information.

My 2c.

Fred.

_________________
The type of scooby that I most enjoy!


Top
 Profile  
 
 Post subject: Re: Managing Experimental Definitions with Git
PostPosted: Wed Aug 01, 2012 8:44 pm 
Offline
Experienced
User avatar

Joined: Thu Apr 19, 2012 3:44 am
Posts: 385
dschultz wrote:
Merp wrote:
Easier to implement standardization of new tables, scalings, descriptions, formats, etc. - nope, that has to be defined before submission to the repo

This misses the point of a casual hacker working with a single file and developing it against their car. AFTER that it can be expanded/spread to other files as required. Being able to work from a base, record comments in commit messages, and so on, is gold.

_________________
The type of scooby that I most enjoy!


Top
 Profile  
 
 Post subject: Re: Managing Experimental Definitions with Git
PostPosted: Wed Aug 01, 2012 11:07 pm 
Offline
RomRaider Developer

Joined: Wed May 20, 2009 9:49 pm
Posts: 7314
Location: Canada eh!
Merp wrote:
First off, I'd go through the process of defining the base in the Alpha branch, and get input from others. Once finalized, it gets put in the appropriate Beta BASE xml. Then find addresses using IDA or ScoobyRom. Then my application scans your output from IDA or ScoobyRom(not working yet) for the appropriate table name, then references to that table template in the appropriate BASE, and spits out the per-rom xml
I knew that was going to be your answer. I could have written it for you. Which is all fine, but you still have to touch every single existing file, figure out where to insert the new table info and re-write the file. It's just cumbersome from my perspective...
In the end we achieve the same result, just with different tools. I don't understand why the opposition to using a database there are many other benefits if you need to search for related info amongst many ROMs or tables, databases are fast, searching files is slow if it matters.


Top
 Profile  
 
 Post subject: Re: Managing Experimental Definitions with Git
PostPosted: Wed Aug 01, 2012 11:13 pm 
Offline
RomRaider Developer

Joined: Wed May 20, 2009 9:49 pm
Posts: 7314
Location: Canada eh!
Fearless wrote:
Even if all of the files are always generated from a DB or patch tool, or whatever, they should be committed on each update such that someone can quickly and easily see exactly what changed/didn't.

In terms of database updates, those would be done with SQL scripts which, in the professional arena, be checked into a repo too. Ideally it should be possible to build the database from a set of sequentially run scripts that include the base and all updates.

It's always about repeatability and distributed information.

Thanks, that's what I've been trying to get at. The Logger SQL database is that way now. I just don't have a complete set of tools, only add and update at the moment.


Top
 Profile  
 
 Post subject: Re: Managing Experimental Definitions with Git
PostPosted: Thu Aug 02, 2012 12:27 am 
Offline
Experienced
User avatar

Joined: Thu Jul 23, 2009 1:46 pm
Posts: 863
dschultz wrote:
Merp wrote:
First off, I'd go through the process of defining the base in the Alpha branch, and get input from others. Once finalized, it gets put in the appropriate Beta BASE xml. Then find addresses using IDA or ScoobyRom. Then my application scans your output from IDA or ScoobyRom(not working yet) for the appropriate table name, then references to that table template in the appropriate BASE, and spits out the per-rom xml
I knew that was going to be your answer. I could have written it for you. Which is all fine, but you still have to touch every single existing file, figure out where to insert the new table info and re-write the file. It's just cumbersome from my perspective...
In the end we achieve the same result, just with different tools. I don't understand why the opposition to using a database there are many other benefits if you need to search for related info amongst many ROMs or tables, databases are fast, searching files is slow if it matters.


Is that as a no, there aren't any more relationships (that can't be pulled from xml data) besides scaling sets and languages?

Unless there are, I see it as an unnecessary complexity to use it as the primary store of data or an integral part of the definition workflow. As an optional tool, sure, its fine.

In my opinion, the definitions should be the primary database that contains all information, relational or not. To do otherwise is to deprive the application of information.

Regarding speed, it doesn't really matter much to me. If you're going to do a big definition, you'll have plenty of time on your hands. Perhaps efforts would be better spent improving the speed of RomRaider itself. :wink:

Speaking of the speed of RomRaider... I'm just gonna throw this out there... what are your thoughts on running RomRaider on the database instead of XML? I could understand using a database as primary storage for development if the program actually used the database.

_________________
Please do not send me support questions via PM, use the forum instead!


Top
 Profile  
 
 Post subject: Re: Managing Experimental Definitions with Git
PostPosted: Thu Aug 02, 2012 1:08 am 
Offline
RomRaider Donator

Joined: Sun Nov 02, 2008 12:32 pm
Posts: 274
All this discussion has got me thinking about updates including Base.. Is there a way to implement updates that just add the extra parameters to the existing Base or folder for those who have patches?


Top
 Profile  
 
 Post subject: Re: Managing Experimental Definitions with Git
PostPosted: Thu Aug 02, 2012 1:30 am 
Offline
Experienced
User avatar

Joined: Thu Jul 23, 2009 1:46 pm
Posts: 863
andya wrote:
All this discussion has got me thinking about updates including Base.. Is there a way to implement updates that just add the extra parameters to the existing Base or folder for those who have patches?


Dale had mentioned an idea from Colby in regards to this, and I'm completely on board with it. It's great for testing and advanced users.

RomRaider would use three directories for definitions.
1. Official release - folder/files are read only, any official updates go here.
2. Additive - add any xml here and it will add to the official release, but never override it.
3. Override - add xml here and it will override the official release.

In regards to patches, if you're speaking of modified roms.. Hopefully anyone who makes them submits them through Git, or someone does it for them.

If anyone working on definitions has any questions about Git, join #romraider on irc.freenode.net

_________________
Please do not send me support questions via PM, use the forum instead!


Top
 Profile  
 
 Post subject: Re: Managing Experimental Definitions with Git
PostPosted: Thu Aug 02, 2012 2:05 am 
Offline
RomRaider Donator

Joined: Sun Nov 02, 2008 12:32 pm
Posts: 274
Patches as in purchased ie: Tinyrex LC, FFS and other Rom versions with unique ID's like SPX (I believe is the name) etc. that use EcuFlash for editing.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 69 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next

All times are UTC - 5 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Style based on FI Subsilver by phpBBservice.nl