Version Control System (/Center)

Community discussion for topics unrelated to the project.

Moderator: coordinators

Version Control System (/Center)

Postby Poncho » Tue Nov 09, 2010 3:39 pm

Hi,

Currently I'm working sometimes, in my free time, on two coding project. One on a website (html,css,javascript - perhaps in future some php) and the other in .net with c++ and opengl, which in the future I want to make completely opengl. For the website I use notepad++, but I guess I could use almost any text-editor for that. For the .net application I use Microsoft Visual C++ Express (2008). I want to make the .net application in the future multi-platform (when it's rewritten and almost completely opengl), so perhaps I could better use a different editor for that (eclipse?).

Anyway, I don't make use of version control. Perhaps just a little. I sometimes copy the working folder completely and start working in that so I have an "old version" in case I screwed up somewhere. But that is not really version control. Seeing luxrender using mercurial(?) I thought perhaps you guys can help me with how to get started in version control systems. I'm all self-taught and seeing projects taking more time, I would like a good approach/system to keep it efficient.

If I'm asking too much, perhaps you guys know a good website with a guide or something? :)
Cheers!
User avatar
Poncho
Developer
 
Posts: 1127
Joined: Sun Nov 30, 2008 11:47 am
Location: Northwood

Re: Version Control System (/Center)

Postby jeanphi » Tue Nov 09, 2010 4:01 pm

Hi,

What I like a lot about mercurial is that is really easy to set up (you just need to install it and tyou can start right away), and it's straightforward to use (you only have to learn a very small number of commands to start taking advantage of it). I sugest you have a look at the mercurial site, they have pretty good tutorials or reference cards giving basic operations: http://mercurial.selenic.com/

Jeanphi
jeanphi
Developer
 
Posts: 6577
Joined: Mon Jan 14, 2008 7:21 am

Re: Version Control System (/Center)

Postby dougal2 » Tue Nov 09, 2010 4:11 pm

If you're a one-man-band I would definitely recommend using a 'distributed' VCS (actually, I'd recommend one in all cases!). In most cases (well, the ones I've used - mercurial, git and bazaar) they don't require a server, so you can still do powerful revision control on local disks (however they can be used with a server if needed).

Other systems like CVS (urgh! :twisted:) and SVN actually require a central server to operate, and can be tricky to set up and maintain. I used SVN for a long time (and still do for some projects, like Blender). It's very easy to understand conceptually, but has the server overhead. (I did find that merging sometimes wrecked the working-copy, but the better supporting tools/integrations that are now available and paying attention can avoid that).

I didn't notice any major differences between mercurial and bazaar, however git is a little different. I didn't get on very well with git, I found it's 'staging' area a little confusing (and unneccesary) as other systems don't have it. I also found that merging was a complete nightmare. (Again, better supporting tools/integration might have helped, but it was easier to move to something else).

IIRC I stopped using bazaar because I found it slow over a network, I didn't use it for very long. Also, not many projects in my areas of interest use it either.

Which leaves my favourite of the bunch so far... mercurial. The mercurial website has a guide to usage that should explain the basics: http://mercurial.selenic.com/guide/
Additionally, the integration of mercurial in eclipse (which I use for most tasks) is practically perfect, it makes push/pull/commit and merging very simple.
User avatar
dougal2
Developer
 
Posts: 3074
Joined: Mon Jan 14, 2008 7:21 am

Re: Version Control System (/Center)

Postby hedphelym » Wed Nov 10, 2010 1:18 am

I use AnkhSVN http://ankhsvn.open.collab.net/ for visualstudio, and subversion http://subversion.apache.org/ on my server.

If you don't want to go through all the work setting up different servers \ software
I can recommend this virtual machine http://www.turnkeylinux.org/revision-control ,
it's ready to run, download and launch in virtualbox. http://www.virtualbox.org/


Revision Control systems supported: Git, Bazaar, Mercurial, Subversion.

By using virtualized server you can move it to what ever computer you'd like later on, just export the virtual machine and then import on new machine.
It also easily enables you to test all the different clients before you decide what works best for you.

Good luck!
User avatar
hedphelym
Developer
 
Posts: 792
Joined: Mon Aug 18, 2008 7:37 am
Location: Kristiansand Norway

Re: Version Control System (/Center)

Postby jeanphi » Wed Nov 10, 2010 2:23 am

Hi,

The nice thing with mercurial, is that you can take it with you without a virtual machine: you just make a copy of the .hg directory in your source directory and it has all the data inside (you can take the .hgrc file too to save your local settings). That's all. I really think mercurial is currently the easiest and most effective tool available. Git and Bazaar have the same advantage, but I agree with dougal2 regarding those tools.
It also has some nice integration in existing IDE or nice standalone GUI tools.

Jeanphi
jeanphi
Developer
 
Posts: 6577
Joined: Mon Jan 14, 2008 7:21 am

Re: Version Control System (/Center)

Postby Poncho » Wed Nov 10, 2010 1:20 pm

I got TurtoiseHG and I think I start to understand how it works. :D I even got luxsilver2 cloned to my HDD with the program. I also figured out how to export a commit so you guys can use it.

Here is my first try on the forum style, luxsilver2. It is an update of the version numbers (not very useful :D ) and I edited the background images used for the tabs. It are those tabs when you post a reply and see "options", "upload attachment" etc.. they have a white border now. with my fix they have correct background color.

luxsilver2_rev10.zip
(611 Bytes) Downloaded 22 times


//offtopic. Too bad .patch format is not allowed.

//edit: it did not take the images with the patch... :cry: :cry:
Cheers!
User avatar
Poncho
Developer
 
Posts: 1127
Joined: Sun Nov 30, 2008 11:47 am
Location: Northwood

Re: Version Control System (/Center)

Postby Poncho » Wed Nov 10, 2010 1:31 pm

I will do it old fashion way. These images have correct black edge. They are located in luxsilver2/theme/images/

bg_tabs1.gif
bg_tabs1.gif (1.45 KiB) Viewed 616 times


bg_tabs2.gif
bg_tabs2.gif (417 Bytes) Viewed 616 times
Cheers!
User avatar
Poncho
Developer
 
Posts: 1127
Joined: Sun Nov 30, 2008 11:47 am
Location: Northwood

Re: Version Control System (/Center)

Postby jeanphi » Wed Nov 10, 2010 3:51 pm

Hi,

You can create a bundle so that it puts all the files including the binary ones. Thanks for your work.

Jeanphi
jeanphi
Developer
 
Posts: 6577
Joined: Mon Jan 14, 2008 7:21 am


Return to Offtopic

Who is online

Users browsing this forum: No registered users and 0 guests