LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Programming (https://www.linuxquestions.org/questions/programming-9/)
-   -   What is your prefered distributed source control? (https://www.linuxquestions.org/questions/programming-9/what-is-your-prefered-distributed-source-control-544849/)

hgb 04-10-2007 11:48 AM

What is your prefered distributed source control?
 
Hi there people, I whant to use 1 of them, for instance I have take a look at darcs, it seem nice, let discuss a little

toughts

* you need the whole tree and not only the "head" of a repo for be in synch with that repo... that mean that for very large projects (of what I really dont have) with a large history, is a "pain" get the tree... ????

* I dont understand completely if commits are automatic or via email on a remote repo (tought I guess I need read more and practice a little more).


* Aparently the normal flow between people can be done via email, that mean that you really dont need a server... but do a server aproach look a little more dificult than "svnadmin create ... " and "svnserve ..." ????.



I will like to know about your experience with this distributed systems if posible...


For example, monotone look a little more complicated??? at first look.

taylor_venable 04-11-2007 08:29 AM

I'm going to try to answer a few of these questions, but the truth is that I've only used distributed version control for personal projects, so it's been pretty simple in my experience. Anyways, hope this information helps you.

Quote:

Originally Posted by hgb
* you need the whole tree and not only the "head" of a repo for be in synch with that repo... that mean that for very large projects (of what I really dont have) with a large history, is a "pain" get the tree... ????

It can be. Imagine that you've just joined a three year-old project and want to pull the source for mainline development. You have to download the pristine source (no problem) and then all the patches that get you up-to-date. This patch list may be extremely long and take a long time to download. On the other hand, after you've done this once, you don't have to do it again.

Quote:

Originally Posted by hgb
* I dont understand completely if commits are automatic or via email on a remote repo (tought I guess I need read more and practice a little more).

There is no such thing as a "commit" in distributed version control. Everybody keeps their own personal version of the repository, and when somebody else wants to get the code that you've been working on, they do a pull of your patches. Now you could set up one person as the "master" who keeps the complete repository, then everybody pulls from them and sends in their patches to be merged in. That works kind of like a commit system, but it's not part of the version control system -- just added by human action.


Quote:

Originally Posted by hgb
* Aparently the normal flow between people can be done via email, that mean that you really dont need a server... but do a server aproach look a little more dificult than "svnadmin create ... " and "svnserve ..." ????.

You're absolutely right -- there's no server in distributed version control, which is one of the up-sides. There's no bottle-neck where things could go wrong. For example, I'm working on a project where we're using Subversion for source control. The problem is that the server is very unreliable and always seems to go down on the weekend. I won't be able to get in to fix it until Monday, so all weekend long I can't update my sources or check in my work. With distributed version control, there's no server to act as a single point of failure. Now, it's very easy to set up distributed version control, but it's almost just as easy (as you mention) to set up Subversion, so from that standpoint DVC doesn't offer a huge advantage.

Quote:

Originally Posted by hgb
I will like to know about your experience with this distributed systems if posible...

As I said, most of my use has been for personal projects, but I found it very easy to learn and understand, and Darcs has done a good job of keeping track of changes and letting me manipulate them as I see fit (rolling back, etc). I guess the best way to figure out if it's right for your project is to just give it a shot and see.

hgb 04-11-2007 11:14 AM

A yes I gived it a shot, in fact I have choosed to use now a Distributed Version System, because at work (they have very bad way of work in software I think... or perhaps Im extremist?? nah...) I have setup an SVN repo in a Win PC that was supposed to be a server, then after some day, I tried to update some of the code, and get error, then I go to the computer, analised, see that there where no cygwin (Windows machine duh!!!...) and thus no SVN, see if there is the repo in the drive... and no, then I ask.... hey people... ummm???, have you formated this computer???, and people have sayed yes we do it.... lol. By fortune I have the last source, but I will not fail again in letting alone the server with people that dont know what is doing that server, and think of it like a normal PC :roll:.


Anyway, I have choosed now distributed... at the end, it will work for example with people that dont whant use a free centralised VS like SVN, CVS at the know ones because is "free" restrictions, or that dosent have the money for buy a dedicated server, for students also will work nice I guess... and will work to my work.




OK, darcs also have a nice option "darcs dist -d name-of-dist-1.2.3", I have liked that (people here like to have them in CD each change I do :S).



I have also taked a look at monotone, I like the P2P concept, but from reading, it look somewhat more complicated, perhaps at next days, I will give it a shot and see if it is like it look.


All times are GMT -5. The time now is 03:19 AM.