John Evans' Blog

Automated Source Code Control System

by on Apr.29, 2008, under Uncategorized

So someone recently sent me a Fuzzmail, and it got me thinking. A system like that could be useful for version control, saving all the keystrokes a programmer does. It could make a code checkpoint every time you compile successfully. Those checkpoints would be useful all by themselves, even if you don’t want to store all that keystroke and time information. There are several levels of granularity you could go for, but the point is…Do we really need to have manual control over version control? Can’t we let the computer handle it?

:,
6 comments for this entry:
  1. thello

    I wouldn’t like to use a source control system that would auto-submit without programmer input.

    The thing is, compilers are good at catching syntax errors, but they can’t know anything about logic errors, and there’s bound to be a lot of them while you’re developing. On the fifty compiles I can do every day, perhaps one or two are actually stable or complete enough that I want to share them with the rest of the team.

    I wouldn’t want my broken work-in-progresses to be submitted to the others, nor would I want the broken WIPs from the others. Besides, it would make the revision list explode in length – imagine trying to find a specific version or change among hundreds of thousands…

    Now, on the other hand, if we wanted to use such a system purely as a “live” backup solution intended for one user at a time, it could definitely be more interesting…

  2. johnevans

    You have some good points. I guess I don’t really have any counterarguments. >_>

    (Although, if you’re having trouble finding a specific version among hundreds of thousands…That’s just a failure of your search tools!)

  3. vidstudent

    There is a reason we as heavy computer users enjoy rollback features, sir. Manual control is <3. What little I have been taught in my Windows Server 2003 class this semester is that you DO NOT WANT to automatically install updates. Allowing automatic installs means you don't notice when and why your computer and/or network stops working.

    Version control sounds quite similar. What if your computer automatically sets a checkpoint for one aspect of a program and not another for whatever reason?

  4. johnevans

    What version control is

    Version control is slightly different. Let me explain.

    Person A and Person B both “check out” the current version of source code. Person A makes some changes, then submits them.

    Then Person B makes some changs and gets a message saying something like “The source code has been modified since you checked it out, we will have to fold in changes”.

    This is how it works already. (With multiple people on one project, that is. Only one person on the project, it’s even simpler.)

    So, basically, on the one hand, updates never get installed “automatically” without your knowing. On the other hand, updates already get installed “automatically” because other people do them!

    From what you’re saying, it sounds like the dangerous scenario is: People start relying on the automatic updates, which then fail, so their work doesn’t get checked in.

    …I don’t know. It’s possible. Something to keep in mind, anyway. (In all honestly, has some better counterarguments to my proposal! ^_^; )

  5. sscougall

    In addition to ‘s comments, being able to manually control when a version is saved/submitted allows extra programmer input. That is, you can include version notes such as a task number (for cross-referencing) and a description (so people know what you changed).

    Having those descriptions and task numbers can then make searching for specific changes easier.

    (Not that you couldn’t prompt for such things at compile time, but that would surely get annoying on the programmer’s part.)

  6. johnevans

    Well, there would probably be some mechanism to distinguish between automatic updates and manual ones. The automatic ones would have the note of “Automated Update 3/15 4:30 PM”, something like that.

Leave a Reply

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Visit our friends!

A few highly recommended friends...