Show pageOld revisionsBacklinksBack to top You've loaded an old revision of the document! If you save it, you will create a new version with this data. Media Files ==== version control systems ==== overviews * "Cutting Edge Revision Control" circa 2007 > http://bryan-murdock.blogspot.com/2007/03/cutting-edge-revision-control.html * a comparison of avialable free SCM (sorce code management) systems http://better-scm.berlios.de/ * .. and a guide http://zooko.com/revision_control_quick_ref.html distributed version copntrol systems -> [[DVCS]] === darcs === distributed, patchset based system, easy to setup + configure, not too many weird filenames (was arch deliberately written to stresstest filesystem syntax?) not dependent on massive centralisaed server setup (apache/dav/neon/db/etc+). win32/unix compliable (if theres a haskell compiler around). cvs conversion scripts. how well does it handle binaries? see: [[Using Darcs]] === CVS === standard, widely used, but some serious scalabity + flexibilty problems. has client software for unx-likes, win32 + macOS8/9/X http://www.cvshome.org Note that the Mac clients mentioned here are all screwy. Go To http://sourceforge.net/projects/maccvspro to get an up to date and (hopefully) usable version. Instructions for setting up are in the TechSpec (section 12, page 34 of the current version dec 2002). Note especially the requirement for CarbonLib. (And MacOS 8.6 or higher). The URL in the TechSpec is almost correct - the current version is 1.6, so use http://download.info.apple.com/Apple_Support_Area/Apple_Software_Updates/English-North_American/Macintosh/System/Other_System/CarbonLib_1.6.smi.bin multiplatform effort to build a gui for [[CVS]] -> http://cvsgui.sourceforge.net/ see: [[Using CVS]] === subversion === attempts to deal with some of the shortcomming of cvs. http://subversion.tigris.org/ * All current CVS features * Directories, renames, and file meta-data are versioned. * Symbolic links, etc, are supported * Commits are truly atomic. * Internationalization * Progressive multi-lingual support * Branching and tagging are cheap (constant time) operations * Repeated merges are handled gracefully * Support for plug-in client side diff programs * Natively client/server * Client/server protocol sends diffs in both directions * Costs are proportional to change size, not project size reading ) * "the book" http://svnbook.red-bean.com/) === arch === "arch is a revision control system with features that are ideal for free software and open source projects characterized by widely distributed development, concurrent support of multiple releases, and substantial amounts of development on branches. It is intended to replace CVS and corrects many mis-features of that system." http://www.regexps.com/#arch Some quick highlights of the feature list are: * distributed databases -- each hacker or group can host their own branches. There's a global (world wide) name-space for lines of development and revisions. Branches can be formed from any repository to any other and merge operations can span repository boundaries without needing to actually duplicate the full contents of a repository at each site. * fancy merging -- `arch' has support for various styles of history-sensitive branch merging. The way branches and patch-sets interact with distributed repositories makes it practical to distribute the responsibilities for patch-review and merging. * renames handled -- of course file and directory renames are handled accurately. So are symbolic links and file permissions. * unobtrusive operation -- `arch' is designed to stay out your way while making changes and rearranging files. It is designed to have a clean and self-documenting command-line interface having the finest characteristics of good Unix tools. * web interface -- `arch' includes web tools for browsing past revisions. * revision library -- `arch' includes tools for building a space efficient library of all past revisions, represented as ordinary file system trees. * very fast-- when configured correctly, `arch' is quite fast. see: ARCH for more info === aegis === "Aegis is a transaction-based software configuration management system. It provides a framework within which a team of developers may work on many changes to a program independently, and Aegis coordinates integrating these changes back into the master source of the program, with as little disruption as possible." http://aegis.sourceforge.net/ === mercurial / Hg === another [[DVCS]] === git === another [[DVCS]] ==== comments ==== despite its problems, cvs is in widespead production use, with clients on all major platforms. subversion + arch, currently only run on posix based systems (inlcuding gnus, bsds + osX). darcs looks interesting (runs on posix and win32) look further into the possibility of integrating darcs into the [[OsX]] filesystem workflow using a combination of folder actions and or applescript/platypus/cocoadialog.. . http://keithp.com/blog/Repository_Formats_Matter.html Please fill all the letters into the box to prove you're human. Please keep this field empty: SavePreviewCancel Edit summary Note: By editing this page you agree to license your content under the following license: CC Attribution-Share Alike 4.0 International version_control.1184233530.txt.gz Last modified: 2007-07-12 09:45by nik