Subversion moves to ASF; Predicting bugs; updated SCM-Comparison.

November 6th, 2009

I’ll try to restart the version control blog with a new digest format.

Ben Collins-Sussman announced that Subversion makes transition under the wings of Apache Software Foundation. We also learn that Ben is Mercurial user now, at least for open-source projects :)

Jim Whitehead “Predicting bugs in code changes using SCM information” describes the experiment to try and predict bugs location, using historical information from SCM.

Our own SCM Comparison was updated to the recent master copy from Better SCM Initiative.

Full text of “Pro Git” book by Scott Chacon is available online: progit.org.

Why Git is better than X

February 1st, 2009

Why Git is better than X is a new DVCS comparison site.

An Illustrated Guide to Git on Windows

February 1st, 2009

An Illustrated Guide to Git on Windows.

(via Github blog)

Perl 5 now uses Git for version control

December 24th, 2008

http://use.perl.org/articles/08/12/22/0830205.shtml

More than twenty years of Perl development history has been migrated to Git and is available at http://perl5.git.perl.org/perl.git. Previously it used Perforce, and it was somewhat unfortunate choice for an open-source project.

via http://github.com/blog/276-perl-mirror-on-github

High profile version control screw-up

December 17th, 2008

http://blog.joopp.com/2008/12/15/flickr-version-control/

This borders with unbelievable: how can textual conflict survive to Flickr homepage?

RFC: let’s make textual conflicts more personal

December 17th, 2008

We’ve seen this pattern many times: you introduce version control to the team, and sooner or later someone encounters textual conflict. Less experienced users, such as HTML designers, copywriters, or even developers who are new to version control, tend to experience negative feelings, aimed towards Subversion and to you, by transitivity.

You carefully explain that all this time intelligent merging algorithm worked seamlessly, actually saving their time; that this is actual conflict between their changes and their colleague’s change. You track down that other person, and connect them both to work it out between them. They seem to agree, but I personally don’t have any illusion about what they think: that horrible “Subversion” beast patiently waited in its “repository”, and finally its time has come, and it mutilated their precious files with those horrible “>>>>>>>” symbols, dealing irrevocable damage, destroying hours of work. And it is you who should have abolished the beast weeks ago, yet you seem to somehow collaborate with it. Something is wrong.

I think that the problem lies in anonymity of conflict markers. Subversion shows them like this:


--- .svn/text-base/sandwich.txt.svn-base Tue Dec 11 21:33:57 2007
+++ .svn/tmp/tempfile.32.tmp Tue Dec 11 21:34:33 2007
@@ -1 +1,5 @@
-Just buy a sandwich.
+<<<<<<< .mine
+Go pick up a cheesesteak.
+=======
+Bring me a taco!
+>>>>>>> .r32

Git shows them similarly. I propose that we add the necessary information about who did the change:

--- .svn/text-base/sandwich.txt.svn-base Tue Dec 11 21:33:57 2007
+++ .svn/tmp/tempfile.32.tmp Tue Dec 11 21:34:33 2007
@@ -1 +1,5 @@
-Just buy a sandwich.
+<<<<<<< .mine: DON'T PANIC. http://example.com/resolving.html
+Go pick up a cheesesteak.
+=======
+Bring me a taco!
+>>>>>>> .r32, added by mike at Tue Dec 07 11:00:00 2007

Of course, the information about who and when did the change is readily available from revision identifier, but the explanation could never hurt. It directs attention from the formless “Subversion”, or “Them”, to actual Mike, whom they could talk to. Second, the empty space could be used for some explanation, as set up by repository administrator.

If you like this idea — please, spread a word. Every version control system could be changed this way. And the change is almost purely cosmetic and I believe not very risky (though third-party tools could rely on conflict markers format too much).

What do you think?

GIT 1.6.0 released

August 19th, 2008

Yesterday Git 1.6.0 was released.

Please read full announcement and changelog.

Paul Duvall “Continuous Integration”

February 14th, 2008

Continuous Integration was popularized by Martin Fowler and Kent Beck. It is so tightly integrated with version control system (”Maintain a Single Source Repository”, “Everyone Commits Every Day”, “Don’t Commit Broken Code” are basic practices of CI), that it clearly deserves mentioning here. Martin Fowler wrote an overview article: “Continuous Integration”.

“Continuous Integration: Improving Software Quality and Reducing Risk” is the book by Paul Duvall which was published in Martin Fowler signature series. You may find sample chapters online:

Dave Dribin: “Choosing a Distributed Version Control System”

February 10th, 2008

Dave Dribin wrote a couple of posts on choosing between the usual suspects: Mercurial, Bazaar and Git. Well-written, recommended.

Read at: Choosing a Distributed Version Control System; follow-up: Why I Chose Mercurial.

SCM systems comparison: a better frontend

January 26th, 2008

We’ve reorganized the information from the famous Better SCM: Comparison project, and presented it in a more useful way.

Announcing: Version control systems comparison 2.0.

You may compare any number of systems against each other. See for example:

TODO: add (at least) Git, PlasticSCM and Microsoft TFS information to the original Better SCM database and re-import it here. Stay tuned for updates.