version control
Keith M
Posts: 102
Has anyone successfully used any type of version control with the SXKey IDE?
I've never used any type of version control period, but am beginning to think I could really benefit from it. I'm a hobbyist who is the sole programmer on my project. So preference would be on free or cheap software.
Things I need:
works on 2000/xp
It has to work with the SX IDE. Now this could be something simply transparent, like something that is a file-system based solution.
easy to use
allows for comments of what was added, changed etc
easy rollback to an earlier version
automatic version numbering
ability to back up the different versions
being compatible with .NET would be a plus too(i have an SX app that communicates with a PC C app.)
Things I don't need:
Web-based solutions
Enterprise-quality and complexity
check-in or check-out of source code (I'm alone on this project)
task assignment, management, approval, etc
I'm in a situation where I'm still making fairly drastic changes to my code. A lot of these changes are trial-and-error where I'm trying different approaches to coding problems. I end up rolling changes back manually, which is hard and error-prone, even with plenty of comments. I've also done the version thing manually with saving to different files, but that is messy and unproductive.
Thanks.
Keith
I've never used any type of version control period, but am beginning to think I could really benefit from it. I'm a hobbyist who is the sole programmer on my project. So preference would be on free or cheap software.
Things I need:
works on 2000/xp
It has to work with the SX IDE. Now this could be something simply transparent, like something that is a file-system based solution.
easy to use
allows for comments of what was added, changed etc
easy rollback to an earlier version
automatic version numbering
ability to back up the different versions
being compatible with .NET would be a plus too(i have an SX app that communicates with a PC C app.)
Things I don't need:
Web-based solutions
Enterprise-quality and complexity
check-in or check-out of source code (I'm alone on this project)
task assignment, management, approval, etc
I'm in a situation where I'm still making fairly drastic changes to my code. A lot of these changes are trial-and-error where I'm trying different approaches to coding problems. I end up rolling changes back manually, which is hard and error-prone, even with plenty of comments. I've also done the version thing manually with saving to different files, but that is messy and unproductive.
Thanks.
Keith
Comments
In my limited experience with version control systems, I would suggest that in your environment they won't work much different than the good old manual system with versioning based on file names that you found "messy and unproductive".
With version control, you still have to remember to tell the system that at "this point in time" I want to save version x.xx. You also have to tell it (as opposed to or in addition to comments in the source) what you've added/changed, etc. Some of the systems will either add this as comments to your code, and/or pull them from a formatted comment section.
In my opinion, for a single developer working on limited scope projects (those not involving more than 10-20 files or so per project), you're better off with a manual system and adding "rev level" as part of the file name. e.g: MySourceFileV02.03.sxb, MySourceFileV02.04.sxb...
Another tactic I've used is to periodically (and especially when I'm about to try something "brave") is to copy the whole project directory tree to a "backup" folder with the date/version incorporated into the name of the folder. This is easier to deal with than file version names on multi-file projects, and is made practicable because "disk space is cheap".
Not "elegant" solutions, but practical.
Having said all of that, I'll be watching the thread to see what others have to say, and what options there are available.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
John R.
8 + 8 = 10
Yep - I just zip up the project directory into projname.date.revno.zip , which makes very sure I'm editing what I think I am. Editing (or compiling) the wrong file isn't funny after the first few thousand times [noparse]:)[/noparse]
It's cheap, easy, robust and recoverable. Works for me...
Steve
The hardest part is probably setting it up. I haven't used it on Windows, so I can't give you any help there, but I'm sure there are plenty of resources.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
OS-X: because making Unix user-friendly was easier than debugging Windows
SVN is an interetsing tool for a few reasons:
No check-in/check-out paradigm. Things are always checked out, and you commit them to the repository when you you want to have a backup of that point it time.
Atomic commits mean you can do it a folder at a time, to keep groups of files at the same version
Tight integration with Windows means all I have to do is right click and life is good..no messing around with VisualSourceSafe or one of the other GUI tools.
Oh yeah..it's free:
http://subversion.tigris.org/
Be aware, you will need to slog through the configuration of the server software, but I think it's worth it.
-dave
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
This is not a sig. This is a duck. Quack.
I'm glad to know that I'm not too far off what most people do. I too copy the whole folder into another folder labelled with a date and then normally burn it off to other media, usually CDs, to make darn sure I have a backup.
I found Subversion and TortiseSVN a couple days ago, and installed them under winxp. A couple of you alluded to problems installing, the current versions found on the respective sites installed with ZERO problems. Both the server and client portions installed without headache. I still don't know exactly what I'm doing, but I'm reading some of the docs, and it seems easy enough.
The ability to have comments associated with each commit is nice, and indeed the shell integration is awesome. I still have to weigh the "overhead" of using something vs what I'm doing now.
Thanks.
Keith
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
OS-X: because making Unix user-friendly was easier than debugging Windows
I've been using it, and the cool thing about it is that I'm limited to text based files. I'm using it for C, Photoshop, Excel. etc. Subversion probably does the same, but the big idea is that SCM isn't just for code.
Also, there's nothing wrong with using an enterprise level tool as a hobbyist.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
OS-X: because making Unix user-friendly was easier than debugging Windows