[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
 
[an error occurred while processing this directive] [an error occurred while processing this directive]
Skåne Sjælland Linux User Group - http://www.sslug.dk Home   Subscribe   Mail Archive   Forum   Calendar   Search
MhonArc Date: [Date Prev] [Date Index] [Date Next]   Thread: [Date Prev] [Thread Index] [Date Next]   MhonArc
 

Re: [PROGRAMMERING] [SVN] projekt id , [WAS:] svn status spidsfindighed



On Sat, Aug 12, 2006 at 09:38:12PM +0200, Kristian Nørgaard wrote:
> Jeg kunne tænke mig at inkorporere en form for SVN id i min C-kode.
> Med andre ord: når jeg beder mit program om versionsnr, så vil jeg gerne
> se noget, der entydigt afslører, hvilket snapshot af SVN som min kode er
> bygget af.

Det giver ikke så meget mening at snakke om et snapshot, som du selv
giver udtryk for i det følgende er en mixed version working copy ikke
umiddelbart identificerbar. Det eneste, der umiddelbart giver mening i
mine ører er at bygge koden som den ser ud i et bestemt versionsnummer.

> Foreløbigt er mit bedste bud følgende:
> 
> ( antag jeg står i roden af mit projekt, og at alle ændringer er
> commit'tede )
> 
> 1) Brug et script til at udtrække det maksimale revisions nr ( MAXREV )
> fra 'svn status -qv'
> 2) Hvis outputtet af 'svn diff -r MAXREV' er tomt, da vil det give
> mening at navngivne min projekt-version noget a la PROJEKT-MAXREV
> 
> Er outputtet fra svn diff ikke tomt må dele af projektet være i en ældre
> version, som er forskellig fra revision MAXREV. I det tilfælde giver det
> ikke mening at navngive projektversionen med MAXREV.

Det kan gøres meget enklere med svnversion.

> Ideen kræver derudover at jeg også kan identificere om projektet er
> bygget fra en bestemt branch.

Hvad med bare at lave en makefil, der kan update til en given revision
og bygge din kode?

        svn update -r HEAD (alternativt -r 42)
        make

Du kan evt. udvide det med et check på, at den aktuelle working copy er
fuldstændig synkroniseret med repositoriet. Hvis du gerne vil have
versionsnummeret ind i din kode vil jeg foreslå, at din makefil læser
det fra subversion med 'svnlook youngest /path/to/repos' eller den
angivne version i de tilfælde, du ikke bygger fra HEAD. Make kan dernæst
lade C's preprocessor erstatte et tag et sted i koden med
versionsnummeret.

Hvorvidt koden er bygget fra en branch eller fra trunk kan du kun finde
ud af, ved at kigge på stien til det aktuelle bibliotek eftersom
Subversion ikke selv har et branch begreb.

> Alternativet til ovenstående er såvidt jeg kan se, altid at identificere
>  et build ved et TAG, men til de mange hyppige test-builds forekommer
> det mig som overkill. Med mindre - kunne man forestille sig en løsning
> hvor build af et projekt auto-genererer et SVN tag ?

Et tag i Subversion er jo bare en konvention og giver dig for så vidt
ikke mere end hvis du bygger en veldefineret version af trunk.

-- 
Med venlig hilsen
- Jacob Atzen


 
Home   Subscribe   Mail Archive   Index   Calendar   Search

 
 
Questions about the web-pages to <www_admin>. Last modified 2006-09-01, 02:01 CEST [an error occurred while processing this directive]
This page is maintained by [an error occurred while processing this directive]MHonArc [an error occurred while processing this directive] # [an error occurred while processing this directive] *