Archive for the 'Open Source' Category

Moving (renaming) Files in CVS

Once of the main complaints about the CVS version control system is that it’s difficult to move or rename files as your project structure changes.

While you can easily remove files and re-add them under a new name or location, this method loses the precious nuggets of wisdom contained in the file’s history — you do enter meaningful commit messages, don’t you? ;-)

Although recent CVS versions (CVSNT 2.0.55 and later) include support for a new rename command, the feature is classified as “experimental” and it’s not well-supported by common clients nor well-documented in the manual.

However, it can be done — the key is to understand that rename operations are properties of directories, not of the files inside. So when you move or rename a file, it is essential to commit the folder containing the file — and (if you moved the file) the new folder as well.

Before using the rename command, you may want to back up your local working copy (sandbox) just to be on the safe side if anything goes wrong — and if it does, please don’t blame me!

The steps below outline the basic process.

To move (rename) an existing file in CVS:

  1. If you’ll be moving a file to a new location that is not already under version control, create NewFolderName and add it to CVS with cvs add.

  2. At the command line, navigate to current location of the file you want to move (let’s call this OldFolderName) and enter:

    cvs rename OldFileName ../_NewFolderName_/_NewFileName_

    (the file is moved to NewFolderName and renamed to NewFileName)

  3. This is the important part! — Still in OldFolderName, enter:

    cvs commit

  4. If you moved the file to a different folder, cd to NewFolderName and repeat the commit command:

    cvs commit

    At this point, the repository knows about the changes to OldFolderName and NewFolderName.

    Now, for good measure, we will update our local sandbox to be sure we have a pristine copy of the project. In fact, to really make sure the repository “gets it”, we’ll remove NewFolderName and verify that it returns on update.

  5. So take a deep breath, and delete NewFolderName.

  6. Then, finally, navigate to your project’s root folder and enter:

    cvs update -P -d

    (In this command, the -P option tells CVS to “prune” (remove) any empty folders in your working copy, and -d creates any missing folders like NewFolderName.)

That’s it. You’re done!NewFolderName should reappear, and inside it, NewFileName will be waiting for you with its history intact!

What? It isn’t? — well, you do have that backup, don’t you?

Upgrading WordPress via Subversion

David over at Geeks are Sexy has a nice tutorial on keeping WordPress installations current by using Subversion to check out the latest code directly from the Automattic repository.

David’s instructions are much more detailed than the brief steps provided on the WordPress site, and also describe how to check out stable WordPress versions as opposed to the latest bleeding-edge code from trunk, and how to switch an established blog to Subversion to facilitate future updates.

(Essentially, you check out a working copy to your webserver via SSH and reconfigure the fresh install to use your existing database content—worked here quite nicely.)

DITA-OT 1.4.1 Released

An updated version of the DITA Open Toolkit was released last week with several patches, bugfixes and minor enhancements to provide greater control over the output directory and improve error reporting (see the announcement for the full list).

One very useful patch included in this version finally permits styling of the Table of Contents file in HTML output via CSS.

Aptana Studio 1.0 Released

The open source Web development environment formerly known as the Aptana IDE has been re-christened as “Aptana Studio” and released as Version 1.0.

As of v1.0, the Eclipse-based product has been split into two different “editions”. The Community Edition remains free, and a new Professional Edition has been introduced for commercial use with “priority” support and a few extra features such as FTPS and SFTP.

For details on the new release, see the Aptana blog.

SCPlugin—Subversion Client for Mac

Say “Hello” to SCPlugin — At long last, there’s a Mac equivalent for TortoiseSVN: a free, open-source Subversion client for Mac OS X that integrates with the Finder to display the status of your version-controlled files in the Finder without the need for a separate application.

While dedicated Subversion clients can be useful at times, for most day-to-day work it’s much easier to check in or out via a context menu command without having to fire up a different program (though Versions is definitely one to watch).

Like in TortoiseSVN or Tortoise CVS, icon overlays badges show at a glance the Subversion status of each file in a window.

Aptana Milestone 9 Released

A new version of the Aptana Web IDE is now available with PHP support that includes Code Assist on PHP functions and parameters, improved PHP syntax colorization, and a PHP outliner. The JavaScript outliner and Ajax libraries have also been updated.

Details on changes are available in the Release Notes.

DITA Open Toolkit 1.4

Version 1.4 of the DITA Open Toolkit is now available for download from SourceForge, including processing support for the new elements in DITA 1.1 such as bookmaps, index-see and index-see-also entries.

The announcement contains the full list of improvements and bug fixes.

OASIS Approves DITA 1.1

The DITA Technical Committee at OASIS, the international open standards consortium, has announced the approval of DITA version 1.1 as an OASIS Standard.

Version 1.1 of DITA provides enhanced print publishing capabilities with new DITA Bookmap specialization, including extended book metadata. The standard offers more indexing capabilities with new elements for “see” and “see-also” references. It features new elements for defining structured metadata as well as the ability to add new metadata attributes through specialization.

EasyEclipse 1.3

For those who find Eclipse a bit intimidating to install, configure and maintain (or just appreciate a simpler approach), there’s now an easier way—EasyEclipse bills itself as ” …easy to download and install, and simple to maintain, without version and dependency issues”.

By packaging together Eclipse, the open-source software development platform, and selected open source plugins, EasyEclipse strives to improve the way Eclipse is distributed by doing away with the many of the annoyances associated with setting up the IDE, such as “large downloads with many components or plugins you don’t need, too many similar plugins to choose from, version incompatibility between plugins and the Eclipse platform or other plugins…”

New Aptana Build + iPhone Plugin

A new version of the Aptana IDE is available with a new colorization engine, Eclipse Monkey support and “tons of enhancements”.

One very special treat supported by the new build (#15637) is an iPhone Development Plugin that adds preview support for iPhone applications, so you can see how your app will look on the iPhone.

So while it’s not exactly the SDK so many were expecting June 11, it might prove useful nonetheless—and I promise, that’s all I have to say about the iPhone today—honest! ;-)