All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: Johannes Sixt <j6t@kdbg.org>
To: Junio C Hamano <gitster@pobox.com>
Cc: "L. E. Segovia" <amy@amyspark.me>, git@vger.kernel.org
Subject: Re: [BUG] Clones from local repositories do not work correctly under Windows
Date: Fri, 12 Apr 2024 23:53:51 +0200	[thread overview]
Message-ID: <ee644475-8387-4dbf-a4b9-0d301bd7cf5b@kdbg.org> (raw)
In-Reply-To: <xmqqil0mmqpx.fsf@gitster.g>

Am 12.04.24 um 19:32 schrieb Junio C Hamano:
> Johannes Sixt <j6t@kdbg.org> writes:
> 
>> alternate: C:/Temp/repoorig/.git/objects
>> alternate: /c/Temp/repoorig/.git/objects
>>
>> This is the MSYS2/Cygwin absolute path with a "drive letter".
>> Unfortunately, this kind of path is unintelligible for Git for Windows.
>> It expects absolute paths to begin with drive letter-colon or a
>> double-slash or double-backslash. For this reason, it reports "unable to
>> normalize alternate object path".
>>
>> The conclusion is: Do not use two different flavors of Git on a
>> repository that is set up with a link to an alternate repository.
> 
> I do not complain to the conclusion, and I do not use Windows, but
> it makes me wonder if there is a way to spell that full path that
> can be understood by both implementations.  The two implementations
> are not incompatible in the actual object contents and refnames and
> other things in .git/ directory, are they?
> 
> In short, does MSYS2/Cygwin understand paths in "C:/Temp/..." style,
> and if so, writing that out, even though it may not what it
> considers the native format, would make the world a happier place.

Yes, MSYS2 should understand C:/Temp. This can be achieved easily by
doing the clone with Git for Windows. A small complication is, though,
that the actual contents of the .git/objects/info/alternates is
constructed from the literal command line arguments. In my test I used

   git clone -s C:\Temp\repoorig repoclone

which writes

   C:\Temp\repoorig/.git/objects

to the file. The path we see in the output of count-objects -v is
obviously a normalized version. Users will have to say

   git clone -s C:/Temp/repoorig repoclone

to get the more widely understood version into the file.

-- Hannes


      parent reply	other threads:[~2024-04-12 21:54 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-11 17:03 [BUG] Clones from local repositories do not work correctly under Windows L. E. Segovia
2024-04-12  6:56 ` Johannes Sixt
2024-04-12 13:05   ` L. E. Segovia
2024-04-12 16:16     ` Johannes Sixt
2024-04-12 17:19       ` L. E. Segovia
2024-04-12 17:32       ` Junio C Hamano
2024-04-12 17:41         ` rsbecker
2024-04-12 20:10           ` L. E. Segovia
2024-04-12 21:53         ` Johannes Sixt [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ee644475-8387-4dbf-a4b9-0d301bd7cf5b@kdbg.org \
    --to=j6t@kdbg.org \
    --cc=amy@amyspark.me \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.