monotone-devel
[Top][All Lists]
Advanced

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

Re: [Monotone-devel] Re: [HACKERS] SCMS question


From: William Uther
Subject: Re: [Monotone-devel] Re: [HACKERS] SCMS question
Date: Fri, 23 Feb 2007 09:55:37 +1100


On 23/02/2007, at 8:47 AM, Hugo Cornelis wrote:

On 2/22/07, William Uther <address@hidden> wrote:
$Id:$ in the repository.  It is expanded again on checkout.  This not
only helps with checksumming, but also makes sure that there are no
spurious changes between revisions.

Of course, you want to keep this optional and disabled by default.
Subversion uses attributes to turn on specific keywords for specific
files.


What I currently do is I expand / remove keywords manually with a perl
script.  In a separate configuration file, there is a list of files to
search for keywords and a list of keywords with their expansion.

It would be nice if monotone has the right hooks to automate this
process, (just a matter of technical implementation I guess).  When
using scripts and hooks, monotone has nothing to do anymore with
keyword expansion, simplifying the implementation.

I agree with the sentiment behind this idea: make monotone do versioning, and have other programs take care of automatic stuff.

The problem is in detecting if a file has changed. If you're using compressed keywords in the database then manual expansion of those keywords causes monotone to think the file has changed. If you're not using compressed keywords in the database then you can do some keywords (e.g. Date, Last Author, Branch, RepositoryURI), but not others (e.g. Revision, Log), as was pointed out by a previous post.

Given monotone's unwieldy revision ids, Revision is possibly not so useful anyway, and the Log keyword was always a terrible idea :). All you really need to do is redefine Id from <FileName, Revision, Date, Author> to <FileName, Branch, Date, Author> and you'd could get most functionality with manual expansion.

Be well,

Will        :-}





reply via email to

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