|
Until very recently I was working at a site that still used PVCS. Still did it's job mind - albeit with some extra procedures wrapped around its use.
Then I "moved on" to this site to use SourceSafe
|
|
|
|
|
Being a control freak, I love PVCS. You need to work on a file YOU and only YOU can modify it. If you needed a file and someone else had it you knew who to go bug/help/pester to get the file. None of this I can modify while you modify then someone has to figure out how to make it work with both our changes crap.
|
|
|
|
|
Big, old project. Too late to change now!
Ian
|
|
|
|
|
|
I use Mercurial. We have a Kiln server at work and I also use Hg repos for my personal stuff on bitbucket.
|
|
|
|
|
|
I've been a SVN lover for a lot of years but since I moved to a project that uses Git I started to understand what all the fuss is about.
To be disconnected and still have a full powered SCM is a huge plus.
I use local branches a lot and merging is pretty straight forward.
I agree that tends to be a bit more complicated at the beginning, specially for Windows people that are not so used to the command line but with time it really turns out to be easier to manage the basic tasks in the terminal than in the UI tools.
|
|
|
|
|
Well, as long as your company has VPN, being disconnected is not that big of a deal. The positive of Git is also the negative, you're carrying along a huge repository (relatively) all the time. In SVN, you only use the repo when you need it.
|
|
|
|
|
"Well, as long as your company has VPN, being disconnected is not that big of a deal."
"Disconnected" and "VPN" in the same sentence?
"you're carrying along a huge repository (relatively)"
It's really relativelly... as long as you don't have a lot of binary files inside (and a lot of versions of them) the source control overhead should be pretty small. We're only speaking about Deltas so at the end is not a bad compared to what you get in return.
Although my biggest plus to Git is actually the ability to do branches commit, rollback and all that only locally without messing with the remote repository and of course, even if I'm off-line.
|
|
|
|
|
AlexCode wrote: "Disconnected" and "VPN" in the same sentence?
Lately at my job this has been laughable... grrr!
|
|
|
|
|
Could anyone in this situation elaborate about... why?
No criticism... pure curiosity
|
|
|
|
|
Real developers don't use source control and they write in machine code on punch cards.
|
|
|
|
|
|
sounds more like jon skeet style
|
|
|
|
|
NotePad and 1s and 0s, we don't need no stinking compiler.
|
|
|
|
|
I don't, but seeing how many people do has made me think that I probably should.
I'm the only one who does .Net development at my company and so I manage all of my source code on my laptop with daily backups.
In this case, how would you actually implement source control? I want to be able to get to all of my projects without an internet connection when I am out of the office so I would have to install the SVN server on my laptop. Does that not kind of defeat the purpose of it?
|
|
|
|
|
"I'm the only one who does .Net development at my company and so I manage all of my source code on my laptop with daily backups."
Source Control is not (only) about backing up your work.
It's about having an interactive way to see what/who changed what and when.
It's the ability to create separate branches of work without messing each other
It's about having separate branches per environment, or at least a separate branch for production and being able to pick what goes into that branch.
Man... I could go on and on with this...
For the scenario you describe, use Git...
With Git every machine have a full repository.
You can commit (locally), create branches, see history, etc.
Everything works locally and once you have a connection with the remote repository you can push your changes. This is actually the thing that makes Git different from the others.
Merges work pretty well so if you have conflicts with other people changes you can easily fix them.
So hop on to http://git-scm.com/[^]!!
https://github.com/[^] is also a good place to start if you want to create and play with some public repositories. If you want to pay them they can also host your private repos.
Cheers!!!
|
|
|
|
|
So you're saying that creating a copy of a project and appending _old, _old2, _old3 etc to the folder name isn't the correct way to handle different versions?
Thanks, I'll take a look at Git, I had messed around with SVN a while back but had thought the need for a server to to be running a bit of an overkill.
My backups are incremental so I can restore certain files from certain dates but it's obviously not ideal.
|
|
|
|
|
_old1, _old2, etc. is not very useful - or do you keep track of what _oldN really means?
Setting up a local SVN repository is zero effort (a one-liner, beside installing the software). On the local machine, you do not need a server running.
Cheers
Andi
|
|
|
|
|
Thanks, I'll take a look at SVN too.
I'll just need to figure out how to backup these repositories, I'm guessing that there would be a database as well as a filestore to backup?
|
|
|
|
|
Backup the repository directory as a whole (all is contained in that directory). No need to care what exact (directory) structure and format it is.
Cheers
Andi
|
|
|
|
|
Both Git and SVN save their "stuff" in a directory in the filesystem.
the only thing you need is to backup that folder.
It's as easy as it can get
Although if you really want off-line power you should go for Git.
|
|
|
|
|
Once upon a time, when I backed up into zip files, each was given the yyyymmdd as part of the file name.
No ambiguity in that part.
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "As far as we know, our computer has never had an undetected error." - Weisert | "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
Honestly I don't feel safe working without an SCM...
Even for more simple things like for instance you want to test something that will probable screw up a lot of code. With and SCM you can just do whatever and at the end if it didn't turn out to be as expected just rollback everything (or just a subset of it).
Man, it's a time/life saver
|
|
|
|
|