+ Reply to Thread
Page 1 of 2 1 2 LastLast
Results 1 to 30 of 35

Thread: Which version control software

  1. #1

    Default Which version control software

    I'm currently developing in Java (J2ME) and need some sort of version control software. I'm developing on a single laptop and don't always have access to the internet so need some sort of version control that will let me have both the client and server software on the same computer.

    Does anyone have any suggestions for a good free version control system that works with Windows (2000 home edition) and hopefully Eclipse?

    I've tried CVS but it's almost impossible to set up on Windows and get it to work with Eclipse. I managed to get it to kind of work in dos but not to plug into Eclipse.

    So any recommendations and/or websites with useful instructions would be great. :)

  2. #2
    Senior Member
    Join Date
    Feb 2005
    Location
    Hampshire UK
    Posts
    903

    Arrow

    I work on my own so don't use version control unless working in a team (sometimes but rare these days) and then it was Source Safe mostly.

    Regards J2ME I also use J Builder as believe or not, I actually hate Eclipse and found it slow and cluncky for some odd reason!? but I know many that use it in mobile development.

    I have no idea if Source Safe works with either of those tho sorry as I used it with other IDE's on GBA etc. but it was very good indeed although there is prolly better version control software available these days anyway?
    Adrian Cummings
    Software Amusements

  3. #3
    Senior Member
    Join Date
    May 2005
    Location
    Warsaw, Poland
    Posts
    2,707

    Default

    Subversion. Get the TortoiseSVN client which embeds itself in Exploder. For eclipse, Subclipse.

    The first is very easy to use, you won't have problems and it's fully GUI driven. The second just adds SVN support to the whole Team thing (right click on the project, Team submenu). There are tutorials on setting it up with screenshots.

    While you're at it, i recommend running a local webserver with Trac and set it up to communicate with your subversion repository. Beyond being able to track your progress (when it comes to svn commits), you'll have a nice wiki to put your notes and stuff and a ticket/bugtracking/task system to put tasks in. The latest version of Eclipse (3.3) comes with Mylyn in their repositories, which provides a task-oriented interface to Eclipse (just read their site on that stuff, it helps :-)) and also "trac connector" which provides you with the ability to use Trac as a task repository, edit tickets from within Eclipse, etc.

    This (plus some other plugins for Eclipse and Trac and the fact that Trac and my repository are on a dedicated system) is my current development setup and it's superb :-).

  4. #4
    Senior Member
    Join Date
    Nov 2006
    Location
    Friedrichshafen, Germany
    Posts
    427

    Default

    I'm using SVN, that's basically a CVS-clone with improvements, and there's a very good client for Windows called TortoiseSVN. And in eclipse, you can use Subclipse instead.

  5. #5
    Senior Member
    Join Date
    Feb 2005
    Posts
    2,068

    Default

    TortoiseSVN here, too.
    Dr Mal: Practice of Horror PC | Mac
    Crime Solitaire PC | Mac | iOS
    Magicville: Art of Magic PC | Mac
    Desktop Gaming Ltd | Facebook | YouTube | Twitter

  6. #6
    Member
    Join Date
    May 2006
    Location
    Rotterdam, The Netherlands
    Posts
    61

    Default

    Same here. Subversion and TortoiseSVN. I am slowly getting used to "merging" (luckily I only develop in a 2-developer team right now so there is not too much pain), as at the day job I use VSS and a strict check-out/check-in based sharing model.

    Oh, and unless Source Safe is something completely different than Microsoft Visual Sourcesafe, it definitely isn't free. And as a stand-alone product, it doesn't do remote access either. There are 3rd party solutions for that, though.

  7. #7
    Senior Member
    Join Date
    Jun 2007
    Posts
    321

    Default

    TortoiseSVN. It's very easy to use.

    I have used Vault, it's a .NET solution, that is incredibly slow and clunky. I do not recommend it. It takes literally an hour to grab a project. I have no idea why. It uses a check-out, check-in system which is much more of a pain than an update-commit-merge system.

  8. #8
    Senior Member
    Join Date
    Jul 2005
    Location
    UK
    Posts
    169

    Default

    SVN looked like a good system... however I am having to use it for real for the first time at a client site I am currently working in and there have been issues. One I noticed that because of the shell integration that not all tools picked up the fact that files had changed - they used their cached versions. I also had problems updating files that were comitted to the repository. Until I discovered that this was what was happening it was as if a bug I was working on just refused to disappear.

  9. #9
    Administrator
    Join Date
    Jul 2004
    Location
    WA
    Posts
    1,415

    Default

    Don't ever mess with the files directly in the repository, svn wont work well that way. You have to go though the commit process to ensure all clients get updated properly.
    Dan MacDonald
    a prisoner of the cause

  10. #10
    Senior Member
    Join Date
    Jul 2004
    Location
    Seattle, WA
    Posts
    1,302

    Default

    If it's only two of you, you can use the free version of Perforce. Very nice software, pretty easy to set up.

  11. #11
    Senior Member
    Join Date
    Feb 2007
    Location
    Canberra, Australia
    Posts
    958

    Default

    Quote Originally Posted by Xiotex View Post
    SVN looked like a good system... however I am having to use it for real for the first time at a client site I am currently working in and there have been issues. One I noticed that because of the shell integration that not all tools picked up the fact that files had changed - they used their cached versions. I also had problems updating files that were comitted to the repository. Until I discovered that this was what was happening it was as if a bug I was working on just refused to disappear.
    You must be (a) cursed, or (b) doing something really wrong (please tell me you're not modifying the contents of the repository directly - as Dan says, that's really not a good idea); because I know many people (including myself) who use it regularly, and none of them have ever had any of those issues.

    The shell integration of TortoiseSVN does cause Windows Explorer to be a bit laggy sometimes, but it's so gosh darn convenient that it's worth it in my opinion. (If you disagree, you can of course use another client; the shell integration is the entire point of TortoiseSVN, after all, and it's not like there aren't other SVN clients out there.) Other than that I haven't had any problems with SVN.
    Inventive Dingo
    Mayhem Intergalactic - streamlined space strategy game

  12. #12
    Senior Member
    Join Date
    Aug 2005
    Posts
    242

    Default

    I've been using it daily on several projects over the last few years and never had a problem.

    If you haven't done so already, I'd recommend reading through the Subversion Book, it's available free on-line.

  13. #13

    Default

    Wow thanks for all the replies. It looks like SVN is a good way to go. I guess my next step is to try and get all the different programs working together to get it into Eclipse.

    Thanks again.

  14. #14
    Moderator
    Join Date
    Nov 2004
    Posts
    2,882

    Default

    Perforce is the games industry standard, but its pricy. However they do a 2 (or is it 3?) user license for free.

    SVN is the next best option and is what we're currently using (because there are more of us), I'd prefer to use Perforce though, as its shell integration is just top notch.

    When I'm working alone, I run a perforce server and client on different machines in my network and work from there (so I get backup and repository control whilst not requiring internet etc).

    Both will do you fine.
    www.mindflock.com - social AI-based games

  15. #15
    Senior Member
    Join Date
    Jul 2004
    Location
    Sheffield, UK
    Posts
    694

    Default

    This has been in another thread of similar topic, but I don't think they do the free licence for perforce anymore, you now get a time limited trial key.
    --

  16. #16
    Senior Member
    Join Date
    Feb 2005
    Posts
    2,068

    Default

    Quote Originally Posted by Nikster View Post
    This has been in another thread of similar topic, but I don't think they do the free licence for perforce anymore, you now get a time limited trial key.
    There's still a free, limited version. You can get an evaluation licence though which removes the user limitation for a fixed period.
    Dr Mal: Practice of Horror PC | Mac
    Crime Solitaire PC | Mac | iOS
    Magicville: Art of Magic PC | Mac
    Desktop Gaming Ltd | Facebook | YouTube | Twitter

  17. #17
    Senior Member
    Join Date
    May 2005
    Location
    Warsaw, Poland
    Posts
    2,707

    Default

    Quote Originally Posted by Greig Hamilton View Post
    I guess my next step is to try and get all the different programs working together to get it into Eclipse.
    If you use Subclipse, you don't really need TortoiseSVN that much (of course using it only helps) since it provides all the functionality (from within Eclipse) that an SVN client has to offer.

  18. #18
    Senior Member
    Join Date
    Jul 2004
    Location
    Durham, UK
    Posts
    4,873

    Default

    I've been a staunch user of CVS and Eclipse for years now. Had CVSNT working just fine too as a local server. I had some terrible trouble with SVN and Eclipse though - just Didn't Work Properly. This was about 18 months ago - has it got a lot better?

    Cas :)

  19. #19
    Senior Member
    Join Date
    May 2005
    Location
    Warsaw, Poland
    Posts
    2,707

    Default

    I use Subclipse for my engine development and i had almost* no problems with it. I would recommend it.

    *=There was a case where i had to rename a folder and modify some files. Subclipse didn't liked the idea and screwed up for some reason. It took me a while to figure out that i had to do an "update" before commiting after doing such a thing, even if i'm the only one working there. The bad thing is that Subclipse said nothing related and everytime i tried to commit i was getting an out of date error and then the svn connection was closed and i had to restart Eclipse. When i looked for 'out of date' on google i found the solution but really the message didn't helped...

  20. #20
    Senior Member
    Join Date
    Jul 2004
    Location
    Seattle, WA
    Posts
    1,302

    Default

    Quote Originally Posted by zoombapup View Post
    Perforce is the games industry standard, but its pricy.
    $800 per user for 1-20 users to be exact. <gulp>

  21. #21
    Senior Member
    Join Date
    Aug 2004
    Location
    Arlington, VA
    Posts
    656

    Default

    I know you said you have limited access to the internet, but I think you should consider cvsdude.com as an off-site repository host. At a bare minimum you could export your local/daily stuff to a cvsdude.com directory and commit when you do have access to the internet. I've used them for years and recommend them highly. It gives me complete peace of mind knowing my source code is safely backup in a different place.
    Philip Ludington
    Mr. Phil Games

  22. #22
    Senior Member
    Join Date
    Aug 2004
    Location
    Arlington, VA
    Posts
    656

    Default

    Quote Originally Posted by Nikster View Post
    This has been in another thread of similar topic...
    You might mean this thread TortoiseSVN
    Philip Ludington
    Mr. Phil Games

  23. #23
    Senior Member
    Join Date
    Jun 2007
    Location
    Winston-Salem, NC
    Posts
    370

    Default

    In a multi-developer context, particularly in open source, I'm a fan of distributed peer-to-peer version control systems. These allow developers to mostly work right past each other, the patch and merge capabilities of such tools are pretty advanced compared to the client-server crowd. Mercurial and Darcs are the ones I'm familiar with. Mozilla is transitioning to Mercurial for future work, but it's not fully integrated into their build and test regimen yet. Darcs was used by the Chicken Scheme-to-C author until recently, but he gave up on it, citing performance limitations. Personally I found Darcs very easy to use, all other capabilities aside. Mercurial is very similar and I'm currently trying it in my own work, as is the Chicken author. The public Chicken repository went to Subversion though, because that infrastructure already existed and it was the path of least resistance.

  24. #24
    Senior Member
    Join Date
    Jul 2004
    Location
    Sheffield, UK
    Posts
    694

    Default

    Quote Originally Posted by MrPhil View Post
    You might mean this thread TortoiseSVN
    Actually, it was this thread :)
    --

  25. #25
    Senior Member
    Join Date
    Aug 2004
    Location
    Arlington, VA
    Posts
    656

    Talking

    Quote Originally Posted by Nikster View Post
    Actually, it was this thread :)
    Heh heh. I tried :D
    Philip Ludington
    Mr. Phil Games

  26. #26
    Senior Member
    Join Date
    Jul 2004
    Posts
    291

    Default

    I recently read about git, written (or at least started) by Linus Torvalds and now in use for Linux kernel development. It's a peer-to-peer version control system and looks interesting, but I haven't used it myself and I've never investigated the other peer-to-peer solutions so I don't really have anything insightful to say about it.

    I've used Subversion at work and at home for a few years and I don't have any complaints. TortoiseSVN is great if you're on Windows.

  27. #27
    Senior Member
    Join Date
    May 2005
    Location
    Warsaw, Poland
    Posts
    2,707

    Default

    Reviving this thread to talk about Bazaar :-).

    It's a decentralized versioning system which practically means that there is not a "big fat repository" but the versioning is done in -somewhat- independent branches. The idea is that different people might want to work in different parts of a project and not mess with the others' stuff or the repository, but still have the benefits of version control and a single project. At the core, it's just a bunch of different versions of the same thing which can be merged or duplicated (make new branch) so new things can work there.

    This is an interesting thing for the adventurous types of coders, because you may want to experiment on a new algorithm for scene management (for example) as a side project but continue the development if your engine as the main task. So you create a branch of the code, which you regularly update from the main branch and experiment on that branch (with proper commits, etc). The experimental branch has everything the main one, plus the new scene management. If the new algorithm makes it, then you just merge that branch with the main and everyone is happy. If the new algorithm doesn't make it, you just forget about the experimental branch. At least you tried it. But on the plus side, you didn't tried it with the main branch and the code inside remained clear and working :-). And if you worked with more coders which were using your main branch as the source for their own branches, you didn't spoiled theirs when they were updating from yours.

    Also this is an interesting thing for people who want to put their code online but they don't want to pay for a dedicated or VPS system, set-up subversion/svn/whatever, etc. Bazaar works over SFTP (pull/push), plain FTP (pull/push), SSH (pull/push) and HTTP (only pull) and if you compress a branch directory, put it in a CDROM or a USB flash drive, move it somewhere else, it's a valid branch from where people can update, merge or whatever they would do with an online branch. Since for Bazaar the only thing that matters is the files in the special .bzr directory, you can push/pull to/from the main branch using SFTP or FTP and use HTTP for public access. You can setup your ftp server's permissions so only your user can access the source code -for example- but allow anyone (that is, the www user :-P) to get the latest documentation :-).

    About people who use Bazaar... well, many :-). Canonical (of the Ubuntu fame) sponsors the project these days (and uses it for their Launchpad site). And i use it too for a project :-P.

    Check the official site and especially the 5-minute mini tutorial which covers quickly what Bazaar is and what can do.

  28. #28
    Senior Member
    Join Date
    Feb 2007
    Location
    Canberra, Australia
    Posts
    958

    Default

    Sounds okay, but I have no reason to switch from Subversion. It already does everything I want. :)

    The branching feature is far from unique to Bazaar, by the way - Subversion and even CVS have been able to do that for a very long time.
    Inventive Dingo
    Mayhem Intergalactic - streamlined space strategy game

  29. #29

    Default

    I have only ever used TortoiseSVN and Perforce. Perforce seems great for larger projects but I actually found Tortoise very easy to use for home projects.

  30. #30
    Senior Member
    Join Date
    May 2005
    Location
    Warsaw, Poland
    Posts
    2,707

    Default

    Quote Originally Posted by ChrisP View Post
    The branching feature is far from unique to Bazaar, by the way - Subversion and even CVS have been able to do that for a very long time.
    I used Subversion before (and i still use it at work). Branching in subversion is something totally different than branching in decentralized systems like Bazaar (there are others, like git and mercurial, but i find bazaar to be the best). I would go as far as to say that their relation is only little more than the name.

    In Bazaar you branch for making a local copy from a main branch (think it like your svn repository). You work locally with this branch, like if it was a small svn repository (you really commit stuff in this branch) and then you simply merge it with the main branch. Merging is a top-class process in Bazaar (unlike SVN/CVS) because this is one of the most (if not the most) important part of a decentralized versioning system.

    If you work alone with only you having access to a repository from a single or a couple of computers, then you're probably won't gain much from using Bazaar instead of Subversion (let CVS die please).

    However at work, there were many cases where using a decentralized system would be of help. For example, a guy was optimizing our low level routines. His work took a lot of days and he couldn't commit them to the subversion repository before making sure that they work. The rest of the coders were using the non-optimized (but working) versions independently. Now, this guy just lost the versioning control for the period he was working on optimizing the routines.

    But if we had a decentralized versioning system, like Bazaar, he could simply checkout a branch from the main branch, work on this branch independently with full versioning support, but without messing with the main branch, and once his work was done he could just merge his branch with the main one :-).

+ Reply to Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts