git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Luke Diamand <luke@diamand.org>
To: Lars Schneider <larsxschneider@gmail.com>
Cc: "Torsten Bögershausen" <tboegi@web.de>,
	"Git Users" <git@vger.kernel.org>, "Pete Wyckoff" <pw@padd.com>,
	"Tor Arvid Lund" <torarvid@gmail.com>,
	ksaitoh560@gmail.com, "Junio C Hamano" <gitster@pobox.com>
Subject: Re: [PATCH v5] git-p4: Obey core.ignorecase when using P4 client specs.
Date: Tue, 25 Aug 2015 12:57:37 +0100	[thread overview]
Message-ID: <CAE5ih7-o6eVF-z2GORxHa_TdDaXgexLpW3jctESTnL46Mfdo8w@mail.gmail.com> (raw)
In-Reply-To: <23CB37E8-9704-4A9D-8CAB-2812AD59394D@gmail.com>

 On 25/08/15 11:30, larsxschneider@gmail.com wrote:

> Unfortunately the command line option is not sufficient as the resulting paths are still messed up. I added the switch but it looks like as core.ignorecase does some additional magic on fast-import. You can see my changes here:
> https://github.com/larsxschneider/git/commit/b4399179ff542161c2c5b83c34c5b4901287ceb0
>
> You can also run the unit tests to see the results here:
> https://github.com/larsxschneider/git/tree/lars/fix-path-v5-with-command-switch
>
> The only way I could image to fix that is to request every path from P4 as shown in my PATCH v4. This would be slow and the change would be rather huge.

Yes, you're right - fast-import has special handling based on core.ignorecase.

There was a thread a while back saying that it shouldn't do this, and
instead should have a new --casefold option, which would make more
sense, but isn't the case at present.

http://www.spinics.net/lists/git/msg243264.html

> I am curious:
> I run all my P4 -> git migrations on a Linux box with EXT4 and core.ignorecase=True. I did not realize that this might cause trouble. What could happen and what should I look out for?

An obvious way it could go wrong would be if you had a a repo that
_did_ care about case (e.g. had Makefile and makefile in the same
directory) and you then tried to git-p4 clone a separate repo into a
different branch. In an ideal world, you would only use the
case-folding on the git-p4 based repo. I think while fast-import just
checks core.ignorecase, that's not possible.

So the choices are:

1. A new command-line option which would silently set core.ignorecase
2. Users just have to know to set core.ignorecase manually before
using git-p4 (i.e. Lars' patch v5)
3. Fix fast-import to take a --casefold option (but that's a much bigger change)

Luke

  reply	other threads:[~2015-08-25 11:57 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-24 21:30 [PATCH v5] git-p4: Obey core.ignorecase when using P4 client specs larsxschneider
2015-08-24 21:30 ` larsxschneider
2015-08-25  6:54 ` Luke Diamand
2015-08-25  8:17   ` Lars Schneider
2015-08-25  8:33   ` Torsten Bögershausen
2015-08-25 10:30     ` Lars Schneider
2015-08-25 11:57       ` Luke Diamand [this message]
2015-08-25 13:14         ` Lars Schneider
2015-08-25 18:24           ` Luke Diamand
2015-08-26 10:18             ` Luke Diamand

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=CAE5ih7-o6eVF-z2GORxHa_TdDaXgexLpW3jctESTnL46Mfdo8w@mail.gmail.com \
    --to=luke@diamand.org \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=ksaitoh560@gmail.com \
    --cc=larsxschneider@gmail.com \
    --cc=pw@padd.com \
    --cc=tboegi@web.de \
    --cc=torarvid@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).