Author Topic: "revision control system" for the beginner  (Read 11971 times)

0 Members and 1 Guest are viewing this topic.

Offline george gravesTopic starter

  • Super Contributor
  • ***
  • Posts: 1257
  • Country: us
"revision control system" for the beginner
« on: January 07, 2012, 01:19:45 am »
Dave - I know you must have some insight into this...

How about a blog post on "revision control system" for the beginner.  Ya know - just how to keep track of all your revisions, and files, and projects (perhaps something local - rather than a git-hub type of thing)

Offline IanB

  • Super Contributor
  • ***
  • Posts: 11885
  • Country: us
Re: "revision control system" for the beginner
« Reply #1 on: January 07, 2012, 01:51:58 am »
That's software, not hardware  ;)

You could take a look at Subversion though, if you want something simple and easy to set up...
 

Offline amspire

  • Super Contributor
  • ***
  • Posts: 3802
  • Country: au
Re: "revision control system" for the beginner
« Reply #2 on: January 07, 2012, 02:03:58 am »
That's software, not hardware  ;)

You could take a look at Subversion though, if you want something simple and easy to set up...

Second this.

Subversion plus TortioseSVN for windows is a great combination. Nothing on Macs or Linux comes close to TortoiseSVN unfortunately - they try and fail miserably. Since TortoiseSVN includes Subversion, that is all you actually need:

http://tortoisesvn.net/downloads.html

Get the 32 bit version, not the 64 bit version even if you have 64 bit Windows. Tortiose integrates with Windows Explorer and also the best File Manager, Totalcommander (No limitations except buying it removed the startup nag screen).

Everything is done by right clicking in the file manager - you never start a program called "TortioseSVN".

It is remarkably easy once you get the hang of it. At the start, it can sound confusing - typical programmers documentation.

Subversion will handle any type of document fine including PDF's, images, binaryfiles - whatever you throw at it.

If you talk to programmers, they praise git, etc and tend to rubbish Subversion, but for a system to run at home from a single repository (that is dead easy to back up), Subversion is the way to go.

If anyone wants some simple instructions to get started, let me know.

Richard.
 

Offline george gravesTopic starter

  • Super Contributor
  • ***
  • Posts: 1257
  • Country: us
Re: "revision control system" for the beginner
« Reply #3 on: January 07, 2012, 07:19:14 am »
Subversion looks interesting....but I think that might be a bit overkill to start out with.  I was thinking more along the lines of good practices of file naming, and documentation, etc.

Offline amspire

  • Super Contributor
  • ***
  • Posts: 3802
  • Country: au
Re: "revision control system" for the beginner
« Reply #4 on: January 07, 2012, 08:34:43 am »
Subversion looks interesting....but I think that might be a bit overkill to start out with.  I was thinking more along the lines of good practices of file naming, and documentation, etc.

My experience is that using SVN (Subversion) makes it easier to manage, easier to backup, and nothing gets lost. In SVN nothing ever gets deleted in reality. If you delete a file, it disappears, but it is still in the repository.

When you have done some work, you just right click on a parent folder and select commit. Tortoise SVN will find every new file or updated file and commit it. You can add a comment that describes your work.

The repository itself means you don't have to start at the Head.  If you are working on one bit of the work, you check out that bit only.

The big thing is you do not use it the way the manuals seem to be describing.

You make as many repositories as you want - never put too much in one repository. Just think of a repository as a super zip file -  it is a package.  You forget about all the  Trunk/Branch stuff. Just make a new empty repository, grab the start folder of a project, commit it the new repository and that's the hard work done. It is dead easy after that.

Managing repositories is super easy. SVN uses a database engine, but management is much easier then databases.  You want to use an archived repository? Just copy the repository files for the archived project into the current repository location and checkout the files and folder you want.

I have my SVN linked to a WEBDAV webserver which means that every repository and every file in each repository can be access through a browser. I can view or download files.

You can come up with a system to manage files, but all such systems are always more complex then using SVN, as long as you have all the tips for using SVN correctly. With manual systems, you end up making lots of copies, so you don't wipe the old working copies. With SVN, you usually do not have to worry about keeping copies, and the other thing SVN can do is to keep all the correct versions of files together.

TortoiseSVN does transform Subversion into a wonderful program, but ultimately it is a choice. Not for everyone

Richard.
 

Offline wkb

  • Frequent Contributor
  • **
  • Posts: 910
  • Country: nl
