RE: Version control

  • From: "Sina Bahram" <sbahram@xxxxxxxxx>
  • To: <programmingblind@xxxxxxxxxxxxx>
  • Date: Fri, 5 Aug 2011 23:56:55 -0400

100% agreement with the below.

I've had similar experiences with all three.

Take care,
Sina

-----Original Message-----
From: programmingblind-bounce@xxxxxxxxxxxxx 
[mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Ken Perry
Sent: Friday, August 05, 2011 10:37 PM
To: programmingblind@xxxxxxxxxxxxx
Subject: RE: Version control

I use it for work, home business, and home projects.  I will go down the
list of the three I have used most of all and the two I suggest and why.
People need not argue I am just stating my opinions.

First I started back in 90 with CVS and it was the hot and going thing.  I
would not suggest using it because it's a nightmare to reconfigure projects,
delete branches, handle tag tagging and many other problems.  It is however
well documented and supported on all platforms it just is a nightmare and
not as powerful as the next two.

The one I used up till last year on work and home business projects is
Subversion.  It has a really nice windows, Gui and command line and linux
command line interface.  It is very quick to set up. The tags and branching
is pretty simple but limited when you start diverging and deleting a lot.
Of course there are some power commands to take care of that like you can
export a clean tree and start over but there are still power issues with
this.  I would though suggest subversion if you're not getting into programs
that are multi  binary multi repo.  With that said we used subversion for a
very difficult project including OE Linux, and entire software stack and
more shared libraries than I can number and it was relatively easy to
administrate and use.  The problems came in when we cleaned up the trees you
always end up with these empty branches because you're not supposed to
delete directories so you can return to older branches that had them. Also
when we needed to switch from one branch of OE Linux to another it was a
nightmare.   Of course there are ways to deal with this but if you're going
to get that technical with Subversion (SVN) you might as well go with my
last choice and the one I use for all my projects, my work, home business
game server, and many other things like wiki's.  I much rather write text
files and use it than edit web pages.
So the last and greatest tool is git it is also hard to learn.  It has
windows gui and command line and Linux command lines.  It also is the basis
of repo which is what they use for the android repositories.  You have so
many tools in git because it follows the old Linux one command for one
operation. It allows people to extend it which I am sure the others do but
this is just much cleaner. You don't run into the visual empty directories
like you do in cvs and you can delete stuff like nobody's business and never
know it's still hanging around.  You never really change the base repository
you only have an alias to it well a copy per say the copy is kind of fussy
because you can switch between different branches in seconds and stash temp
branches with ease.  This system is not for the faint of heart but once you
learn to use it you will find yourself doing things that I am sure it was
not originally designed to do.  For example I have a backup git repo that I
can push to my Linux server on my windows box.  I just throw files in it all
day long and at the end of the day I do something like git push $(date -s)
and wam I have a handy quick daily backup.  The neat thing is even if I
delete a file I can dig through my commits and find them.  Sure it takes up
a lot of space on my server but you know what?  I have 2 tera bites of data
think I care?  You can easily change between one named branch or tag if your
thinking svn or cvs you can stash stuff you just wrote to test something and
it will return you to the original branch.  I could go on for hours about
all the little toys you have from being able to revert to 2 commits back but
not without the 14 and 10th  com        mit. It just has really powerful
commands.  It was originally written for the Linux OS because the  others
didn't allow for 10 people to have their own copy of a repo and for each
person to be able to pull changes from each other without messing up the
master branch.  You can push remote branches where others can check it out.
When I am working on Android I can actually switch from googles branch to
Cyanagan, to ours in about 3 seconds and pull files from each and diff our
files with either.  Then trash everything I don't want and get it back
later.  So anyway I whole hardily say learn git there are books out there
and as you get started its easy enough to get a repo started but you won't
find the power for weeks.

Ken     
-----Original Message-----
From: programmingblind-bounce@xxxxxxxxxxxxx
[mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of David Mehler
Sent: Friday, August 05, 2011 10:12 PM
To: programmingblind@xxxxxxxxxxxxx
Subject: Version control

Hello,

I'm using a windows machine and am wanting to start some programming
projects mostly for personal use. I have been reading up on version
control and can see it's use. I am wondering if anyone onlist uses it,
if so what, and how you like it?

Thanks.
Dave.
__________
View the list's information and change your settings at 
//www.freelists.org/list/programmingblind

__________
View the list's information and change your settings at 
//www.freelists.org/list/programmingblind

__________
View the list's information and change your settings at 
//www.freelists.org/list/programmingblind

Other related posts: