delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2007/12/27/17:02:41

X-Recipient: archive-cygwin AT delorie DOT com
X-Spam-Check-By: sourceware.org
X-Yahoo-Newman-Property: ymail-3
X-Yahoo-Newman-Id: 538624 DOT 71624 DOT bm AT omp504 DOT mail DOT sp1 DOT yahoo DOT com
X-YMail-OSG: TnPSu7MVM1m3Vp_zMoFMuqTtv4TaGG2rgX5eA_iWUBBxhRo.s.Y98HzwzmLGa_T_B8PR_OUA.et8XIXAsGus0zopAx_4UDJz8QZI
Date: Thu, 27 Dec 2007 14:02:07 -0800 (PST)
From: Ajax S <ajaxsupremo AT yahoo DOT com>
Subject: Trouble with cygwin git
To: cygwin AT cygwin DOT com
MIME-Version: 1.0
Message-ID: <376007.24556.qm@web45909.mail.sp1.yahoo.com>
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

I'm having the problem cloning a git repository using
Cygwin git 1.5.3.5:

$ git clone git://git.kernel.org/pub/scm/git/git.git
Initialized empty Git repository in /git/git/.git/
remote: Generating pack...
remote: Counting objects: 4991
Done counting 67423 objects.
remote: Deltifying 67423 objects...
remote:  100% (67423/67423) done
Indexing 67423 objects...
remote: Total 67423 (delta 47516), reused 66055 (delta
46502)
 100% (67423/67423) done
Resolving 47516 deltas...
 100% (47516/47516) done
fatal: failed to unpack tree object HEAD

Cygwin information:
$ cygcheck -s
[...]
C:\cygwin               /          system  binmode
c:\DOCUME~1\xxxxxx\cvs  /cvs       system  binmode
c:\DOCUME~1\xxxxxx\git  /git       system  binmode
C:\cygwin/bin           /usr/bin   system  binmode
C:\cygwin/lib           /usr/lib   system  binmode
..                       /cygdrive  system 
binmode,cygdrive
[...]
    Cygwin DLL version info:
        DLL version: 1.5.25
        DLL epoch: 19
        DLL bad signal mask: 19005
        DLL old termios: 5
        DLL malloc env: 28
        API major: 0
        API minor: 156
        Shared data: 4
        DLL identifier: cygwin1
        Mount registry: 2
        Cygnus registry name: Cygnus Solutions
        Cygwin registry name: Cygwin
        Program options name: Program Options
        Cygwin mount registry name: mounts v2
        Cygdrive flags: cygdrive flags
        Cygdrive prefix: cygdrive prefix
        Cygdrive default prefix:
        Build date: Fri Dec 14 19:21:07 CET 2007
        CVS tag: cr-0x5f1
        Shared id: cygwin1S4
[...]

Note above that all mounts are binary.

In git, what is failing is the following fragment on
sha1_file.c, link_temp_to_file(), around line 1968:

	if (!link(tmpfile, filename))
		return 0;

tmpfile: "/git/git/.git/objects/tmp_pack_H4xHmD"
filename:
"/git/git/.git/objects/pack/pack-139482038782b17f70018a3222052c02c7254a01.pack"

errno upon return: EEXIST

I don't think this part of sha1_file.c has changed in
some time.  Has Cygwin link() changed recently?

FWIW, if I rewrite the above fragment as:

	if (!rename(tmpfile, filename))
		return 0;

I don't see the failure anymore.



      ____________________________________________________________________________________
Be a better friend, newshound, and 
know-it-all with Yahoo! Mobile.  Try it now.  http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ 



--
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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019