2009-07-06 5 views
0

Ich berichte eine Reihe von Commits von Git zu CVS mit cvsexportcommit. Ich habe festgestellt, dass es unmöglich ist, die VERSION-Datei in dem folgenden KontextKann nicht eine Datei mit dem Namen "VERSION" zu CVS auf der gleichen Ebene eines Verzeichnisses namens "Version" hinzufügen

 
| 
\_version/ 
| | 
| \_version.txt (to be removed) 
| 
\_VERSION (to be added) 

Der Ausgang mich hinzuzufügen, ist die folgende:

 
Applying to CVS commit f6ce403e6e1d57b61661527969ac97c52bcbe41f from parent 076d1fb72d8498670582561b7318939bf209c1f4 
Checking if patch will apply 
cvs status: Examining prometeo/VERSION 
Applying 
fatal: unable to write file prometeo/VERSION mode 100644 
Patch applied successfully. Adding new files and directories to CVS 
cvs [add aborted]: there is a version in prometeo/VERSION already 
Failed to cvs add prometeo/VERSION -- you may need to do it manually at /usr/local/git/libexec/git-core/git-cvsexportcommit line 314. 
cvs remove: scheduling `prometeo/version/version.txt' for removal 
cvs remove: use 'cvs commit' to remove this file permanently 
Commit to CVS 
Patch title (first comment line): Moved tmtc-prometeo version number to prometeo/VERSION 
NOTE: One or more hunks failed to apply cleanly. 
You'll need to apply the patch in .cvsexportcommit.diff manually 
using a patch program. After applying the patch and resolving the 
problems you may commit using: 
    cd "/Users/elia/Code/linux-tmtc/" 
    cvs -d :ext:[email protected]********:/cvshome/ground commit -F .msg 'prometeo/VERSION' 'prometeo/tool/bin/tmtc_info' 'prometeo/version/version.txt' 

Wenn ich versuche, manuell die „VERSION“ Datei hinzufügen zu cvs Ich bekomme:

> cvs add prometeo/VERSION 
cvs [add aborted]: there is a version in prometeo/VERSION already 

Irgendwelche Ideen?

Antwort

3

Auf welcher Plattform läuft Ihr CVS-Server? AFAIK, einige Versionen von CVS (zumindest unter Windows NT) haben an einigen Stellen die Dateinamen-Behandlung von Groß- und Kleinschreibung nicht berücksichtigt und akzeptieren daher nicht zwei Dateien, deren Namen sich nur in Groß- und Kleinschreibung unterscheiden.

Auf jeden Fall würde ich sehr dringend davon abraten, Dateinamen zu verwenden, die sich nur im Fall unterscheiden. Es kann ein Alptraum sein, wenn Sie jemals in ein Dateisystem auschecken möchten, das nicht vollständig auf Groß- und Kleinschreibung nicht reagiert (einige Versionen von MS Windows, einige Versionen von MacOS ...), und es ist auch verwirrend ("Sie müssen die Datei foo bearbeiten in blah, nein nicht das foo, das mit einer Hauptstadt F "...).

So:

  1. Tun Sie es nicht
  2. Wenn Sie das Gefühl haben müssen, Gastgeber auf Linux :-)
0

Haben die Ursache nicht gefunden, aber eine Lösung ist, um zwei verschiedene Commits zu machen: einen für das Löschen des Ordners und einen für die hinzugefügte Datei.

Übrigens beschwert sich cvs darüber, den (alten) Ordner nicht jedes Mal zu finden, wenn ich auschecke oder aktualisiere ...

Verwandte Themen