|
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 :-}
[Prev in Thread] | Current Thread | [Next in Thread] |