[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Monotone-devel] Attributes and wierd files

From: Nathaniel Smith
Subject: Re: [Monotone-devel] Attributes and wierd files
Date: Wed, 16 Mar 2005 01:01:04 -0800
User-agent: Mutt/1.5.6+20040907i

On Thu, Mar 10, 2005 at 03:21:15PM +0100, Adrian May wrote:
> To my mind, whether a file is readable/executable/etc or whether it 
> happens to be a link, device, pipe or whatever is just as much part of 
> it's nature as it's contents. I'm trying to keep an entire mini-distro 
> in a VCS and let the box download system updates as patches, whether 
> they affect its perl scripts, kernal modules, devices, ssl keys or 
> anything else. I need the permissions and ownerships to work reliably 
> and natively, rather than with some afterthought solution.
> How close to this ideal can I get with monotone? I dont want the 
> reliability to depend on me and my colleagues always remembering to 
> press the right button at the right time.

Monotone is not currently the answer to your prayers.  We focus on
clean design and source code control; so we basically consider files
with bytes in them to be the important thing.  Fifos, sockets,
permissions, etc. are nice and all, but just not that important to our
main use case, and would be a real rathole to go down into wrt the
design...  Note also that some of your goals, like versioning owner,
group, and r/w permissions (and Posix ACLs and whatever else, I
suppose), are directly _antithetical_ to versioning software; what
most people want is the exact opposite of what you want... so you may
have some trouble finding a tool that does what you want :-).

That said, the .mt-attrs mechanism provides a hook for most of these
things, and I would definitely be interested in supporting such
oddities as fifos and device files, since there's some demand for them
and they don't hurt the rest of the design any.  Things like exact
permissions and ownership could be supported similarly, and you could
use a custom .mt-attrs hook to make sure that no-one has to press any
buttons to get things to work.  I would definitely consider, just as a
matter of engineering and robustness, whether you wanted to use
something like the .mt-attrs approach anyway -- have a file specifying
all the interesting permissions/owners/etc. for you mini-distro, then
have scripts to update this file from the filesystem and vice-versa,
and version this file.  This general approach would work with any

-- Nathaniel

.i dei jitfa fanmo xatra

reply via email to

[Prev in Thread] Current Thread [Next in Thread]