Like Tree2Likes

Revision control system recommendations

This is a discussion on Revision control system recommendations within the Tech Board forums, part of the Community Boards category; I just started a new job and while it's very nice, they're kind of in the dark ages in the ...

  1. #1
    Epy
    Epy is offline
    Fortran lover Epy's Avatar
    Join Date
    Sep 2009
    Location
    California, USA
    Posts
    960

    Revision control system recommendations

    I just started a new job and while it's very nice, they're kind of in the dark ages in the sense that they don't use a lot of modern practices. Not only do they not backup their data, but they don't use any sort of versioning etc.

    I have never used a revision control system outside of paid solutions and would like to implement something at work quickly that:
    - tight integration with Windows (I'm seeing TortoiseSVN and such)
    - simple
    - check in/check out (implied already probably)
    - client-server based
    - works with binary files

    Basically I just want to throw something on an old computer, and then back up the files for the revision control system. Kill two birds with one stone so to speak. We won't really be revising code, it's more of RSLogix files and CAD drawings. All I really need is the check-in check-out ability though.

    Thanks in advance for any suggestions. Right now I'm looking at Subversion + TortoiseSVN.

  2. #2
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    21,652
    If you are willing to trust your source with an external provider, then going with a project hosting provider would probably be a good idea. As much as I prefer Bazaar myself, I note that Bitbucket provides up to 5 free private repositories using Git or Mercurial. Both Git and Mercurial have Windows integration including a Tortoise-style client, and of course these modern tools handle binary files. If you are willing to pay, then Github and Launchpad may be possibilities too.
    stahta01 likes this.
    C + C++ Compiler: MinGW port of GCC
    Version Control System: Bazaar

    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  3. #3
    Epy
    Epy is offline
    Fortran lover Epy's Avatar
    Join Date
    Sep 2009
    Location
    California, USA
    Posts
    960
    Our internet connection blows, and there's nothing we can really do about it due to our office's location, so that pretty much limits us to our own in-house server.

  4. #4
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    21,652
    Ah. Well, are you familiar with Subversion? What about other tools? Are your team members familiar with Subversion? What about other tools?

    Looking at your requirements, it would be best to go with the tool for which the most people are most familiar with. That said, distributed version control tools may provide an advantage here in that even if your intranet is down, full version control capability would still be available (other than those operations that require access to the designated repository on the server).
    C + C++ Compiler: MinGW port of GCC
    Version Control System: Bazaar

    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  5. #5
    Epy
    Epy is offline
    Fortran lover Epy's Avatar
    Join Date
    Sep 2009
    Location
    California, USA
    Posts
    960
    No one has used anything...I've used pay-for solutions (Synergis ADEPT, something RCS). Just looking for something simple and reliable.

    So you would recommend Bazaar then? It has TortoiseBzr, so it looks like it would fit my needs as far as Windows shell integration goes.

  6. #6
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    21,652
    Quote Originally Posted by Epy
    So you would recommend Bazaar then? It has TortoiseBzr, so it looks like it would fit my needs as far as Windows shell integration goes.
    Yes There is also a "standalone" GUI interface named Bazaar Explorer.

    While you don't need to install Bazaar on your server, installing it would allow the use of the smart server which is more efficient. For access control, the way that I have used is the bzr_access script.
    C + C++ Compiler: MinGW port of GCC
    Version Control System: Bazaar

    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  7. #7
    Registered User manasij7479's Avatar
    Join Date
    Feb 2011
    Location
    Kolkata@India
    Posts
    2,498
    I've heard (probably here) that you're better off using a database if your needs are primarily about binary files.
    (Not sure about the authenticity of the fact, though.)
    Manasij Mukherjee | gcc-4.8.2 @Arch Linux
    Slow and Steady wins the race... if and only if :
    1.None of the other participants are fast and steady.
    2.The fast and unsteady suddenly falls asleep while running !



  8. #8
    C++まいる!Cをこわせ! Elysia's Avatar
    Join Date
    Oct 2007
    Posts
    22,549
    A database is a, shall we say, storage technology, and not a source revision technology, so they are strictly separate product categories.
    In fact, Microsoft's Team Foundation Server uses Microsoft's database technology as the underlying technology for storing the data in the revisions.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  9. #9
    Registered User manasij7479's Avatar
    Join Date
    Feb 2011
    Location
    Kolkata@India
    Posts
    2,498
    Quote Originally Posted by Elysia View Post
    A database is a, shall we say, storage technology, and not a source revision technology, so they are strictly separate product categories.
    That was my point.
    If you can not use diff `s to distinguish between versions and visualize changes, what is the use of the extra layer(s) of abstraction.
    You can just store the data with the version as the key.
    Manasij Mukherjee | gcc-4.8.2 @Arch Linux
    Slow and Steady wins the race... if and only if :
    1.None of the other participants are fast and steady.
    2.The fast and unsteady suddenly falls asleep while running !



  10. #10
    C++まいる!Cをこわせ! Elysia's Avatar
    Join Date
    Oct 2007
    Posts
    22,549
    You might. But then again, a version control system is not just about diffs. It's a lot more than that.
    Don't forget things such as locking, branching, committing, reverting, etc.
    manasij7479 likes this.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  11. #11
    Registered User manasij7479's Avatar
    Join Date
    Feb 2011
    Location
    Kolkata@India
    Posts
    2,498
    Quote Originally Posted by Elysia View Post
    You might. But then again, a version control system is not just about diffs. It's a lot more than that.
    Don't forget things such as locking, branching, committing, reverting, etc.
    Automated conflict resolution during commiting won't work too, so a lot of manual effort will be needed for maintaining branches(which may cancel out the other advantages), but I get your point.
    Manasij Mukherjee | gcc-4.8.2 @Arch Linux
    Slow and Steady wins the race... if and only if :
    1.None of the other participants are fast and steady.
    2.The fast and unsteady suddenly falls asleep while running !



  12. #12
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    4,231
    I strongly advise against "SVN".

    I'd second "Mercurial", but "Bazaar" is also nice.

    That said, how big are the files? If they can't be efficiently "differenced" you can still use a revision control system, but you should consider disabling any "differencing" for those files.

    All that said, no revision control system is really all that useful for backup operations.

    Instead of trying to "kill two birds with one stone" consider using two stones to kill two very different birds.

    Consider throwing a revision control system, a real backup system with recovery potential, and a CD/DVD burner on an old/unused machine. If you teach your fellows to push change sets out to that machine it should work wonderfully for a real backup and revision control machine. It shouldn't take more than a few minutes of scripting to get the job done.

    Soma

  13. #13
    Registered User
    Join Date
    Oct 2006
    Posts
    2,370
    Quote Originally Posted by phantomotap View Post
    I strongly advise against "SVN".
    I use subversion every day, and find it to be quite adequate for my needs. what reasons do you have for advising strongly against using it?

  14. #14
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    4,231
    what reasons do you have for advising strongly against using it?
    The reason I advise against it is simply that once I started using more modern tools I didn't have to do a lot of things I had been doing manually.

    So, with that in mind, have you ever used a more modern system? Try "Git" or "Mercurial" out for a bit. Specifically, try setting up a test branch that lives beside the root. It is a dream of simplicity whereas it is a loop manual "hoop jumpery" with "SVN".

    There are some breaking problems, but they aren't nearly as bad as they were for a while.

    Soma

  15. #15
    and the hat of wrongness Salem's Avatar
    Join Date
    Aug 2001
    Location
    The edge of the known universe
    Posts
    32,500
    > Our internet connection blows, and there's nothing we can really do about it due to our office's location, so that pretty much limits us to our own in-house server.
    So do you have any off-site backup capability?

    The nice thing about git (I guess bazaar and mecurial are the same) is that they are fully distributed. You're not reliant on a single point of failure.
    Yes, have a central server where everyone commits and syncs to, but if that goes you can easily rebuild from the last person who did a sync.
    If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
    If at first you don't succeed, try writing your phone number on the exam paper.
    I support http://www.ukip.org/ as the first necessary step to a free Europe.

Page 1 of 2 12 LastLast
Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Replies: 7
    Last Post: 10-20-2010, 11:25 PM
  2. Best Project Management and Revision Control Software?
    By sarah22 in forum General Discussions
    Replies: 31
    Last Post: 05-10-2010, 08:06 AM
  3. Menu type system flow-control
    By drag0n69 in forum C Programming
    Replies: 5
    Last Post: 02-24-2008, 08:18 PM
  4. good time control system
    By cozman in forum Game Programming
    Replies: 9
    Last Post: 05-31-2002, 11:03 PM

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21