October 7th, 2007
Mark Shuttleworth (of Thawte, Ubuntu, and Canonical fames) wrote four posts on rename tracking feature in version control systems, and its impact on merging as a social process.
Read at his blog:
Those posts caught a lot of attention back in June, but frankly it seems to me the issue is somewhat overrated (but nevertheless a recommended reading). Mark’s Canonical Ltd. supports the development of Bazaar. Bazaar has the discussed feature of merging with renames tracking. Git does not have it, but it has another argument in this discussion: huge merging traffic — Linux kernel development is all about merging, and the codebase is huge. So, I guess this feature is not that crucial: Linus is well-known by his uncompromising approach to tools.
Posted in branching and merging, Ideas, SCM features and concepts, Bazaar/bzr | No Comments »
October 6th, 2007
Ian Clatworthy, one of the primary developers of Bazaar, has posted a series of articles on version control in broad modern context.
His primary thesis is:
Beyond market acceptance, there are 6 main criteria I consider when evaluating collaboration tools:
- Reliability
- Adaptability
- Usability
- Extensibility
- Integration
- Administration (including Total Cost of Ownership)
Read the whole series at:
Couple of memorable quotes:
Likewise, in the field of collaboration, I think there are 5 interesting numbers: 1, 2, 10, 100 and 1000. These numbers represent:
- an Individual
- a Partnership
- a Team
- a Company
- a Community
[…]
As a young software engineer back in the early 90s, 10s of thousands of people woke up to cold showers in Sydney one morning because of a corner-case bug in my code controlling the off peak hot water system. That sort of event tends to have a life long impact on how one designs software!
Posted in Interoperability, Ideas, Bazaar/bzr | No Comments »
October 4th, 2007
PJ Hyett has created an impressive plugin for Ruby on Rails, called auto_migrations.
It deduces changes between the db/schema.rb and the current database schema, and executes the appropriate commands to bring the latter in sync with the former. It supports creating tables, adding, changing, and removing fields, adding and removing indexes. It also allows you to create the real migrations based on schema changes.
Read more at author’s blog: Err the Blog: “Automatically”.
Posted in database schema version control, Ruby on Rails | No Comments »
September 14th, 2007
Git 1.5.3 was released by Junio Hamano on Sep 3rd.
Read more at:
git stash is similar to
shelving feature of Microsoft Team Foundation Server.
Posted in GIT, Releases | No Comments »
September 14th, 2007
Garry Dolley posted the module for Capistrano (that’s Ruby on Rails deployment tool) which allows it to use Git as the source control system.
Read more and download at “Capistrano 2.0 with Git shared repository”.
Posted in GIT, Ruby on Rails | No Comments »
September 12th, 2007
Zack Rusin created useful Git cheat sheet.
See “Git cheat sheet” for several sizes.
There is also a similar Mercurial cheat sheet at http://www.ivy.fr/mercurial/ref/v1.0/
Thank you, Robert.
Posted in GIT, Mercurial | No Comments »
August 27th, 2007
Linus Torvalds, in a long excellent e-mail reply to KDE developer Adam Treat, writes about social and technical issues of decentralized version control systems, as applied to huge software projects like Linux and KDE.
Read at LWN.net: “Re: clarification on git, central repositories and commit access lists”.
Posted in GIT, Use cases | 1 Comment »
August 15th, 2007
C. Michael (Mike) Pilato, one of the main developers of Subversion, answers common questions about Subversion file locking feature.
The default version control model employed by Subversion is the copy-modify-merge model, where users asynchronously checkout personal working copies of a versioned directory, modify files inside that directory, and then commit their modifications, only worrying about conflicting changes made to the same file when they actually occur. Locking (sometimes referred to as “reserved checkouts”) allows Subversion users to step outside that default model and into the lock-modify-unlock model, in which multiple users preemptively serialize their commit access to a given file so that conflicts never occur.
Mike discusses pros and cons of file locking in context of Subversion; the exact mechanism for file locking (via svn:needs-lock property); and existing restrictions (only files could be locked, and not directories or branches).
Read at Subversion blog: From the Question Bin: Subversion Locking.
Posted in Subversion | No Comments »
August 15th, 2007
Google Code hosts a library written by Neil Fraser, called google-diff-match-patch.
The Diff Match and Patch libraries offer robust algorithms to perform the operations required for synchronizing plain text.
- Diff: Compare two blocks of plain text and efficiently return a list of differences.
- Match: Given a search string, find its best fuzzy match in a block of plain text. Weighted for both accuracy and location.
- Patch: Apply a list of patches onto plain text. Use best-effort to apply patch even when the underlying text doesn’t match.
Currently available in Java, JavaScript and Python. Regardless of language, each library features the same API and the same functionality.
Google Documents uses this library. Reasonable content management systems should use it, too.
More information and download at Google Code: diff-match-patch.
(via Global Moxie: “And speaking of version control…”)
Posted in version control for ordinary users, visual diff | No Comments »
August 2nd, 2007
Drupal development team has released Drupal 5.2 on July 26, 2007.
It fixes two security vulnerabilities, so it is highly recommended
that you upgrade as soon as possible. Many Drupal installations
often contain extra Drupal modules, and almost always the also
contain local customizations.
Question arises: how to upgrade your Drupal installations
- timely,
- safely,
- with confidence that none of your local customizations are lost;
- without need to remember each line that was edited and re-applying
those edits to new version;
- without need to drastically change your workflow (very little
discipline is needed actually);
We show that Git solves those problems easily.
Read the rest of this entry »
Posted in GIT, branching and merging, Use cases, Drupal | 12 Comments »