Re: "revision control system" for the beginner
« Reply #5 on: January 07, 2012, 09:56:25 am »
Subversion looks interesting....but I think that might be a bit overkill to start out with.  I was thinking more along the lines of good practices of file naming, and documentation, etc.

SVN might look like overkill but it sure does the job.  CVS would also do it for you I imagine.

Both VCS have been / are used by large scale projects, e.g. the FreeBSD Project uses SVN and (increasingly less) CVS.
 

Offline amspire

  • Super Contributor
  • ***
  • Posts: 3802
  • Country: au
Re: "revision control system" for the beginner
« Reply #6 on: January 07, 2012, 10:03:54 am »
CVS does not even come close to the ease of TortoiseSVN. It would be a pretty bad choice.
 

Offline Bored@Work

  • Super Contributor
  • ***
  • Posts: 3932
  • Country: 00
Re: "revision control system" for the beginner
« Reply #7 on: January 07, 2012, 01:14:36 pm »
Dave - I know you must have some insight into this...

How about a blog post on "revision control system" for the beginner.

Dave has publicly stated he doesn't use one. Unprofessional, if you ask me, but that is his decision.

Subversion is easy enough to use, even on the command line, that there isn't really an excuse not to use it. I still do have stuff stored in RCS and CVS, and in commercial  systems like ClearCase (may the developers of this thing rot in hell ...), but for new stuff I turn to subversion by default.

But it is really not so much what system you use, but that you use one, and not just as an alibi - i.e. not just one check-in once a month.

There are crude systems I would recommend against. The just mentioned ClearCase is one, stupid git is another. But even these are better than nothing.
I delete PMs unread. If you have something to say, say it in public.
For all else: Profile->[Modify Profile]Buddies/Ignore List->Edit Ignore List
 

Offline Rufus

  • Super Contributor
  • ***
  • Posts: 2095
Re: "revision control system" for the beginner
« Reply #8 on: January 07, 2012, 01:50:30 pm »
CVS does not even come close to the ease of TortoiseSVN. It would be a pretty bad choice.

Erm TortoiseSVN was inspired by TortoiseCVS.
 

Offline george gravesTopic starter

  • Super Contributor
  • ***
  • Posts: 1257
  • Country: us
Re: "revision control system" for the beginner
« Reply #9 on: January 07, 2012, 02:04:52 pm »
Welll, since I've suggested it twice, how about we rope this thread in to talk about things other then "revision control" pro stuff - and talk more about it on the noob level.  K?  Thanks.

Offline amspire

  • Super Contributor
  • ***
  • Posts: 3802
  • Country: au
Re: "revision control system" for the beginner
« Reply #10 on: January 07, 2012, 02:28:16 pm »
CVS does not even come close to the ease of TortoiseSVN. It would be a pretty bad choice.

Erm TortoiseSVN was inspired by TortoiseCVS.
I had forgotten about that, but I still think using CVS instead of SVN is nuts.
CVS will be more work, and will not be as convenient.

There are crude systems I would recommend against. The just mentioned ClearCase is one, stupid git is another. But even these are better than nothing.
"Stupid Git" - is that its full name? Linus Torvalds will love you.  :)  Stupid Git is a purpose-built design tool - for collaborative software programming projects for people running Linux or other Unix spinoffs. The Linux Kernel programming in particular. If you are not a pure programmer doing collaborative projects, forget it.

SVN can be used from the command line, but I do not recommend it.  TortoiseSVN just does so many things brilliantly that SVN does crudely. It can check for all changes in a folder tree, and find what has to be added, what has to be deleted and what has to be committed. SVN command line, or most of the other SVN tools availabe do not do all this automatically. Even better, if the the TortoiseSVN operation fails, it can usually fully back out to where you were at the start. On commits, it shows you every operation it will do and you can manually unselect any of them. Nothing has actually happened until you click OK. From the command line, you usually have to do SVN ADD and SVN Delete commands before the commit, and if there is a problem, it is a pain undoing the Add and Delete commands. There is just no combination of SVN command line commands that can do what TortoiseSVN does with a few clicks of the mouse.
 

Offline amspire

  • Super Contributor
  • ***
  • Posts: 3802
  • Country: au
Re: "revision control system" for the beginner
« Reply #11 on: January 07, 2012, 02:32:44 pm »
Welll, since I've suggested it twice, how about we rope this thread in to talk about things other then "revision control" pro stuff - and talk more about it on the noob level.  K?  Thanks.
So instead of the fairly simple to use SVN, you want to talk about the more complex solution of trying to manage files manually?
 

