X-Spam-Check-By: sourceware.org To: cygwin AT cygwin DOT com From: =?ISO-8859-15?Q?Sven_K=F6hler?= Subject: cvs is broken/cygwin-bug in mkdir()? Date: Sat, 04 Feb 2006 03:58:32 +0100 Lines: 61 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit User-Agent: Thunderbird 1.5 (Windows/20051201) X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Hi, i'm trying to use cygwin's cvs in server-mode for another application I get the following error, but on a linux-system, everything is fine! E cannot mkdir /tmp/cvs-serv784/. error No such file or directory Please note, that the error is: "no such file or directory" So i tested mkdir on the console: # mkdir /tmp/cvs-serv784/. mkdir: cannot create directory `/tmp/cvs-serv784/.': No such file or directory # file /tmp/cvs-serv784/. /tmp/cvs-serv784/.: directory As you can see, the file-command returns, that the directory /tmp/cvs-serv784/ exists, but mkdir fails with "no such file or directory". Well, you may say: that's OK, but it isn't! The correct error-message should be something like "file or directory already exists" I tested "mkdir /tmp/." on a linux-system, and it returns: # mkdir /tmp/. mkdir: cannot create directory `/tmp/.': File exists Of course, cvs isn't using the mkdir command i guess, but it's using some mkdir()-call and i guess that cygwin returns the wrong return-code and actually cvs would ignore the "file exists" error-code, but it gets the "no such file or directory" error-code. So that results in a broken cvs :-( Is this a bug in cygwin? Greetings Sven How to reproduce: # mkdir /tmp/cvs # cvs -d /tmp/cvs init # cvs server This creates a repository in /tmp/cvs and then starts a cvs in server-mode. Then feed the cvs-command with the following lines: Root /tmp/cvs Global_option -n Argument -d Directory . /tmp/cvs/ Argument . Directory . /tmp/cvs/ update -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/