[sword-devel] Expanded keywords committed in the tree
dmitrij.ledkov at ubuntu.com
Tue Apr 27 19:50:50 MST 2010
Forget the patch. I found the problem.
in the trunk checkout do:
$ svn proplist -R -v | grep keywords -C 1
Properties on 'examples/classes/ciphercng.cpp':
author date id
Notice that generally you have only "author date id" enabled.
$ svn proplist -R -v | grep keywords -C 1 | grep -i " rev" -C 2
Properties on 'utilities/osis2mod.cpp':
Author Date Id Rev
That's the whole output. The Rev keyword is enabled only for osis2mod.cpp
But the actual Rev property is set on a few files:
$ grep --exclude-dir=.svn \$Rev -r .
./utilities/mod2imp.cpp: fprintf(stderr, "\n=== mod2imp (Revision
$Rev: 2234 $) SWORD module exporter.\n");
./utilities/osis2mod.cpp: static const char* revision = "<milestone
type=\"x-importer\" subType=\"x-osis2mod\" n=\"$Rev: 2502 $\"/>";
./utilities/osis2mod.cpp: fprintf(stderr, "You are running osis2mod:
$Rev: 2502 $\n");
./utilities/tei2mod.cpp: fprintf(stderr, "You are running %s: $Rev:
2138 $\n", argv);
./utilities/imp2vs.cpp: fprintf(stderr, "\n=== imp2vs (Revision $Rev:
2234 $) SWORD Bible/Commentary importer.\n");
./utilities/imp2vs.cpp: "$$$Rev.0.0 for intro of the Book of
Revelation of John. $$$[ Module Heading ]\n"
./configure.ac:AC_REVISION($Revision: 1.45 $)
./bindings/swig/package/configure.ac:AC_REVISION($Revision: 1.2 $)
Note that only osis2mod.cpp is correct substituion. The rest are bogus.
$ grep \$Rev configure.ac
AC_REVISION($Revision: 1.45 $)
dmitrij at surgut:~/src/sword/svn$ svn info configure.ac | grep Revision
I believe that we got to this state due to ability to do propset in
the working copy, or globally on the server:
> propset (pset, ps): Set the value of a property on files, dirs, or revisions.
> usage: 1. propset PROPNAME PROPVAL PATH...
> 2. propset PROPNAME --revprop -r REV PROPVAL [TARGET]
> 1. Changes a versioned file or directory property in a working copy.
> 2. Changes an unversioned property on a repository revision.
> (TARGET only determines which repository to access.)
So after doing this in my working copy: $ svn propset svn:keywords
"Author Date Id Rev Url" -R .
All keywords are correctly collapsed and would be committed as $Id$ ,
$Rev$ etc instead of bogus old expanded values.
But to fix this on the server and for everyone who checkouts please do:
propset svn:keywords --revprop -r ??? "Author Date Id Rev Url"
Now if you do this for the repository root everything should be
tip-top ;-) I'm not an expert in svn so i don't know whether you have
to specify revision "-r NNN". I guess you should apply this property
from "-r 1" for the whole repository but then it will mean that you
are rewriting history cause libsword releases out there are reporting
"You are running release $Rev: bogus$".
More information about the sword-devel