Source code control
-
-
Number of slices to send:Optional 'thank-you' note:
-
-
Thanks.
There are worse crimes than burning books. One of them is not reading them. Ray Bradbury
-
-
Number of slices to send:Optional 'thank-you' note:
-
-
My main goal in picking it was something that was free, easy to set up, configure, and that I didn't need to do any research to use. So I picked SVN, since I'm familiar with it through work.
I'm not concerned about the amount of space that it takes up - my "hobbyist" repository is only 50MB or so.
Everything is theoretically impossible, until it is done. ~Robert A. Heinlein
-
-
Number of slices to send:Optional 'thank-you' note:
-
-
SCJP 1.4 - SCJP 6 - SCWCD 5 - OCEEJBD 6 - OCEJPAD 6
How To Ask Questions How To Answer Questions
-
-
Number of slices to send:Optional 'thank-you' note:
-
-
-
-
Number of slices to send:Optional 'thank-you' note:
-
-
-
-
Number of slices to send:Optional 'thank-you' note:
-
-
Thou shalt not try me. Mom 24:7
-
-
Number of slices to send:Optional 'thank-you' note:
-
-
-
-
Number of slices to send:Optional 'thank-you' note:
-
-
Tim Driven Development | Test until the fear goes away
-
-
Number of slices to send:Optional 'thank-you' note:
-
-
There are worse crimes than burning books. One of them is not reading them. Ray Bradbury
-
-
Number of slices to send:Optional 'thank-you' note:
-
-
I used to run my own SVN server on a linux box in my basement. That worked well, and got me one level of redundancy. I'd use it again in a pinch.
I really like having the redundant storage out of my house. And I prefer the git approach to merging to the one in svn. This is IMHO, but I'm not the only one who things git is better than svn.
-
1 -
-
Number of slices to send:Optional 'thank-you' note:
-
-
At work we have worked out a branching model for working with Git. We work on features, we create a branch for each feature and when the feature is complete, tested and accepted, we merge it into the main branch. Once you get used to it, working with branches in Git is very convenient.
I have a few hobby projects at Github.
By the way, Git and Mercurial are a lot alike. Like Github for Git, there's Bitbucket for Mercurial.
-
-
Number of slices to send:Optional 'thank-you' note:
-
-
github and bitbucket both support git and have a free private repository but bitbucket also supports mercurial. Github seems easier to use for most people.
I've used assembla for svn, and both guthub and bitbucket for git.
Here are some comparison links
http://www.infoworld.com/d/application-development/bitbucket-vs-github-which-project-host-has-the-most-227061
http://cloudengineblog.wordpress.com/2010/12/13/why-we-chose-mercurial-and-bitbucket/
http://importantshock.wordpress.com/2008/08/07/git-vs-mercurial/
-
-
Number of slices to send:Optional 'thank-you' note:
-
-
E Armitage wrote:git and mercurial are distributed version control systems while SVN is not. Generally, it is better to use distributed version control because you can do more things offline e.g branching or checking file history.
I'm not convinced on this "distributed is better" argument. Just IMHO, but I'm not seeing it. The industry trend is to trust the cloud, which means you are never off line.
I much prefer git over SVN because the merge process (conflict resolution) is easier with git, but that is not really because its distributed, but rather just because its a better implementation.
-
-
Number of slices to send:Optional 'thank-you' note:
-
-
Except when you are.Pat Farrell wrote:.. which means you are never off line..
-
-
Number of slices to send:Optional 'thank-you' note:
-
-
E Armitage wrote:
Except when you are.Pat Farrell wrote:.. which means you are never off line..
When I'm on the beach with a drink with a funny umbrella, I don't care about source code control. YMMV
-
-
Number of slices to send:Optional 'thank-you' note:
-
-
Pat Farrell wrote:
I much prefer git over SVN because the merge process (conflict resolution) is easier with git, but that is not really because its distributed, but rather just because its a better implementation.
One of the main reasons why I like git (and even mercurial) is the fact that they allow me to create and manage multiple local branches as if I were switching directories. Compare this to SVN where creating/managing branches is a major task in itself. The ease of managing (and merging code between) these local branches (in git and mercurial) has allowed me to work on different features and keep switching between them as and when I wish.
-
-
Number of slices to send:Optional 'thank-you' note:
-
-
In our office, I've arranged a switch from CVS to Mercurial for these reasons:
* I can do local commits and not publish them until ready. For larger features, we use branches as well, but I don't want to create new branches for a one day tasks. So this way, I can commit several times a day, even though my work isn't ready to be published yet. This was one of the main reasons.
* Offline work. It doesn't happen a lot, but it sometimes it does. Furthermore, some operations (such as searches across the entire repository) are way faster when the entire repository is local. Initial cloning does take much longer than in a centralized system, but we have a stable team and this is not a concern for us.
Over the time, I've found the following additional advantages:
* Even when our office server is down, I can use email to send patches to a colleague who needs it. When the server goes back on, we just push the work into it, and that's all. Happened about twice, but it was really useful.
* The entire repository is protected by a checksum. We do hg verify daily, just for the peace of mind.
* The branch management seems much cleaner to me. A branch always contains all the files in the repo, no way around it. In CVS, I was always a bit anxious that I have forgotten to put some file (or directory) on a correct branch. In Mercurial, I have a graphical representation of the entire history, and I know that there is no file trailing behind. (Actually, this probably was a supporting argument for the switch.)
* Every commit has a unique ID. Our build script incorporates this ID into the build, so we are always able to identify the exact changeset from which it was compiled. We obviously use tags for all final releases of the project, but not for intermediate versions that are going to be tested (for example).
* There's a quite powerful query language to examine the history. Thanks to this, I'm able to answer the questions "in which version was this change published" and "which unpublished changes do we currently have" quickly. (Note: we do track these things in issue tracking systems, but we need to look at the real code when it seems that something was not correctly updated in the issue tracker.)
Perhaps some of these might be achievable in a centralized system as well, but frankly, I haven't looked back after the switch.
-
-
Number of slices to send:Optional 'thank-you' note:
-
-
Pat Farrell wrote:
E Armitage wrote:git and mercurial are distributed version control systems while SVN is not. Generally, it is better to use distributed version control because you can do more things offline e.g branching or checking file history.
I'm not convinced on this "distributed is better" argument. Just IMHO, but I'm not seeing it. The industry trend is to trust the cloud, which means you are never off line.
I much prefer git over SVN because the merge process (conflict resolution) is easier with git, but that is not really because its distributed, but rather just because its a better implementation.
You only have to be constantly online if you are constantly posting changesets to a central repository. This, by the way, is one of the virtues of git, which allows you to post changes locally, then push them online when you are back in touch with the cloud.
I have no choice about distributed version systems since a lot of work is being done by contractors on other continents. The master repository runs on one of my servers, but we all use it in the same basic way.
Experience keeps a dear School, but Fools will learn in no other.
---
Benjamin Franklin - Postal official and Weather observer
| I'd appreciate it if you pronounced my name correctly. Pinhead, with a silent "H". Petite ad: Paul Wheaton's 16th Kickstarter: Gardening playing cards for gardeners and homesteaders https://coderanch.com/t/889615/Paul-Wheaton-Kickstarter-Gardening-playing |









