site_archiver@lists.apple.com Delivered-To: darwin-dev@lists.apple.com Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:reply-to :to:subject:cc:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references; bh=bYh1nwj9AOR/+TN9O3jMHC3B8ZSh9LKsjhYsjsfJkGw=; b=amH9+01dbhzjCw7Z0V/G6tJXJYMaxsMQ+lKT3d5nKquihLOb1/qTcd3lv3GlI4b1PG FLcHlyDQDmOnniuG8ZmRzsEyTrysGb76fx6b4ZiQeW8oNAuYcTinyELvqkHh6s+ly7Pc U8FmqjI44AOyo2ASg+s5xaEaiWTdLv+hJOE30= Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:reply-to:to:subject:cc:in-reply-to :mime-version:content-type:content-transfer-encoding :content-disposition:references; b=lUQ9w8mvZNauZcyJaCy6FZMIEDXE2OCn7dob4lYfPzuHbfIfkM9qwAkZCk8aYI2i+U wOUOZs38MI1JhxxlLxY0vbzdukD859EEcfnYeh7sD7oBMXwTmjzxDxrNbGDqnnpPjtP2 XDuJrVwfNjp3XmmbTLgCl2jARauOB4qDF0Gm8= On Mon, Oct 6, 2008 at 12:23 PM, Karan, Cem (Civ, ARL/CISD) <CKaran@arl.army.mil> wrote:
I want to write an interface to my version control system (in this case, Subversion, but it could be anything) that lets me 'mount' different working copies (and different revisions of the same one), in the same way that you can mount a disk image. The idea is that the meta information (.svn, .cvs, whatever) can be fully hidden from the mounted drive. Each modification can be an unnamed revision, with some kind of special tool handling naming particular modifications (or, if I can, I can make it like how CDs/DVDs have a burn button in their toolbar, I haven't fully thought out the interface yet). Tools that don't understand what version control is wouldn't break the system, and using it would be more natural.
If you wish to use Apple's VFS KPI, your best bet is following the links in that Q&A to the sample code implementations: http://developer.apple.com/samplecode/EmptyFS/index.html is a very simple VFS plug-in; its volumes are completely empty (except for the root directory). The purpose of this sample is to create the minimal VFS plug-in that builds and runs. You can use EmptyFS to explore VFS behaviour, or as a template for your own VFS plug-in. http://developer.apple.com/samplecode/MFSLives/index.html is a sample VFS plug-in that implements read-only access to the Macintosh File System (MFS) volume format. MFS is an excellent volume format for sample code because it's very simple but it allows you to exercise the code paths associated with Macintosh-specific metadata (specifically, Finder info, multi-fork files, and volfs). You can also look at http://www.opensource.apple.com/darwinsource/ and the webdavfs source. These are all linked to from that Q&A, so I don't really understand what you're asking for beyond the resources that have been presented to you. These are all examples of implementing a VFS plug-in which is compatible with the latest release of Mac OS X. However, doing so is tricky and not for the faint of heart. However, by far and away the easiest approach would be for you to build on MacFUSE: http://code.google.com/p/macfuse/ -- Finlay _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-dev mailing list (Darwin-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-dev/site_archiver%40lists.appl... This email sent to site_archiver@lists.apple.com