• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Forum moderator applications are now open! Click here for details.
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Tool: MinRCS Revision Control System

Akiba

[img]http://i.imgur.com/o3RYT4v.png[/img]
4,262
Posts
13
Years
A Minimalist Revision Control System

Hello all. I'm very sure that many of you were depressed with the cancellation/hiatus of SkyDock Development.

Thread found here.

I was too.

I eventually got around to it, and decided to make my own Revision Control System. It is now supported by Windows. The VBscripts have been replaced by a single dynamic link library, improving stability, dependency, and compatibility.

msfan645 said:
But, no matter how much tools come out, there will never be a mac tool...

It'll be eventually ported to Java, but as of now, it runs perfectly under WINE. I'm not sure about the functionality, though. I'd usually expect Mac users to use VMs (Virtual Macines) for hacking, anyways.

It has only one main bug, which can be easily diagnosed. I am planning to fix it in the next release.

Also, instead of doing it in C++, I've decided on VB.NET, simply because it produces very small application filesizes. My goal is to be minimalist, hence the name, MinRCS.

The project files will be moved onto a SourceForge page soon, as well. Then you will have access to the entire repository.

Features:
Back up file revisions
Restore file revisions with soft overwrites (merging)
Repose only certain files
Lists all non-revision files and revisions in the selected folder
Open the folder in Windows Explorer
Create revisions with custom filetypes

Expected Features:
Plugin Support (Similar to PGE)
Port to Java

Expected Plugins:
Hex Editor
Free Space Manager
Walkthrough Creator

Spoiler:


People who want to help, you are welcome to use the source or help me in the main development.

I'm making the project fully open source at the start.
 
Last edited:

Platinum Lucario

The Legendary Master of [color=#D8D48C]Light[/colo
1,607
Posts
16
Years
This is great, it surely will help with organizing anyone's ROM hacks that they're developing on. And even though SkyDock was lost to the sands of time, I'm positive that this tool will indeed achieve the stuff that SkyDock was originally planned to do when GigaUniverse was developing it.

Once it comes out in C++, I'll be definitely be using it.
 

Akiba

[img]http://i.imgur.com/o3RYT4v.png[/img]
4,262
Posts
13
Years
Well, you're in luck. I've released it with a ton more functions.
The link is being updated.
 

Shiny Quagsire

I'm Still Alive, Elsewhere
697
Posts
14
Years
Just curious, how exactly does this handle revisions? A quick skim of the source indicated to me that it uses ZIP files, but I'm not entirely sure if that's the most efficient way to do this. First off, it wastes space. While GBA ROMs really aren't that big, having multiple copies of the same ROM can be a bit inefficient. What I'd recommend is a commit to commit binary diff system. That way you can store a history of different commits, and then select a specific commit and remove only what that commit added. And to revert to a specific point, have the utility store a second binary diff of all the changes up to that point to make for quick patching. Plus, with a binary diff, a hexadecimal diff viewer could be created showing different ranges of modifications.

If you're planning on porting to Java, I would gladly help. I've done a bit of work on my scripting editor, SEA (Source Code is here), and I've done some .NET -> Java porting with one of my programs. I'm glad that you decided to open-source this so that the rest of the hacking community could benefit (Although I regress that you decided to use SourceForge; I prefer Git to SVN. :)). If you could though, I'd much appreciate having the source up as fast as possible. One recommendation though, if you're open sourcing it, I'd recommend licensing it under GPL (GNU Public License) or MPL (Mozilla Public License). They're pretty much the same, but if you plan on using proprietary libraries (which will make Linux porting a pain), you'll have to use MPL. Both basically say that anything that is based on your program is required to open-source as well.

is this program is for rom file size editing?
No, it's a revision control system. It basically creates different revisions in which you can use as backups to revert to in case you screw up.
 

Akiba

[img]http://i.imgur.com/o3RYT4v.png[/img]
4,262
Posts
13
Years
Just curious, how exactly does this handle revisions? A quick skim of the source indicated to me that it uses ZIP files, but I'm not entirely sure if that's the most efficient way to do this. First off, it wastes space. While GBA ROMs really aren't that big, having multiple copies of the same ROM can be a bit inefficient. What I'd recommend is a commit to commit binary diff system. That way you can store a history of different commits, and then select a specific commit and remove only what that commit added. And to revert to a specific point, have the utility store a second binary diff of all the changes up to that point to make for quick patching. Plus, with a binary diff, a hexadecimal diff viewer could be created showing different ranges of modifications.

If you're planning on porting to Java, I would gladly help. I've done a bit of work on my scripting editor, SEA (Source Code is here), and I've done some .NET -> Java porting with one of my programs. I'm glad that you decided to open-source this so that the rest of the hacking community could benefit (Although I regress that you decided to use SourceForge; I prefer Git to SVN. :)). If you could though, I'd much appreciate having the source up as fast as possible. One recommendation though, if you're open sourcing it, I'd recommend licensing it under GPL (GNU Public License) or MPL (Mozilla Public License). They're pretty much the same, but if you plan on using proprietary libraries (which will make Linux porting a pain), you'll have to use MPL. Both basically say that anything that is based on your program is required to open-source as well.


No, it's a revision control system. It basically creates different revisions in which you can use as backups to revert to in case you screw up.

I'm using Git, so don't worry.

When one is making a hack, one would generally not worry too much about space. With a higher compression rate or implementing commits, the program would likely be slowed.

Also, I was in a hurry when I made this. I basically rewrote the whole thing into VB in one night. I know about General Public Licenses, I will implement the GPL soon. I doubt that anyone will actually would want to make this proprietary yet, so it's not something to worry about. This program will eventually turn into a module that can be used on a SkyDock-archetype that I will make. Its first three features will be this, PokeHex (whose thread I have stopped posting to for a while), and a free space manager, because it seemed to be a very popular idea.

Thanks.
 
Back
Top