Linking Tortoise SVN revision number to assembly version

后端 未结 4 1659
一整个雨季
一整个雨季 2020-12-30 03:53

I\'m developing a program in C# .net in visual studio and version controlling it with tortoise SVN.

at present I\'m creating the assembly version based on the build

4条回答
  •  轻奢々
    轻奢々 (楼主)
    2020-12-30 04:35

    What I use is calling a cmd file at the post build event:

    @echo off
    
    if %1x==x goto ERROR
    
    SET ProjectDir=%1
    SET SubWCRev="C:\Program Files\TortoiseSVN\bin\SubWCRev.exe"
    if exist %SubWCRev% goto USESUBWCREV
    
    REM Default to copying a default version
    copy %ProjectDir%\Properties\AssemblyInfo.default.cs %ProjectDir%\Properties\AssemblyInfo.cs
    echo default
    goto END
    
    REM We don't want to modify AssemblyInfo.cs every time, only when a revision
    REM changes. Thus, we want to first compare the last compiled revision with
    REM the current revision, and only update if they've changed.
    :USESUBWCREV
    %SubWCRev% %ProjectDir% %ProjectDir%\Properties\rev.subwcrev-template %ProjectDir%\Properties\rev.current.tmp
    if exist %ProjectDir%\Properties\rev.last-build.tmp goto CHECKREV
    goto NEWREV
    
    REM Fetch the current revision and compare to last-build revision
    :CHECKREV
    fc %ProjectDir%\Properties\rev.last-build.tmp %ProjectDir%\Properties\rev.current.tmp > NUL
    REM Only update if it's a new revision
    if errorlevel 1 goto NEWREV
    goto END
    
    REM Current revision doesn't match last-build revision. Update!
    :NEWREV
    echo newRev
    if exist %ProjectDir%\Properties\rev.last-build.tmp del %ProjectDir%\Properties\rev.last-build.tmp
    copy %ProjectDir%\Properties\rev.current.tmp rev.last-build.tmp
    echo use template
    %SubWCRev% %ProjectDir% %ProjectDir%\Properties\AssemblyInfo.subwcrev-template.cs %ProjectDir%\Properties\AssemblyInfo.cs
    echo done
    goto END
    
    :ERROR
    echo Usage: %0 project_dir
    echo.
    echo For example:
    echo    %0 C:\projects\MyProjectDir
    echo.
    goto END
    
    :END
    

提交回复
热议问题