[freetds] $Id and include file
Christos Zoulas
christos at zoulas.com
Tue Oct 19 13:59:39 EDT 2004
On Oct 19, 1:09pm, entropy at freetds.org (entropy at freetds.org) wrote:
-- Subject: Re: [freetds] $Id and include file
| Christos Zoulas wrote:
|
| > For gcc you can:
|
| We support vendor compilers too, so I don't think a gcc-specific
| solution works for FreeTDS.
Well, it is simple enough to:
#ifdef __GNUC__
#define __RCSID(id) \
static const char rcsid[] \
__attribute__((__unused__,__section__(".ident"))) = id
#else
#define __RCSID(id)
static const char *rcsid(const char *x) { \
return x ? id : rcsid(x); \
}
#endif
| > It would be nice to change the rcsid strings in freetds to $FreeTDS$,
| > instead of using $Id$.
|
| I never really understood the benefit of this in the NetBSD tree. Can
| you elaborate on it some more? Why is it a win?
If you want to maintain your own changes in a vendor branch without using
-kb. Let's say I import freetds-x.yy with vendor tag FREETDS and release
tag FREETDSX_YY. If I don't specify -kb, $Id$ gets expanded. This is ok
as long as I don't make any local modifications to the files. For each
file I modify I will get a conflict on the next import, because the $Id$
expanded versions will not match. If I use -kb, then $Id$ does not get
expanded, so I don't get the conflicts. But this is suboptimal, because
I wanted to be able to see the $Id$ strings so I can keep track of
my changes. If a third party ident key is used such as $FreeTDS$, none
of the local cvs servers know about it so they leave it alone and I
can use $Id$ locally as much as I want to.
| Do we all need to hack
| up our CVS tools to support it, or do recent versions of CVS support it
| out-of-the-box?
Well, the only cvs binary that needs to be hacked is the CVS server the
FreeTDS people are using. It is not really a hack; I think that there is
compile time define (LOCALID?). The NetBSD cvs sources have been hacked
to allow a line tag=FooTag in CVSROOT/config for this purpose (so that
you don't need to recompile CVS).
christos
More information about the FreeTDS
mailing list