How do I disable Starteam keyword expansion at the client level to enable local mirroring in DVCS?
I am trying to mirror my Enterprise Staream CMS with local source control (Mercurial). I am having trouble seeing many changes due to the Starteam keyword expansion on checkout. For example, the server is configured to expand the $ History log into the log of each comment and other metadata. They often cause annoying conflicts when I try to team up.
I can manually "expand" the keywords, but the codebase is extremely large and it will take too long.
a source to share
Another option on the mercurion side would be to use a hook precommit
to automatically divulge keywords in starteam check files.
Something like this in yours ~/.hgrc
might do the trick:
[hooks]
precommit.unexpand_starteam = find . -name '*.cpp' -print0 | xargs -0 perl -pie 's/$History.*?\n\n//m' ; exit 0
This will remove everything from $ History through the first blank line in each file before committing. I haven't used starteam, but there must be some way to identify the end of the history block (empty line was a guess), and with a modified perl line to reflect that you should be good to go.
a source to share
If the keywords look like CVS / RCS keywords ( $Id$
etc.), then an extension bundled with Mercurial may be able to help extend them. Unfortunately, it only supports simple keywords, and it looks like it $History
will expand gradually, like the CVS keyword $Log$
.
But perhaps you can use keyword expansion as a starting point?
a source to share