Thread: SCM at home

  1. #1
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607

    SCM at home

    What type of source control do most of you use at home? Something freeware would be best but I am willing to pay. My home projects are reaching a point where source control is almost a must have.

  2. #2
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    I use Subversion exclusively. Mostly because there's a very easy to use and powerful client; TotoiseSVN and because it fits my requirements just nicely. It's free too.

    I have been listening to good things about Bazaar too. You may prefer this one if you want to take the chance and use your VCS also to synchronize your 3rd party libraries with their repositories, because Bazaar can update and commit to and from SVN and CVS. Personally I've been contemplating doing the switch myself.

    I also hear it has a better/smarter merge functionality. And at your level of code design this may be important because It's my guess you do a lot of refactoring.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  3. #3
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    On home projects yes I do a lot of refactoring older code and as you can imagine tends to leave things in a state of flux. I try my best never to leave anything broken but it's not always possible given time constraints.

    It would be nice just to have something so I could check files out, revert, sync, and do merges and integrations.

    I, however, do not have a server for this. Is it possible to run an SCM server on the dev box or do most of them require a dedicated server?

  4. #4
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Absolutely, for both.

    EDIT: Time for me to go to bed. But I reckon at least laserlight can fill you in with Baazar, IIRC. TortoiseSVN on the other hand comes with a very nice manual that should let you up and running in no time. Really. Meanwhile, one of the features I like most is the fact it also lets you see the state of your files through the Explorer by appending shortcut-like icons to your files.
    Last edited by Mario F.; 09-13-2008 at 09:39 PM.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  5. #5
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    Mostly because there's a very easy to use and powerful client; TotoiseSVN and because it fits my requirements just nicely. It's free too.
    There is such a client for Bazaar as well, but unlike Bazaar itself it is far from mature. Due to the up and coming trend started by TortoiseSVN in copying TortoiseCVS (the others copied TortoiseSVN, from what I understand ), the icon overlays can now be shared by the various Tortoise clients, so it is feasible to install... all of them, lol.

    Is it possible to run an SCM server on the dev box or do most of them require a dedicated server?
    You can have a local Subversion repository. In the case of distributed version control systems like Bazaar, Git and Mercurial, you can have multiple repositories (though jargon may differ), so it is easy to have a repository on your dev box, then have one on a server when you have a server, and then keep them in sync instead of just switching repositories.
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  6. #6
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    I downloaded TortoiseSVN and I'm confused. My repository is setup but when I look into it there isn't any files. I setup 3 folders in it as the instructions told me to and did an in place import. But I tested it and created a new folder and then synced to the latest version using the repository browser and it worked. Where is it pulling the files from if they are not in my repository?

    EDIT:
    Nevermind I think I have it figured out. Very handy. Now I need Araxis merge and I'll be set.
    Last edited by VirtualAce; 09-14-2008 at 01:49 AM.

  7. #7
    Cat without Hat CornedBee's Avatar
    Join Date
    Apr 2003
    Posts
    8,895
    I use git for everything new that I start. It's so blazingly fast, it's a joy to work with.
    On the other hand, I don't know what the state of wingit is.

    Then there's mercurial, which is very similar to git - a bit slower, but works very well on Win32.
    All the buzzt!
    CornedBee

    "There is not now, nor has there ever been, nor will there ever be, any programming language in which it is the least bit difficult to write bad code."
    - Flon's Law

  8. #8
    Kernel hacker
    Join Date
    Jul 2007
    Location
    Farncombe, Surrey, England
    Posts
    15,677
    I worked on Xen, which uses Mercurial, and I found it good. I never tried to use it with Windows tho'.

    --
    Mats
    Compilers can produce warnings - make the compiler programmers happy: Use them!
    Please don't PM me for help - and no, I don't do help over instant messengers.

  9. #9
    Disrupting the universe Mad_guy's Avatar
    Join Date
    Jun 2005
    Posts
    258
    I use git almost exclusively these days - I remember reading a book on subversion, getting to the point of setting up your local server and I promptly closed it. I didn't think setting up a server for something conceptually simple like version control was at all necessary, especially for simple, one person, home-grown projects.

    Apparently other people thought similarly and started making distributed version control systems. You can (essentially) replicate the centralized model pretty easily with most distributed systems, so I essentially see centralized version control systems as simply a subset of decentralized ones.

    I like git because it is fundamentally quite simple, it is fast and battle-tested (linux kernel is close to ~10million lines of code these days and git handles it well.) I've found the arguments of complexity to be nonsense - knowing just a few basic properties and maybe ~10 commands you can get by easily. Many other systems require you to know basic properties about their behavior and models if you want to get by with them, so I don't see this at all unreasonable and again, git is very simple at the core.

    Git also has absolutely excellent lightweight branch support and it makes testing out ideas very simple and intuitive - you can branch for as many things as you want like crazy ideas, bug fixes people contribute to you, new features and whatever you want. Like I said I have not really used subversion at all, but many tell me that they wish that branching was as simple and easy as it was in systems like git & co.

    Status of git on windows is that it works but there's still stuff to be done, naturally (see below.) Perfectly good alternatives are available as well, such as Mercurial and Bazaar which many people praise but I have not used extensively (in the case of bazaar, never tried) so I'm not going to make comments here. I also recommend Darcs if you want something simple and absolutely great for smaller projects.

    On the other hand, I don't know what the state of wingit is.
    Current status is that in the git 1.6.0 release, most of the changes to git-core made by the mingw fork were merged in, so as of current the core of git works quite well on windows but there are also more unix-centric things hanging around in git's porcelain interface (shell scripts and whatnot) which require more work.

    The guy working on the native mingw port quit because he was fed up with people constantly nagging him on and on about it - the cygwin port still works pretty decently though (although you have to run git-gc a little more frequently because garbage apparently collects a bit easier - there are some bugs here and there too in gitk from what I hear.)

    At this point I speculate support will only get better, though. If it's of the utmost concern to have flawless windows support - for varying definitions of flawless - you may be better off with something like mercurial for now.
    Last edited by Mad_guy; 09-14-2008 at 04:47 AM.
    operating systems: mac os 10.6, debian 5.0, windows 7
    editor: back to emacs because it's more awesomer!!
    version control: git

    website: http://0xff.ath.cx/~as/

  10. #10
    &TH of undefined behavior Fordy's Avatar
    Join Date
    Aug 2001
    Posts
    5,793
    I use CVS, but after hearing Mad_guy & CornedBee I'm now trying git.

    After about an hour of messing with it, it looks like I'll be making a move to git pretty quickly

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Problem in accessing root home folder....
    By Bargi in forum Linux Programming
    Replies: 1
    Last Post: 02-13-2008, 05:50 AM
  2. Hey I back home!!!
    By ssharish2005 in forum A Brief History of Cprogramming.com
    Replies: 88
    Last Post: 07-02-2007, 03:11 PM
  3. Security on automated home
    By stimpyzu in forum A Brief History of Cprogramming.com
    Replies: 4
    Last Post: 04-11-2004, 01:14 AM