Offline george gravesTopic starter

  • Super Contributor
  • ***
  • Posts: 1257
  • Country: us
Re: "revision control system" for the beginner
« Reply #12 on: January 07, 2012, 02:46:53 pm »
So instead of the fairly simple to use SVN, you want to talk about the more complex solution of trying to manage files manually?

Exactly!  Files are so hard to manage.   8)  LOL - What you talking 'bout willis?

If you would like to start your own thread - go ahead.
« Last Edit: January 07, 2012, 03:12:26 pm by george graves »
 

Offline Bored@Work

  • Super Contributor
  • ***
  • Posts: 3932
  • Country: 00
Re: "revision control system" for the beginner
« Reply #13 on: January 07, 2012, 03:18:18 pm »
If you want predictable answers, and push people around so they do what you want just hire someone. What you get here is for free and voluntarily. If you don't like it go elsewhere.
I delete PMs unread. If you have something to say, say it in public.
For all else: Profile->[Modify Profile]Buddies/Ignore List->Edit Ignore List
 

Offline wkb

  • Frequent Contributor
  • **
  • Posts: 910
  • Country: nl
Re: "revision control system" for the beginner
« Reply #14 on: January 07, 2012, 03:20:35 pm »
CVS does not even come close to the ease of TortoiseSVN. It would be a pretty bad choice.

CVS is not more difficult to use than SVN.  Well, maybe on Windblowz it is..
 

Offline amspire

  • Super Contributor
  • ***
  • Posts: 3802
  • Country: au
Re: "revision control system" for the beginner
« Reply #15 on: January 07, 2012, 03:31:20 pm »
So instead of the fairly simple to use SVN, you want to talk about the more complex solution of trying to manage files manually?

Exactly!  Files are so hard to manage.   8)  LOL - What you talking 'bout willis?

If you would like to start your own thread - go ahead.

Why would I want to start a new thread? You asked a question and we have answered. Do actually think that manually managing project files safely is easy? If you know something, let us in on the secret.

 

Offline ndictu

  • Regular Contributor
  • *
  • Posts: 211
  • Country: sk
Re: "revision control system" for the beginner
« Reply #16 on: January 07, 2012, 03:32:48 pm »
CVS/SVN is pretty much dead in the software world. Just use something modern like git or mercurial. You can get free hosting on github/bitbucket, which will serve as a backup and if you make it public also allow people to contribute.

On windows the tools are better for mercurial, use TortoiseHG, it's pretty much the same as the other tortoise tools.



You guys seem to dislike git/mercurial because it's not "local". That is not true. You can use both without any kind of remote repository. You don't need to even run a local server. All you need is to create a local repository with TortoiseHG and use it.

But why wouldn't you push the changes to a free remote repository? It's a backup plus a collaboration tool. But you don't have to...
« Last Edit: January 07, 2012, 03:35:37 pm by ndictu »
 

Offline IanB

  • Super Contributor
  • ***
  • Posts: 11885
  • Country: us
Re: "revision control system" for the beginner
« Reply #17 on: January 07, 2012, 05:28:09 pm »
CVS/SVN is pretty much dead in the software world. Just use something modern like git or mercurial. You can get free hosting on github/bitbucket, which will serve as a backup and if you make it public also allow people to contribute.

On windows the tools are better for mercurial, use TortoiseHG, it's pretty much the same as the other tortoise tools.

Well the difference between using some kind of revision control system and no system at all is like night and day. When you are using a system to manage your personal work with unsophisticated requirements, it doesn't matter so much whether you jump on the latest bandwagon or not. Differences that matter to large teams and big projects matter less to the individual who just wants something simple and easy to use.

I have to say that in the professional world git or mercurial are not predominant any more than SVN. Open source tools get used by people with smaller budgets, but they rarely win out over commercial offerings when the commercial offerings are considered by organizations with budgets to afford them.

To get back to what George was saying, any attempt to manage revisions and versions of evolving files manually is a nightmare compared to using even one the oldest and most basic tools like CVS. SVN is a good choice for someone starting out. With nothing at all you just don't know what you are missing.
 

Offline DavidJRobertson

  • Regular Contributor
  • *
  • Posts: 51
  • Country: scotland
    • davidr.me
