git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* Git-P4 Bug With Filename Case Change
@ 2013-07-17 22:11 Aaron Dwyer
  2013-07-20 13:34 ` Pete Wyckoff
  0 siblings, 1 reply; 2+ messages in thread
From: Aaron Dwyer @ 2013-07-17 22:11 UTC (permalink / raw)
  To: git@vger.kernel.org

Hello Git Developers,

	We recently have moved our project from Git to Perforce and those of us who prefer Git still are using Git p4 to stay in Git land.  One of the files in our repository was renamed while still in Git, but the rename only consisted of a case change of a character in the name.  Now, on an OS X box with a case insensitive file system (not sure if that matters), one of our guys cloned from perforce with Git p4 and used @all to get all history.  When this operation is finished, the file name is in its original state, not the newer renamed state.  Perforce doesn't respect that file as being in the repository.  We noticed this after making a local Git commit and upon issuing a Git p4 submit, things go haywire with "file(s) not opened on this client" and nothing getting submitted.

Aaron Dwyer
Senior Software Architect
Imagination Technologies

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Git-P4 Bug With Filename Case Change
  2013-07-17 22:11 Git-P4 Bug With Filename Case Change Aaron Dwyer
@ 2013-07-20 13:34 ` Pete Wyckoff
  0 siblings, 0 replies; 2+ messages in thread
From: Pete Wyckoff @ 2013-07-20 13:34 UTC (permalink / raw)
  To: Aaron Dwyer; +Cc: git@vger.kernel.org

Aaron.Dwyer@imgtec.com wrote on Wed, 17 Jul 2013 22:11 +0000:
> 	We recently have moved our project from Git to Perforce and those of us who prefer Git still are using Git p4 to stay in Git land.  One of the files in our repository was renamed while still in Git, but the rename only consisted of a case change of a character in the name.  Now, on an OS X box with a case insensitive file system (not sure if that matters), one of our guys cloned from perforce with Git p4 and used @all to get all history.  When this operation is finished, the file name is in its original state, not the newer renamed state.

So original file "Foo", new file "foo", to make it concrete.

The "git p4 clone" command generates an internal .git/ history of
the entire p4 repository, before checking out any files in the
workspace.  It does this without touching the filesystem, so I
would expect it never to mangle case, even on OSX.

You should be able to verify this with:

    mkdir test1
    cd test1
    git init
    git p4 clone --bare --destination . //depot/proj@all

    git ls-tree HEAD

and see that "foo" is there, not "Foo".

Then check that the rename really did happen:

    git log --stat --summary --follow -- foo

should show a "rename Foo => foo" in there somewhere.

Does this all work?  I'd like to clear up this confusing part
first.

> 	Perforce doesn't respect that file as being in the repository.  We noticed this after making a local Git commit and upon issuing a Git p4 submit, things go haywire with "file(s) not opened on this client" and nothing getting submitted.

Yep, it's all bad from there-on, I'm sure.

I'm a bit out of my depth on case-insensitive file systems.  Do
check if the cloner in question has core.ignorecase config option
set:

    git config --get core.ignorecase


		-- Pete

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-07-20 13:34 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-17 22:11 Git-P4 Bug With Filename Case Change Aaron Dwyer
2013-07-20 13:34 ` Pete Wyckoff

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).