WinCvs: (Use -N to override this error)

Viele werden sicher diese Fehler-Meldung aus dem WinCvs kennen:

cvs [... aborted]: Local access to network share not supported (Use -N to override this error).

Doch niergends ist zu finden, wie die -N in WinCvs zu integrieren ist?
Soweit meine Recherschen reichen, wurde dies bewußt seit der Version 1.3.16.1 Beta 16 und höher vermieden,
weil wohl einige ihre CVSROOT's damit zerstört haben.

Eine Alternative stellt TortoiseCVS dar. Es ist mit deutscher Oberfläche und mit der Option
    "[X] Sandboxes und Repositories auf (entfernten) Netzlaufwerken erlauben (NICHT empfohlen)"
wird obiger 'Fehler' bei TortoiseCVS ausgeschlossen.

Lösungsversuche:

Über Admin -> Command Line... läßt sich die Option -N aufrufen, aber man muß immer die komplette Befehlszeile, die WinCvs als gescheitert ansieht, mit eingeben.

Über Admin -> Preferences... -> CVS -> [X] Alternate CVS executale kann auch nicht
    z.B. D:\Programme\WinCvs\cvsnt\cvs.exe -N bzw. "D:\Programme\WinCvs\cvsnt\cvs.exe -N"
eingegeben werden, denn WinCvs läßt keine Leerzeichen nach einer *.exe zu usw.

Über Remote -> Checkout module... -> [X] CVSROOT: und z.B. der Eingabe
    -N :local:S:\share\Ueb-CVS
gelang es auch nicht.

Lösung:

Über Admin -> Preferences... -> CVS ->
[X] Alternate CVS executale = D:\Programme\WinCvs\cvsnt\cvs.bat
[X] Enable CVS console
angeben und die D:\Programme\WinCvs\cvsnt\cvs.bat mit folgendem Inhalt erstellen:

@echo off
set param=

set repository=%6
rem !!Hier Ihre CVSROOT eintragen!!
if %repository% ==":local:S:\share\Ueb-CVS" goto addopN

rem alle Parameter 1:1 uebergeben
:loop
if "%1"=="" goto cvsntcmd
set param=%param% %1
shift /1
goto loop

:addopN

rem "-cvsgui"
if "%1"=="" goto cvsntcmd
set param=%param% %1
shift /1

rem "Zahl"
if "%1"=="" goto cvsntcmd
set param=%param% %1
shift /1

rem "Zahl"
if "%1"=="" goto cvsntcmd
set param=%param% %1
shift /1

rem Hier die Option -N zwischen die Parameter 'schieben':
set param=%param% "-N"

rem Restparameter
:schleife
if "%1"=="" goto cvsntcmd
set param=%param% %1
shift /1
goto schleife

:cvsntcmd
rem goto doit
echo.
echo  !! Wirklich auf CVSROOT %repository% zugreifen ? !!
echo.
echo  Wenn 'Nein' dann Strg und C zusammen druecken.
echo  Wenn 'Ja' dann Leertaste druecken.
echo.
echo cvs.exe %param%
echo.
pause
:doit
cvs.exe %param%

Erläuterungen zur cvs.bat

Wenn Sie es das erste mal starten, wird die Option -N noch nicht integriert sein, aber Sie können sich Ihre CVSROOT notieren und in der cvs.bat eintragen. Auf diese Art können Sie WinCvs beruhigt auch für andere CVSROOT's verwenden.
Sind Sie sicher in der Verwendung der cvs.bat und nervt Sie daß 'Leertaste druecken', dann entfernen Sie das rem (rem und ein Leerzeichen) vor rem goto doit.
 
Die Geschichten mit den "shift /1" und "loop" sowie "schleife" sind nötig, um alle Parameter weiter zu reichen, denn eine Batch läßt ja nur %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 zu, also maximal 10-Parameter-Referenzen.


Der Autor distanziert sich ausdrücklich vom Inhalt aller externen Links und Verweise.
Er übernimmt keine Gewähr oder Haftung für
Vollständigkeit, Richtigkeit, Aktualität oder etwaige Schäden.