The most notable change for CVS users is Subversion's repository handling of atomic commits. In CVS, every file was individually versioned according to its changes; in Subversion the entire repository is versioned. While conceptually different, the advantage to this change quickly becomes apparent: the entire repository can be returned to a known state. As an added bonus, the addition of special keywords allows one to view changes between file versions quickly without knowing the revision number.
Subversion adds two commands not present in CVS: "move" and "copy". With these, revision histories for files and directories are preserved between location changes. This feature is a boon for most CVS users, who commonly complain about the inability to rename files and directories easily.
In Subversion, branches and tags are nothing more than copies of a directory, making them easier to work with than their CVS counterparts. After becoming accustomed to the concept, one quickly realizes that branches in a Subversion repository are parallel to one another, whereas in CVS the branches feel orthogonal. The branching operation is considerably faster by design, and Subversion's "merge" command is more intuitive than CVS's "update -j".
Additionally, Subversion caches more meta information in the local working copy, eliminating the need for client-server communications for commands like "status", "diff", and the new "revert". Commits are processed by only sending the differences and not the entire file like in CVS, making the commit process considerably faster. Even binary files stored in the repository are handled using a binary diff, making storage more efficient.
Finally, Subversion adds new features that aren't readily available with CVS. Properties, such as MIME types or the execute permission bit can be attached to files. "Hook" scripts can be triggered to run based on certain events, such as a "commit". From the server side, repository control is more fine tuned, and many nice maintenance features have been added, without compromising ease of use.
One of the biggest concerns that many have when considering Subversion is the requirement for Apache2. It is worth noting, however, that Subversion has no requirement for Apache2. It can use the WebDAV protocol through Apache2 for repository access, but also works fine through a standalone server daemon.
These fundamental changes offer newer, and arguably better ways of working with the repository than with CVS. With so many great changes, the authors of Subversion truly have created a viable drop-in replacement for CVS. As more projects start to embrace Subversion for what new features it offers, it is sure to become the new standard for open source project revision control systems.
Audio Projectsis available. The change information says: "it fixes SIGSEGV problem for dmix plugin (when a specific GCC version is used)". The JACK plumbing daemon has a new rule to dramatically reduce ordinary rule set sizes, a new system wide configuration file, and a new version number to indicate progress." latest changes from the Planet CCRMA audio utility packaging project include new versions of Open Music for Linux, CMUCL Common Lisp, CLM, and CMN. Also: "added a new section documenting how to configure multiple soundcards, and also another one on extra stuff for configuring USB soundcards."
Database SoftwareAfter several fixes were backpatches to the 7_4_STABLE branch, we have now released a 7.4.2. As the list of Changes since 7.4.2 is quite small, they are included in this email".
Networking Toolshas been released. "It is the, hopefully, final pre-release before the real 5.1.1 on Friday. Please let us know on the -coders list if you see any show-stopping bugs. net-snmp provides tools and libraries relating to the Simple Network Management Protocol".
PrintingDriver Development Kit. "The CUPS Driver Development Kit (DDK) provides a suite of standard drivers, a PPD file compiler, and other utilities that can be used to develop printer drivers for CUPS and other printing environments. CUPS provides a portable printing layer for UNIX®-based operating systems. The CUPS DDK provides the means for mass-producing PPD files and drivers/filters for CUPS-based printer drivers."
Web Site DevelopmentTiki, a CMS/groupware suite, are out. Version 1.7.6 of the stable series and version 1.8.1 are available. The SourceForge announcement says: "Release 1.7.6 marks the end of the Tiki 1.7 family. 1.8 now officially replaces the 1.7 family."
MiscellaneousThis version handles the new concurrent groups mechanism Linus introduced in 2.6.4. It still works with earlier 2.6 kernels. There are no functional changes. Unless you are running 2.6.4, there is no reason to upgrade."
Audio Applicationshas been released. "There's a number of cool things in this release, many of them brought to you by Christophe Fergeau, so you should thank him a lot :) Most notable of those is the iPod support, which is still experimental."
Desktop EnvironmentsGNOME summary is online. "Featuring news about F-Spot, the coming deep freeze and more!" has been released. "The second BETA release of the GNOME 2.6 Desktop & Developer Platform! That's right - it's almost here, and it's your chance to have a sneak preview, and hopefully beat out some of the last remaining bugs before our final release." XFce lightweight desktop environment is available. "This is a maintenance release." See the change log for details.
Electronicsis available. Change information is in the source code.
Financial Applicationsan announcement for version 0.10 of Kurush. "Kurush aims to be an easy to use personal finance tool for GNOME Desktop and it is built around Mono and GTK# with the help of the Montant IDE."
GamesPydance is available. "Pydance is a dancing game based on ideas from dancing games in the arcade. Dance with your body (or your fingers) and try to keep the beat. The better you do, the higher you score." has been announced. "This release includes the usual load of bugfixes and major feature enhancements. Among other changes, there are two new graphics scalers (HQ2X/ HQ3X), an improved launcher/options dialog, and support for a number of new games." write about Java game performance issues on IBM's developerWorks. "Marcos Fonseca, the main man behind the MegaJogos multi-player game site and a member of the Java Games community, recently altered the application behind the site to use the NIO package to enhance its scalability. Though successful, the migration was not without its challenges. In this installment of Eye on performance, Kirk Pepperdine and Jack Shirazi follow Marcos's journey as he discovers some of the finer points of NIO performance"
Imaging Applicationsdoes graphics work from the command line on IBM's develoerWorks. "There's nothing quite like command-line tools for handling large batches of tasks, and image manipulations are no exception. Web developers and administrators will appreciate the ability to handle large numbers of files easily, either at the command line or in scripts. Programmer Michael Still presents more examples of the ImageMagick suite, this time demonstrating how to put curved corners, logos, or frames and borders on your images, as well as how to convert to and from multipage file formats including Adobe's PDF format."
Interoperabilityhas been announced. "Samba 3.0.2a is a minor patch release for the 3.0.2 code base to address, in particular, a problem when using pdbedit to sanitize (--force-initialized-passwords) Samba's tdbsam backend. This is the latest stable release of Samba." has been announced. Changes include an improved winegcc tool, drive configuration simplification, multimedia dll improvements, bug fixes, and more.
Medical Applicationshas been announced. "As FreeMED is in feature freeze for the upcoming release, this release features critical bugfixes in the billing and reporting systems, as well as some critical UI fixes. It has working FreeB support, as well as fixing problems in the claims manager." covers recent changes in the OpenEMR project. "For those of you that are unfamiliar with OpenEMR, it is an open source practice management and electronic medical record application. We are creating OpenEMR to compete with and be a replacement for Health Pro, MegaWest and Medical Manager. We are now in the process of finalizing billing using FreeB and anticipate having those features implemented and tested by the end of April 2004."
Music Applicationsan object orientated music studio with an emphasis on live use", has been released. Changes include: "loads of fixes and features, most notably a new GUI design and improvements in LADSPA and ALSA support."
Office Applicationshas been announced. "This update includes bug fixes as a result of community and customer feedback received since version 1.4.5." has been released. "This is a medium priority release. It works around a few cosmetic issues. Additionally we finally tracked down which theme (6nome) was crashing, and fixed that. Unfortunately that patch promptly broke Industrial/Gorilla forcing 1.2.7 to become 1.2.8. There was some work to tune the charting engine and support bubble plots, along with some improvement in xls import for embedded text boxes (XL95 and XP)."
Video Applicationshas been announced. "Version 1.0 of the GnomeMeeting software package is a H.323 videoconferencing application for Linux PCs that allows users to make audio and video calls over the Internet, as long as recipients are equipped with H.323-compatible equipment. (H.323 (define) is a set of communications protocols used to transmit and receive audio and video information over the Internet.)"
MiscellaneousPyro AI and Robotics System is available. See the whats new document for change information.
Languages and Tools
Javawrites about GUI design under Java with his BlackMamba project. "In this article we'll discuss how to develop a desktop application using many of the architectural principles in the proverbial Book of OOAD. BlackMamba, shown in Figure 1, will be our case study. We will also list some of the common pitfalls that one encounters when developing such an application in Java Swing and learn how to overcome them." has been released. "Ten months of development have culminated in a very robust, extensible product that has been tested, and is already being used, by thousands of developers. HTML Parser is a library, written in Java, which allows you to parse HTML (HTML 4.0 supported)."
Perlexplains Perl's IO::All on O'Reilly. "Being quite satisfied with my new idiom, I sat down for a few more weeks, and wrote a few hundred lines of code, and hid it in a module called IO::All and uploaded it to CPAN. Now I can do my 5-line slurp in 1 line. Phew!" This Week on perl5-porters is online. "This week was the can-of-Unicode-worms-festival week for the Perl 5 porters. Regular expressions were another recurrent topic." This week on Perl 6 is available. "Time marches on, and another summary gets written, sure as eggs are eggs and chromatic is a chap with whom I will never start a sentence. We start, as always, with perl6-internals."
PythonBilly the Kid is available with bug fixes. "Billy the Kid is a Python Extension Module providing you with all kinds of more or less usefull stuff at the raw packet level. It allows you to create raw UDP/TCP/ICMP packets and it also includes a nice interface to libpcap. It gives you the ability to do all those nasty things you've always dreamed about. But this time you can do it from within Python! No more hasseling with C, messy pointers and other stuff. Billy the Kid takes care of that from you." the announcement for version 2.2.0 of PyGTK, the Python bindings to GTK+.
Rubymentions the release of version 0.1 of ORE, the Ruby Editor for GNOME. presents a positive view of Ruby. "Ruby doesnt make new things possible, but many things desirable. It also affords continous simplification and occasional breakthroughs at an for me unprecedented level. Theres an immense sense of satisfaction in making less code do more on a regular sometimes even daily basis."
XMLlooks at XBRL on O'Reilly. "The eXtensible Business Reporting Language (XBRL) is a language for capturing financial information throughout a business' information processes that will eventually be reported to shareholders, banks, regulators, and other parties. The goal of XBRL is to make the analysis and exchange of corporate information more reliable and easier to facilitate." covers XML namespace processing on O'Reilly. "I have covered a lot of tools for processing XML in Python. In general I have deferred discussion of each tool's handling of XML namespaces in order to stick to the basics in the individual treatments. In this article I start to examine the support for XML namespaces in these packages, with a look at SAX and DOM from the standard Python library. "
Page editor: Forrest Cook
Next page: Linux in the news>>
Copyright © 2004, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds