I believe it goes all the way back to the very start of SSU, back in 2008 before SSU was SSU and Space Shuttle Deluxe.
Yes. Also that was at a time when Mercurial and git had still been pretty exotic (git and Mercurial started development in 2005, I had not seen a stable windows client of any of them before 2010)
I would prefer git over Mercurial in that question, simply because git support is now standard in Visual Studio and also supported by other Microsoft development tools. For Mercurial, we would need third-party tools like VisualHG. (And I have more practical experiences in using git with the internal Visual Studio client)
By the features, Mercurial and git are both almost identical, there is only the small conceptual difference that Mercurial operates by change sets, while git uses snapshots. Practically, you only notice the difference by the two in extreme conflict situations.
---------- Post added at 06:25 PM ---------- Previous post was at 05:46 PM ----------
Another extreme is of course to fall back to diffing and patching. Don't know why you want that now out of a sudden.
Look, lets make it much easier. You have no problem here at all. We have it. The milk is already poured here and your friendly suggestions from the sideline how much better we would have had it, had we been using your favorite tool, are not really helping us right now. But you sure feel like a hero about your hindsight having 20/20.
Also, what you call extremes are normal situations. It is not like what I describe there does not happen except in Roland Emmerich movies. If you tell me that you never had such problems in development to deal with, maybe you never had the problem that the real world consists of you knowing many better tools, but you having to stick to the good enough for economic reasons. Or you had been extremely lucky. Even having Mercurial did not prevent problems (Some bugs in TortoiseHg even caused their own problems back then)
And trust me: Diff/Patch is not the most low-tech solution to get code changes into the master instance.
Extreme would be using printed sources with text marker highlights of the changed statements and mail.
---------- Post added at 08:47 PM ---------- Previous post was at 06:25 PM ----------
No, I never used anything but SVN. The local repository thing seems interesting as a backup to the server, which is something I wanted to get for sometime now... any idea how big the history of SSU is?
It is more than just a back-up for a central master repository. You can for example also create local branches in git, which allow you to work locally on stuff without somebody else ever seeing it, which makes feature branches less painful than they are in SVN.
Also, since you not only commit or revert changes to your local repository, but also have to push/pull changes from outside (master or any other instance), you have a completely different way to organize your development work.
You can't make people better developers with git (Some still only sync their changes shortly before release and then wonder why they need weeks for fixing the collisions), but if you plan to operate agile and especially if you are interested in continuous delivery, git is a great tool.