March 27, 2007

SVK 2.0.1

Hi all,

I am pleased to announce SVK 2.0.1 is now available from CPAN:

file: $CPAN/authors/id/C/CL/CLKAO/SVK-v2.0.1.tar.gz
size: 436832 bytes
md5: 0013446e89497124492342cdcbdd4271

as well as http://download.bestpractical.com/pub/svk/

This is a maintenance release fixing various problems found in the
2.0.0 release.  We recommend anyone who is using 2.0.0 to upgrade.

[Changes for 2.0.1 - 26 Mar, 2007]

Mirror subsystem
   * You can now use $SVKNORAREPLAY forcing svk to use old SVN::Mirror
     for sync.
   * Fix a bug when mirroring partial repository with copies, the from
     revision number might not be exactly the ones we have mirrored.
   * In the pipelined sync editor, use pool more wisely for invoking
     editor calls.  This fixes the memory bloat for syncing revisions
     with large number of deleted files.
   * In pipelined replay, make perl don't segfault on SIGINT.
   * Fix the bug committing to subdirs of mirrors that are on /.
   * Fix a bug preventing mirror --relocate to work on mirrors on '/'.
   * Fix a problem replaying failing with RA_DAV_REQUEST_FAILED in some
     servers.

Merge subsystem
   * Fix a pool usage in Editor::Merge::apply_textdelta, which has a
     side-effect causing rename-tracking smerge on a new file inside a
     renamed directory to fail with SWIG-runtime error.
   * Prevent unwanted repeated merges when repeatedly merging tags to a
     branch.  We now also record the copy source(s) of the path being
     merged from in the merge ticket.
   * Fix a bug in merging moved files that are modified.
   * Fix a bug that smerge to checkout with changes to a copied file is
     causing incomplete svn delta string.
   * When merging the replaced directory, do not ignore the fact when
     the delete part is already conflicting.
   * Fix a bug when merging a copy that happened on an intermediate
     branch, which might not map back to the merge destination.

Tools
   * verify-mirror improvements.
   * Ship vc-svk.el with the distribution.

Others
   * Make updating a checkout that no longer exists in the depot give
     proper message.
   * Make checkout more robust when resuming a interrupted checkout.
   * Check for .svk/floating before assuming floating checkout.
   * Fix a regression which caused binary files to sometimes be
     displayed as text during an "svk diff".

Cheers,
CLK

January 03, 2007

SVK 2.0 is better, faster and just as free

Hi all,

On behalf of  clkao and the SVK team, I'm pleased to announce the first Best Practical release of SVK: version  2.0.0.  This is the first major release after 18 months of development since SVK 1.0 was released in May 2005.  The release is available on CPAN:

file: $CPAN/authors/id/C/CL/CLKAO/SVK-v2.0.0.tar.gz
size: 422489 bytes
md5: 37ff4acde9f9a0f987bde48b32616ab3

You can download SVK 2.0.0 from http://search.cpan.org/dist/SVK/.

We've been using the 2.0 branch in production for several months and recommend upgrading from 1.0,  particularly because 2.0 provides huge  performance improvements as well as significantly improved merge accuracy.

In the coming weeks, look for another big announcement from Best Practical related to svk.

Here are a few of the major new features:

* Interactive commits

You can now use "svk commit --interactive".  svk will walk you through each change in each file, and let you decide exactly which ones you want to commit.

* Floating checkout

You can now use "svk checkout --float" to keep checkout metadata in the top-level directory of your checkout working directory. This lets you move the checkout copy around without having to perform any special incantation ("svk checkout --relocate").

* View support [BETA]

svk's "views" work like views in databases. You can set up a "view" that is a map of several parts of a repository (different paths at different revisions).  You can then check the "view" out and work with it as if it's just an ordinary svk checkout path.

Please note that this feature is not yet recommended for production use, as some commands do not yet work properly in view checkouts.

* Log filter plugins

You can now write custom log processing plugins for filtering and displaying log messages; svk ships with several, and others are available on CPAN.  For example, try "svk log --filter 'author
clkao'" or "svk log --output stat" (the latter requires SVK::Log::Filter::Stats from CPAN).

* Better copy and rename support across merge.

This solves the problem described in: http://svn.haxx.se/dev/archive-2005-08/0712.shtml

* Pipelined sync support