Re: "revision control system" for the beginner
« Reply #18 on: January 07, 2012, 05:43:28 pm »
I really must recommend using a distributed version control system. This means that there doesn't need to be a central server, and makes collaboration easier.

I like to use Mercurial, although Git is a very popular choice. I think Mercurial is a bit easier to use than Git.

And never underestimate how useful sites like github.com, and bitbucket.org are.
 

Offline ndictu

  • Regular Contributor
  • *
  • Posts: 211
  • Country: sk
Re: "revision control system" for the beginner
« Reply #19 on: January 07, 2012, 06:20:15 pm »
Well the difference between using some kind of revision control system and no system at all is like night and day. When you are using a system to manage your personal work with unsophisticated requirements, it doesn't matter so much whether you jump on the latest bandwagon or not.
I agree with that, in the sense that if you already are using something and don't need more, there is no need to change systems. But if you aren't using anything and want to start, it would make sense to start with the modern technology instead of the outdated one.

I have to say that in the professional world git or mercurial are not predominant any more than SVN.
Not sure if you mean HW or SW world, but in software development pretty much everyone switched to DVCS long time ago. But then again, there are companies that use the copy-and-zip method, or no revision control at all.

So, if you are using CVS/SVN, and are happy with it there is no need to switch.

If you want to start using something, you might as well start with git/mercurial. In any case, try out few alternatives and find what fits your needs the best.
 

Offline wkb

  • Frequent Contributor
  • **
  • Posts: 910
  • Country: nl
Re: "revision control system" for the beginner
« Reply #20 on: January 07, 2012, 06:37:31 pm »
CVS/SVN is pretty much dead in the software world. Just use something modern like git or mercurial. You can get free hosting on github/bitbucket, which will serve as a backup and if you make it public also allow people to contribute.


SVN has largely replaced CVS, ok.  SVN dead?  Bollocks..
 

alm

  • Guest
Re: "revision control system" for the beginner
« Reply #21 on: January 07, 2012, 06:38:49 pm »
There's a free book (you can order the dead tree version for free) available on this topic. It's focused on command line use and is written by a software developer, but revision control is revision control, regardless of what you store in it. Here's the link: Version Control by Example.

I don't think Dave is the right person to talk about revision control, I'd rather have him talk about stuff he knows.
 

Offline IanB

  • Super Contributor
  • ***
  • Posts: 11885
  • Country: us
Re: "revision control system" for the beginner
« Reply #22 on: January 07, 2012, 07:21:09 pm »
in software development pretty much everyone switched to DVCS long time ago

I said "open source, like Git and Mercurial", you said DVCS. That's not the same thing. There are more choices out there for source control than Git and Mercurial, even if they get talked about a lot within a certain community.

What I really said was that big, commercial organizations are likely to choose commercial systems like ClearCase or TFS. In large parts of the professional software world Git and Mercurial are mere curiosities, sideshow attractions to be looked at in passing but not seriously considered.
 

Offline ndictu

  • Regular Contributor
  • *
  • Posts: 211
  • Country: sk
Re: "revision control system" for the beginner
« Reply #23 on: January 07, 2012, 08:31:15 pm »
What I really said was that big, commercial organizations are likely to choose commercial systems like ClearCase or TFS. In large parts of the professional software world Git and Mercurial are mere curiosities, sideshow attractions to be looked at in passing but not seriously considered.

Yeah, OK... There are big businesses that use all kinds of commercial stuff. The reasons are probably great (paid) support 24/7, integration with their internal systems, or even management people who don't understand it making the decision ("That one is free, this one costs money - clearly it must be better!").

In any case ... for personal use, small teams and large opensource projects (and even large corporate use, in case you can get everyone to switch), there is nothing wrong with the OSS tools.

As I said:
So, if you are using CVS/SVN, and are happy with it there is no need to switch.

If you want to start using something, you might as well start with git/mercurial. In any case, try out few alternatives and find what fits your needs the best.

Also, this seems to be turning into a little flamewar. So I'll just link my favorite tutorials and let it be.

http://tortoisehg.bitbucket.org/manual/1.1/quick.html
http://hginit.com/
 

Offline IanB

  • Super Contributor
  • ***
  • Posts: 11885
  • Country: us
Re: "revision control system" for the beginner
« Reply #24 on: January 07, 2012, 09:08:13 pm »
there is nothing wrong with the OSS tools

I didn't say there was. It's a big world out there with many different situations, many needs, many options. Any given choice may not be right for everyone. The only mistake you can make is to over generalize.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf