I had an idea for a new project to start, related in some aspects to my Blast Security Suite, and perhaps integrate-able with it for checksum updates and the like, but with a different feature-set and purpose.
There is no download or screenshot, i have not officially started this but would like to. This is a poll of the community.
As indicated in the topic, this project would be a TI Program Version Control and Backup Protocol implementation. It would operate like a simplified version of git. From the main program you could bring up a list of any program on your device that you would like to activate version tracking on. This would generally be used for programs you are making on your calculator. An appvar would be created with the name VC[XXXXXX] where XXXXX are the first 5 characters of the program to version track's name. I was initially going to use the exact same name as the program, but that could conflict with some programs that name their data saves the exact same thing. This appvar would start out by simply being a copy of the program as it exists, with a timestamp and perhaps a checksum.
Any subsequent time you run the program editor on a program that is being tracked, the AppChangeHook compares the first save with the program as it exists now, and appends a list of changes to the file. For instance, take the following:
Code:
In the append to the tracking file in the second save, the string after [num] indicates byte positions to change.
This would serve two main purposes.
1. Say you're working on a program and, after a lot of work, you make some changes and all of a sudden your code breaks and you cannot figure out where it went wrong. Rather than scrap it all and start over, you can use this suite to revert your program to the last working version.
2. Also, this would serve as a backup of a file, and all subsequent changes, that would be preserved in Archive in the event of a RAM clear. Simply resend the main program to your calculator (or if you ran it via a shell that archives it, run it again), and choose to revert your programs to current save, same manner as for #1 and viola... full restore!
There is no download or screenshot, i have not officially started this but would like to. This is a poll of the community.
As indicated in the topic, this project would be a TI Program Version Control and Backup Protocol implementation. It would operate like a simplified version of git. From the main program you could bring up a list of any program on your device that you would like to activate version tracking on. This would generally be used for programs you are making on your calculator. An appvar would be created with the name VC[XXXXXX] where XXXXX are the first 5 characters of the program to version track's name. I was initially going to use the exact same name as the program, but that could conflict with some programs that name their data saves the exact same thing. This appvar would start out by simply being a copy of the program as it exists, with a timestamp and perhaps a checksum.
Any subsequent time you run the program editor on a program that is being tracked, the AppChangeHook compares the first save with the program as it exists now, and appends a list of changes to the file. For instance, take the following:
Code:
Program to Track (Original):
EF4045C9FFCC9900
Contents of Track-File, First Save:
[time][check][size]EF4045C9FFCC9900
Program to Track (First Revision):
EF4045C9F3C000
Contents of Track-File, Second Save:
[time][check][size]EF4045C9FFCC9900[time][check][num]05F306C0
In the append to the tracking file in the second save, the string after [num] indicates byte positions to change.
This would serve two main purposes.
1. Say you're working on a program and, after a lot of work, you make some changes and all of a sudden your code breaks and you cannot figure out where it went wrong. Rather than scrap it all and start over, you can use this suite to revert your program to the last working version.
2. Also, this would serve as a backup of a file, and all subsequent changes, that would be preserved in Archive in the event of a RAM clear. Simply resend the main program to your calculator (or if you ran it via a shell that archives it, run it again), and choose to revert your programs to current save, same manner as for #1 and viola... full restore!