All of lore.kernel.org
 help / color / mirror / Atom feed
* Can't handle renamed resources on case insensitive filesystems.
@ 2009-12-14 14:27 Lhunath (Maarten B.)
  2009-12-14 14:50 ` Erik Faye-Lund
  2009-12-14 14:52 ` Tomas Carnecky
  0 siblings, 2 replies; 4+ messages in thread
From: Lhunath (Maarten B.) @ 2009-12-14 14:27 UTC (permalink / raw)
  To: Git Mailing List

GIT has quite a few issues concerning renamed files on case insensitive filesystems, such as Mac OS X's default HFS+.

For instance:

lhunath@Myst t $ git mv Foo foo
fatal: destination exists, source=Foo, destination=foo

Moreover, when a repository contains Foo and foo in one commit and in a subsequent commit, "foo" is removed; "Foo" will also disappear when checking out the latter.

Most of these issues are likely just a result of the underlying file system's handling of GIT's commands; though considering that Mac OS X's default fs is case insensitive by default, and the Mac and Windows userbases combined are quite large; it might be very much appropriate to do a check for this (if needed) and handle renames (and other operations?) in a way that they would not cause conflicts on these file systems (eg. rename to a temporary filename first and then rename to destination).

In particular; these issues make it awfully painful to refactor Java class names from things like JndiUtils -> JNDIUtils.  Not only is it hard to get the commit INTO the repository correctly; it is also hard to check the commit OUT for somebody who has no idea any of this is needed.

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

end of thread, other threads:[~2009-12-14 15:43 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-14 14:27 Can't handle renamed resources on case insensitive filesystems Lhunath (Maarten B.)
2009-12-14 14:50 ` Erik Faye-Lund
2009-12-14 15:42   ` Erik Faye-Lund
2009-12-14 14:52 ` Tomas Carnecky

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.