monotone-devel
[Top][All Lists]
Advanced

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

[Monotone-devel] Re: conversion of a prcs repository & diff with keyword


From: Bruce Stephens
Subject: [Monotone-devel] Re: conversion of a prcs repository & diff with keywords
Date: Fri, 02 Jun 2006 20:34:04 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

Chad Walstrom <address@hidden> writes:

[...]

> Although I've had no experience with prcs, it appears to have a
> backend store of RCS.  This is good news!  There appear to be a number
> of "conversion" tools from RCS-to-something and even one for prcs2svn
> (subversion). If you go from prcs->subversion, you can go from
> subversion->monotone with Tailor. 

Tailor only does a single line of development (it doesn't try to
convert branching or merging, or tagging, for that matter).  Looking
at prcs2svn's manpage (I'm assuming this is up to date),
<http://www.penguin-soft.com/penguin/man/1/prcs2svn.html>, that
doesn't look very exciting.

As far as I understand it, prcs uses RCS only as a backend for storing
revisions of files; for understanding what really happened in terms of
the whole tree, you need to look at the project file.

I guess you could change monotone's CVS importer to handle it.  That's
probably more work than would be justified for an evaluation, though.

More generally, recording metadata in monotone's fairly
straightforward: you can attach certs to revisions and attributes to
files.  (Much like subversion's property lists: certs are like
revprops, and attributes are like file properties.)

And recording branching, so long as it's branching of the whole tree,
ought to be easy.  Recording merging is trickier; there's currently no
way to say exactly what ought to provide the content of a merge.

>> Second, from looking at the docs, I get the impression that monotone
>> does not support keywords like $Id$, $ProjectVersion$ and alike.
>> How do you deal with that when using monotone ?
>
> Personally, I've given up on these types of keyword expansions.  If I
> needed some sort of identifier in a C app, I would probably create a
> header file via a custom Makefile target, adding the appropriate
> (const char *) variables.
>
> With autoconf/automake, the @PACKAGE_VERSION@ string can be used for
> substitution.  If you use autoheader to create config.h and include
> that into your source, you get #define PACKAGE_VERSION for free.

Yeah.  monotone, like many of the modern systems, doesn't do that kind
of keyword expansion.  So you need to find some other way of doing
whatever you want to do, presumably by changing the build process of
your project.




reply via email to

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