keeping track of local modifications

Giorgos Keramidas keramida at
Tue Dec 2 03:52:59 PST 2008

On Mon, 01 Dec 2008 21:08:25 -0800, perryh at wrote:
>>> Git and Mercurial cannot import Subversion $FreeBSD$ lines so far,
>>> and you may end up submitting patches that include unexpanded forms
>>> of the "$FreeBSD: xxxx $" text.  These will fail to apply if they
>>> same patch touches nearby lines.
>> Ahm, yes.  "sed -e's|$FreeBSD: [^$]* \$|$FreeBSD$|g'" should help
>> in this case.
> Not sure I understand what is meant by "unexpanded" here, since it
> looks as if this sed example would convert an "expanded" form --
> containing the version info -- to an "unexpanded" one that merely
> shows where that info should go.
> Perhaps it's my ClearCase background showing through, but I'd think it
> highly desirable for a patch to include what I think of as the
> expanded tag line -- including the version info, as it appears in the
> distributed files under /usr/src -- thereby explicitly showing the
> version on which the patch is based (the "base contributor" in
> ClearCase-speak).  This should greatly simplify merging in the
> (likely) event that other development has occurred on the same file in
> the meantime -- provided one is using a 3-way merge tool that
> understands such things.

You are right, of course.

The fact that `$FreeBSD$' is extracted in unexpanded form by the current
svn->hg converter is a limitation of the Python bindings of Subversion.
They do not support expansion of the svn:keywords property of checked
out files.

More information about the freebsd-hackers mailing list