Shop OBEX P1 Docs P2 Docs Learn Events
version control — Parallax Forums

version control

Keith MKeith M Posts: 102
edited 2006-05-12 22:24 in General Discussion
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

Comments

  • John R.John R. Posts: 1,376
    edited 2006-05-10 13:16
    Keith;

    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
  • SteveWSteveW Posts: 246
    edited 2006-05-10 14:48
    >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.

    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
  • SSteveSSteve Posts: 808
    edited 2006-05-10 16:30
    Keith: Subversion is probably your best bet (subversion.tigris.org/). It's free and extremely powerful, but not hard to use. It doesn't work on the check-out/check-in model, so it should fit your needs. I have it set up on my network at home and once it's installed it's a piece of cake.

    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
  • Dave PatonDave Paton Posts: 285
    edited 2006-05-10 16:44
    I use Subversion religiously for both software and PCB designs, both at home and at work. The nicest thing about it is that it integrates tightly within Windows (using TortiseSVN) and exists completely seperate from any higher level functions. It also does what it calls atomic commits.

    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.
  • Keith MKeith M Posts: 102
    edited 2006-05-10 19:33
    Thanks guys for the response. Exactly what I was looking for.

    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
  • SSteveSSteve Posts: 808
    edited 2006-05-11 21:30
    I don't think using Subversion should preclude you from dumping backups off to permanent media. Those are still valuable. It's just that with Subversion you'll have a much easier time tracking your development progress and getting back to an earlier version when necessary.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    OS-X: because making Unix user-friendly was easier than debugging Windows
  • Kevin WoodKevin Wood Posts: 1,266
    edited 2006-05-12 05:03
    Although it uses the check-in / check-out model, Perforce is freely available for 2-developers, 5 workspaces.

    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.
  • SSteveSSteve Posts: 808
    edited 2006-05-12 22:24
    Subversion works with binary files as well as text files.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    OS-X: because making Unix user-friendly was easier than debugging Windows
Sign In or Register to comment.