svk takes advantage of new APIs made available in Subversion 1.4 to significantly boost repository synchronization operations. If you have Subversion 1.4 on both the client and the server. you should notice significantly faster syncs.

* pullyu

An utility "pullyu" is included.  It can generate a svn dump from a svk mirror which replicates the exact structure and metadata of the original repository. With pullyu, you can recover a lost svn server from an svk mirror.

* Startup time improvements

* Many, many bugfixes and small features

Continue reading "SVK 2.0 is better, faster and just as free" »

September 25, 2006

SVK 2.0 Technology Preview 1

I'm glad to announce svk 2.0 technology preview 1 (tp1); we are on the
way to our 2.0 release, scheduled to come out before Christmas.

Although this is not a stable release, we have been using this version
for daily development without issues.  So please upgrade if you'd like
to help with testing and to try out the new features below.

This is the first major release after 18 months of development since
svk 1.0 was released in May 2005, and there have been exciting
improvements and features since then.  Here are some highlights:

* Interactive commits

You can now use "svk commit --interactive".  svk will work you
through each chunk of changes in each file, and let you decide
exactly which ones you want to commit.

* Floating checkout

You can now use "svk checkout --float" to have the checkout metadata
stored in the toplevel directory of the checkout copy.  This allows
you to move the checkout copy around without having to use "svk
checkout --relocate".

* View support

svk's "views" are much like views in databases. You can now set up a
"view" that is actually a map to different parts of a
repository. You can then check out the "view" and work with it as if
it's just an ordinary svk checkout path.

Please note that this feature is still of beta-quality; some
commands do not work properly in view checkouts.  We plan to fix
them before the tp2 release.

* Log filter plugins

You can now write custom log processing plugins for filtering and
displaying log messages; svk ships with several, and others are
available on CPAN.  For example, try "svk log --filter 'author
clkao'" or "svk log --output stat" (the latter requires
SVK::Log::Filter::Stats from CPAN).

* Better copy and rename support across merge.

This solves the problem described in:

http://svn.haxx.se/dev/archive-2005-08/0712.shtml

* Startup time improvements

* Many, many bugfixes and tiny features

Cheers,
CLK

(posted by Jesse)

June 05, 2006

Best Practical Solutions Announces SVK Acquisition - Total World Domination Plan Proceeding Apace

Every ticketing system sucks. Here at Best Practical, we're really proud of the fact that RT sucks less than everything else out there and helps many thousands of organizations around the world get their work done with less pain and suffering.

We're a small software development shop. Between the publicly available versions of RT available and our customer projects, we maintain at least half a dozen active lines of development at any one time. When we first started to do this sort of thing, each merge took about six hours to integrate. That was ok when we were merging two branches once a month....and totally failed when we were trying to merge changes across six branches.

In 2003, Chia-liang Kao (clkao) took a year off work to create a version control system that would let him hike and explore hot springs in Taiwan's mountains and still be able to be a productive software developer. He ended up creating SVK, an advanced distributed version control system which runs atop Subversion, the industry standard enterprise version control system. SVK let clkao mirror remote Subversion repositories, create local branches, hack while offline and later resynchronize his changes with the upstream Subversion servers. SVK is the best version control system for getting your work done while you're hiking in the mountains. It just so happens that what makes SVK wonderful when you're soaking in the hot springs makes it an excellent platform for getting your work done halfway around the world, on an airplane, in a cafe or in your office.

SVK's advanced branching and merging revolutionized our development process here at Best Practical. What used to take us days now takes minutes. We can get more work done faster than ever before. We've been rabid supporters of SVK since its birth. When clkao and I started talking about how I bootstrapped RT into a business and how Best Practical might be able to do something similar for SVK, I literally jumped at the opportunity to help. (And by that, I mean that I jumped on a plane to London on a day's notice to talk face to face about SVK's future.)

I'm pleased to announce that as of today, Chia-liang Kao has joined me as a partner at Best Practical Solutions and we're pleased to announce that SVK is now a Best Practical product. We remain 100% committed to keeping both RT and SVK open source and are excited about about all the cool new functionality we'll be able to offer users of both products.

Over the next couple months, we'll be announcing new support, consulting and custom development services related to SVK and software revision control. You'll also see SVK's website, mailing list and repository move to Best Practical, where we can offer a higher level of service for all users.

You can find out more information about SVK at svk.elixus.org.

If you have questions, please feel free to write to us at sales@bestpractical.com. We'd love to hear from you.