* after first git clone of linux kernel repository there are changed files in working dir
[not found] <d304880b0812101019ufe85095h46ff0fe00d32bbd0@mail.gmail.com>
@ 2008-12-10 18:22 ` rdkrsr
2008-12-10 20:20 ` Brett Simmers
2009-01-19 13:36 ` Hannu Koivisto
0 siblings, 2 replies; 16+ messages in thread
From: rdkrsr @ 2008-12-10 18:22 UTC (permalink / raw)
To: git
I just fetched the sources without changing anything, but git diff
shows, that there are changes that are not yet updated (changed but not
updated: use git add to ...). Why is it like that?
I use msysgit on windows, maybe that is one reason?
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: after first git clone of linux kernel repository there are changed files in working dir
2008-12-10 18:22 ` after first git clone of linux kernel repository there are changed files in working dir rdkrsr
@ 2008-12-10 20:20 ` Brett Simmers
[not found] ` <d304880b0812110142g41b80745ic09a7200e02dcdb0@mail.gmail.com>
2009-01-19 13:36 ` Hannu Koivisto
1 sibling, 1 reply; 16+ messages in thread
From: Brett Simmers @ 2008-12-10 20:20 UTC (permalink / raw)
To: rdkrsr; +Cc: git
On Wed, Dec 10, 2008 at 1:22 PM, rdkrsr <rdkrsr@googlemail.com> wrote:
> I just fetched the sources without changing anything, but git diff
> shows, that there are changes that are not yet updated (changed but not
> updated: use git add to ...). Why is it like that?
>
> I use msysgit on windows, maybe that is one reason?
What are the filenames? I've seen git on Windows get confused if a
repository has two files that are the same except for the case of some
of the letters (since both can't exist by default on NTFS).
-Brett
^ permalink raw reply [flat|nested] 16+ messages in thread
* Fwd: after first git clone of linux kernel repository there are changed files in working dir
[not found] ` <d304880b0812110142g41b80745ic09a7200e02dcdb0@mail.gmail.com>
@ 2008-12-11 17:15 ` rdkrsr
2008-12-11 17:41 ` Linus Torvalds
0 siblings, 1 reply; 16+ messages in thread
From: rdkrsr @ 2008-12-11 17:15 UTC (permalink / raw)
To: git
I'm sorry that I didn't answer to git mailing list address. So here
comes the email again.
Here is what I did:
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/li
t linux-2.6
Initialize linux-2.6/.git
Initialized empty Git repository in c:/Dokumente und Einstellungen/Ge
Eigene Dateien/vbox/linux-2.6/.git/
remote: Counting objects: 980697, done.←[K
remote: Compressing objects: 100% (161545/161545), done.←[K
remote: Total 980697 (delta 818552), reused 978923 (delta 816954)←[K
Receiving objects: 100% (980697/980697), 236.14 MiB | 90 KiB/s, done.
Resolving deltas: 100% (818552/818552), done.
Checking out files: 100% (25254/25254), done.
$ cd linux-2.6
$ git status
# On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
#
# modified: Documentation/IO-mapping.txt
# modified: include/linux/netfilter/xt_CONNMARK.h
# modified: include/linux/netfilter/xt_DSCP.h
# modified: include/linux/netfilter/xt_MARK.h
# modified: include/linux/netfilter/xt_RATEEST.h
# modified: include/linux/netfilter/xt_TCPMSS.h
# modified: include/linux/netfilter_ipv4/ipt_CONNMARK.h
# modified: include/linux/netfilter_ipv4/ipt_DSCP.h
# modified: include/linux/netfilter_ipv4/ipt_ECN.h
# modified: include/linux/netfilter_ipv4/ipt_MARK.h
# modified: include/linux/netfilter_ipv4/ipt_TCPMSS.h
# modified: include/linux/netfilter_ipv4/ipt_TOS.h
# modified: include/linux/netfilter_ipv4/ipt_TTL.h
# modified: include/linux/netfilter_ipv6/ip6t_HL.h
# modified: include/linux/netfilter_ipv6/ip6t_MARK.h
# modified: net/ipv4/netfilter/ipt_ECN.c
# modified: net/ipv4/netfilter/ipt_TTL.c
# modified: net/ipv6/netfilter/ip6t_HL.c
# modified: net/netfilter/xt_CONNMARK.c
# modified: net/netfilter/xt_DSCP.c
# modified: net/netfilter/xt_MARK.c
# modified: net/netfilter/xt_RATEEST.c
# modified: net/netfilter/xt_TCPMSS.c
#
no changes added to commit (use "git add" and/or "git commit -a")
2008/12/10 Brett Simmers <swtaarrs@gmail.com>:
> On Wed, Dec 10, 2008 at 1:22 PM, rdkrsr <rdkrsr@googlemail.com> wrote:
>> I just fetched the sources without changing anything, but git diff
>> shows, that there are changes that are not yet updated (changed but not
>> updated: use git add to ...). Why is it like that?
>>
>> I use msysgit on windows, maybe that is one reason?
>
> What are the filenames? I've seen git on Windows get confused if a
> repository has two files that are the same except for the case of some
> of the letters (since both can't exist by default on NTFS).
>
> -Brett
>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Fwd: after first git clone of linux kernel repository there are changed files in working dir
2008-12-11 17:15 ` Fwd: " rdkrsr
@ 2008-12-11 17:41 ` Linus Torvalds
2008-12-11 17:58 ` rdkrsr
0 siblings, 1 reply; 16+ messages in thread
From: Linus Torvalds @ 2008-12-11 17:41 UTC (permalink / raw)
To: rdkrsr; +Cc: git
On Thu, 11 Dec 2008, rdkrsr wrote:
>
> I'm sorry that I didn't answer to git mailing list address. So here
> comes the email again.
You have a broken filesystem.
> $ git status
> # On branch master
> # Changed but not updated:
> # (use "git add <file>..." to update what will be committed)
> #
> # modified: Documentation/IO-mapping.txt
> # modified: include/linux/netfilter/xt_CONNMARK.h
> # modified: include/linux/netfilter/xt_DSCP.h
> # modified: include/linux/netfilter/xt_MARK.h
> # modified: include/linux/netfilter/xt_RATEEST.h
...
This is _exactly_ what happens if you try to develop the Linux kernel on a
case-insensitive filesystem. The kernel source tree has several files that
differ only in case, eg
Documentation/IO-mapping.txt
Documentation/io-mapping.txt
include/linux/netfilter/xt_tcpmss.h
include/linux/netfilter/xt_TCPMSS.h
..
and if you try to check it out on a broken filesystem, then the second
file will overwrite the first one, and git will think that you have
modified it.
OS X? Afaik, you can fix it by using NFS or UFS. And I think ZFS has a
case-sensitive mode too (and it may even be the default). In fact, I think
newer versions of OS X even allow that piece-of-sh*t HFS+ to be case
sensitive (and thus make it much less sh*tty).
Of course, there are reports of some Mac software breaking when they use a
real filesystem, but hey, what else is new?
Linus
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Fwd: after first git clone of linux kernel repository there are changed files in working dir
2008-12-11 17:41 ` Linus Torvalds
@ 2008-12-11 17:58 ` rdkrsr
2008-12-11 20:23 ` Boyd Stephen Smith Jr.
` (2 more replies)
0 siblings, 3 replies; 16+ messages in thread
From: rdkrsr @ 2008-12-11 17:58 UTC (permalink / raw)
To: Linus Torvalds; +Cc: git
Thank you, Linus and Brett, for your answers.
I'm not developing linux kernel, I just wanted to experiment with git.
And then I didn't know if this is a normal behaviour of git. I'm using
windows xp and msysgit for this. And the file system is NTFS. I'm
using dual boot to sporadicly use linux and tried also linux in
virtual box. But both isn't really good. Maybe one day I dare to use
linux as my primary OS.
Red
2008/12/11 Linus Torvalds <torvalds@linux-foundation.org>:
>
>
> On Thu, 11 Dec 2008, rdkrsr wrote:
>>
>> I'm sorry that I didn't answer to git mailing list address. So here
>> comes the email again.
>
> You have a broken filesystem.
>
>> $ git status
>> # On branch master
>> # Changed but not updated:
>> # (use "git add <file>..." to update what will be committed)
>> #
>> # modified: Documentation/IO-mapping.txt
>> # modified: include/linux/netfilter/xt_CONNMARK.h
>> # modified: include/linux/netfilter/xt_DSCP.h
>> # modified: include/linux/netfilter/xt_MARK.h
>> # modified: include/linux/netfilter/xt_RATEEST.h
> ...
>
> This is _exactly_ what happens if you try to develop the Linux kernel on a
> case-insensitive filesystem. The kernel source tree has several files that
> differ only in case, eg
>
> Documentation/IO-mapping.txt
> Documentation/io-mapping.txt
> include/linux/netfilter/xt_tcpmss.h
> include/linux/netfilter/xt_TCPMSS.h
> ..
>
> and if you try to check it out on a broken filesystem, then the second
> file will overwrite the first one, and git will think that you have
> modified it.
>
> OS X? Afaik, you can fix it by using NFS or UFS. And I think ZFS has a
> case-sensitive mode too (and it may even be the default). In fact, I think
> newer versions of OS X even allow that piece-of-sh*t HFS+ to be case
> sensitive (and thus make it much less sh*tty).
>
> Of course, there are reports of some Mac software breaking when they use a
> real filesystem, but hey, what else is new?
>
> Linus
>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Fwd: after first git clone of linux kernel repository there are changed files in working dir
2008-12-11 17:58 ` rdkrsr
@ 2008-12-11 20:23 ` Boyd Stephen Smith Jr.
2008-12-11 20:35 ` Giuseppe Bilotta
2008-12-12 13:51 ` Nick Andrew
2 siblings, 0 replies; 16+ messages in thread
From: Boyd Stephen Smith Jr. @ 2008-12-11 20:23 UTC (permalink / raw)
To: git; +Cc: rdkrsr, Linus Torvalds
[-- Attachment #1: Type: text/plain, Size: 792 bytes --]
On Thursday 2008 December 11 11:58:01 rdkrsr wrote:
>I'm not developing linux kernel, I just wanted to experiment with git.
>And then I didn't know if this is a normal behaviour of git. I'm using
>windows xp and msysgit for this. And the file system is NTFS.
You might want to choose a more MS Windows-friendly codebase to test with.
For codebases without filenames that differ only in case, git should work
fine on MS Windows. For codebases with filenames that differ only in case, I
don't know a VCS that will handle them well on MS Windows.
--
Boyd Stephen Smith Jr. ,= ,-_-. =.
bss03@volumehost.net ((_/)o o(\_))
ICQ: 514984 YM/AIM: DaTwinkDaddy `-'(. .)`-'
http://iguanasuicide.org/ \_/
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Fwd: after first git clone of linux kernel repository there are changed files in working dir
2008-12-11 17:58 ` rdkrsr
2008-12-11 20:23 ` Boyd Stephen Smith Jr.
@ 2008-12-11 20:35 ` Giuseppe Bilotta
2008-12-12 13:51 ` Nick Andrew
2 siblings, 0 replies; 16+ messages in thread
From: Giuseppe Bilotta @ 2008-12-11 20:35 UTC (permalink / raw)
To: git
On Thursday 11 December 2008 18:58, rdkrsr wrote:
> Thank you, Linus and Brett, for your answers.
>
> I'm not developing linux kernel, I just wanted to experiment with git.
> And then I didn't know if this is a normal behaviour of git. I'm using
> windows xp and msysgit for this. And the file system is NTFS. I'm
> using dual boot to sporadicly use linux and tried also linux in
> virtual box. But both isn't really good. Maybe one day I dare to use
> linux as my primary OS.
>
> Red
>
> 2008/12/11 Linus Torvalds <torvalds@linux-foundation.org>:
>>
>>
>> On Thu, 11 Dec 2008, rdkrsr wrote:
>>>
>>> I'm sorry that I didn't answer to git mailing list address. So here
>>> comes the email again.
>>
>> You have a broken filesystem.
Actually, the funny (in a grotesque kind of way) thing about NTFS
is that it's a case-*sensitive* filesystem (in the sense that i
can legally hold files with names that differ only for the case),
but the Windows subsystems use it in case-preserving (but
insensitive) mode. It is possible to use NTFS case insensitively
under Windows, but it requires something such as the Interix
subsystem, and in Windows XP (and possibly later versions) it also
needs toggling a security policy that defaults to enforcing case
insensitivity for all subsystems.
Maybe the Windows ports to git (at least the cygwin one, maybe?)
may be able to exploit this.
--
Giuseppe "Oblomov" Bilotta
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Fwd: after first git clone of linux kernel repository there are changed files in working dir
2008-12-11 17:58 ` rdkrsr
2008-12-11 20:23 ` Boyd Stephen Smith Jr.
2008-12-11 20:35 ` Giuseppe Bilotta
@ 2008-12-12 13:51 ` Nick Andrew
2 siblings, 0 replies; 16+ messages in thread
From: Nick Andrew @ 2008-12-12 13:51 UTC (permalink / raw)
To: rdkrsr; +Cc: git
On Thu, Dec 11, 2008 at 06:58:01PM +0100, rdkrsr wrote:
> windows xp and msysgit for this. And the file system is NTFS. I'm
> using dual boot to sporadicly use linux and tried also linux in
> virtual box.
You could use git inside your VirtualBox linux install.
> But both isn't really good. Maybe one day I dare to use
> linux as my primary OS.
It's not scary, really.
Nick.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: after first git clone of linux kernel repository there are changed files in working dir
2008-12-10 18:22 ` after first git clone of linux kernel repository there are changed files in working dir rdkrsr
2008-12-10 20:20 ` Brett Simmers
@ 2009-01-19 13:36 ` Hannu Koivisto
2009-01-19 23:52 ` An idea: maybe Git should use a lock/unlock file mode for problematic files? [Was: Re: after first git clone of linux kernel repository there are changed files in working dir] thestar
1 sibling, 1 reply; 16+ messages in thread
From: Hannu Koivisto @ 2009-01-19 13:36 UTC (permalink / raw)
To: rdkrsr; +Cc: git
rdkrsr <rdkrsr@googlemail.com> writes:
> I just fetched the sources without changing anything, but git diff
> shows, that there are changes that are not yet updated (changed but not
> updated: use git add to ...). Why is it like that?
>
> I use msysgit on windows, maybe that is one reason?
Kernel source contains pairs of files whose names differ only by
case. Windows cannot store such pairs (at least by default) and
apparently there is no support for such a situation in git so
you'll only get one file from each pair to your workspace and the
other file is shown as modified.
--
Hannu
^ permalink raw reply [flat|nested] 16+ messages in thread
* An idea: maybe Git should use a lock/unlock file mode for problematic files? [Was: Re: after first git clone of linux kernel repository there are changed files in working dir]
2009-01-19 13:36 ` Hannu Koivisto
@ 2009-01-19 23:52 ` thestar
2009-01-20 20:11 ` Daniel Barkalow
0 siblings, 1 reply; 16+ messages in thread
From: thestar @ 2009-01-19 23:52 UTC (permalink / raw)
To: Hannu Koivisto; +Cc: rdkrsr, git
Quoting Hannu Koivisto <azure@iki.fi>:
<snip>
> Kernel source contains pairs of files whose names differ only by
> case. Windows cannot store such pairs (at least by default) and
> apparently there is no support for such a situation in git so
> you'll only get one file from each pair to your workspace and the
> other file is shown as modified.
Could git be modified to allow such repositories to be used on windows
by locking files that are problematic, for example, a given repository
could have files 'AAA' and 'aAa'.
The one that correctly represents the on-disk file would be 'open for
edit', while the other file would be locked. To edit the other file,
the existing file would need to be locked, and then the other file
would then need to be open for edit.
This could even be extended to allow one to "open file AAA for edit as
aAa.v2', giving the file an alternate name.
Such a workflow would only need to be used for such files, and could
also be used when there are incompatible file names for that given
partition type.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: An idea: maybe Git should use a lock/unlock file mode for problematic files? [Was: Re: after first git clone of linux kernel repository there are changed files in working dir]
2009-01-19 23:52 ` An idea: maybe Git should use a lock/unlock file mode for problematic files? [Was: Re: after first git clone of linux kernel repository there are changed files in working dir] thestar
@ 2009-01-20 20:11 ` Daniel Barkalow
2009-01-20 21:28 ` John Chapman
0 siblings, 1 reply; 16+ messages in thread
From: Daniel Barkalow @ 2009-01-20 20:11 UTC (permalink / raw)
To: thestar; +Cc: Hannu Koivisto, rdkrsr, git
On Tue, 20 Jan 2009, thestar@fussycoder.id.au wrote:
> Quoting Hannu Koivisto <azure@iki.fi>:
> <snip>
> > Kernel source contains pairs of files whose names differ only by
> > case. Windows cannot store such pairs (at least by default) and
> > apparently there is no support for such a situation in git so
> > you'll only get one file from each pair to your workspace and the
> > other file is shown as modified.
>
> Could git be modified to allow such repositories to be used on windows
> by locking files that are problematic, for example, a given repository
> could have files 'AAA' and 'aAa'.
>
> The one that correctly represents the on-disk file would be 'open for
> edit', while the other file would be locked. To edit the other file,
> the existing file would need to be locked, and then the other file
> would then need to be open for edit.
>
> This could even be extended to allow one to "open file AAA for edit as
> aAa.v2', giving the file an alternate name.
>
> Such a workflow would only need to be used for such files, and could
> also be used when there are incompatible file names for that given
> partition type.
The hard part is actually identifying what the user's filesystem has done.
There's pretty good internal support for git knowing that, for a
particular entry, the filesystem should not be consulted for information.
I don't think anyone's come up with a suitably cross-platform and
automatic way to figure out what's happened when git tries to write to a
particular filename and the system decides it is the same as some other
filename or it decides to use a different filename instead.
Of course, it is reasonably likely that a project whose files can't all be
checked out can't be dealt with anyway on that platform (IIRC, the Linux
kernel build system assumes that it can create both .S and .s files, so it
won't build on FAT). So nobody's been sufficiently motivated to try to
implement a fix.
-Daniel
*This .sig left intentionally blank*
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: An idea: maybe Git should use a lock/unlock file mode for problematic files? [Was: Re: after first git clone of linux kernel repository there are changed files in working dir]
2009-01-20 20:11 ` Daniel Barkalow
@ 2009-01-20 21:28 ` John Chapman
2009-01-20 22:08 ` Daniel Barkalow
0 siblings, 1 reply; 16+ messages in thread
From: John Chapman @ 2009-01-20 21:28 UTC (permalink / raw)
To: Daniel Barkalow; +Cc: Hannu Koivisto, rdkrsr, git
On Tue, 2009-01-20 at 15:11 -0500, Daniel Barkalow wrote:
<snip>
>
> The hard part is actually identifying what the user's filesystem has done.
> There's pretty good internal support for git knowing that, for a
> particular entry, the filesystem should not be consulted for information.
> I don't think anyone's come up with a suitably cross-platform and
> automatic way to figure out what's happened when git tries to write to a
> particular filename and the system decides it is the same as some other
> filename or it decides to use a different filename instead.
This would only need to interact with the git status command, wouldn't
it?
>
> Of course, it is reasonably likely that a project whose files can't all be
> checked out can't be dealt with anyway on that platform (IIRC, the Linux
> kernel build system assumes that it can create both .S and .s files, so it
> won't build on FAT). So nobody's been sufficiently motivated to try to
> implement a fix.
I doubt the kernel builds on windows, but this would allow a windows
user to modify such files, perhaps in preparation for a patch that does
allow the kernel to be built on windows?
(Of course, we're using the kernel here as an example, right? Nobody
would be insane as to want to use windows for that!)
See, a very annoying thing about windows is that it is quite simple for
a team to commit two files that differ by case alone to a git
repository.
Was just an idea, really.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: An idea: maybe Git should use a lock/unlock file mode for problematic files? [Was: Re: after first git clone of linux kernel repository there are changed files in working dir]
2009-01-20 21:28 ` John Chapman
@ 2009-01-20 22:08 ` Daniel Barkalow
2009-01-20 23:25 ` Alex Riesen
0 siblings, 1 reply; 16+ messages in thread
From: Daniel Barkalow @ 2009-01-20 22:08 UTC (permalink / raw)
To: John Chapman; +Cc: Hannu Koivisto, rdkrsr, git
On Wed, 21 Jan 2009, John Chapman wrote:
> On Tue, 2009-01-20 at 15:11 -0500, Daniel Barkalow wrote:
> <snip>
> >
> > The hard part is actually identifying what the user's filesystem has done.
> > There's pretty good internal support for git knowing that, for a
> > particular entry, the filesystem should not be consulted for information.
> > I don't think anyone's come up with a suitably cross-platform and
> > automatic way to figure out what's happened when git tries to write to a
> > particular filename and the system decides it is the same as some other
> > filename or it decides to use a different filename instead.
>
> This would only need to interact with the git status command, wouldn't
> it?
The information is needed in a bunch of commands (diff and add, for
example), but I believe that's already taken care on. The problem is
getting it set automatically instead of having git not notice that the
filesystem isn't doing what it expects.
> > Of course, it is reasonably likely that a project whose files can't all be
> > checked out can't be dealt with anyway on that platform (IIRC, the Linux
> > kernel build system assumes that it can create both .S and .s files, so it
> > won't build on FAT). So nobody's been sufficiently motivated to try to
> > implement a fix.
>
> I doubt the kernel builds on windows, but this would allow a windows
> user to modify such files, perhaps in preparation for a patch that does
> allow the kernel to be built on windows?
> (Of course, we're using the kernel here as an example, right? Nobody
> would be insane as to want to use windows for that!)
>
> See, a very annoying thing about windows is that it is quite simple for
> a team to commit two files that differ by case alone to a git
> repository.
My impression was that this didn't happen in practice, because teams
would tend to not have two people create the same file at the same time,
but with different cases, and people interacting with the same file at
different times would use whatever case it was introduced with.
I think I'd only heard about problems for people who were using
filesystems with different properties than what the rest of the developers
on the project were using.
But I've only ever worked on projects that expect case-sensitivity, and
mostly on projects that have a standard style that prevents duplication.
-Daniel
*This .sig left intentionally blank*
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: An idea: maybe Git should use a lock/unlock file mode for problematic files? [Was: Re: after first git clone of linux kernel repository there are changed files in working dir]
2009-01-20 22:08 ` Daniel Barkalow
@ 2009-01-20 23:25 ` Alex Riesen
2009-01-21 0:03 ` Daniel Barkalow
0 siblings, 1 reply; 16+ messages in thread
From: Alex Riesen @ 2009-01-20 23:25 UTC (permalink / raw)
To: Daniel Barkalow; +Cc: John Chapman, Hannu Koivisto, rdkrsr, git
2009/1/20 Daniel Barkalow <barkalow@iabervon.org>:
> My impression was that this didn't happen in practice, because teams
> would tend to not have two people create the same file at the same time,
> but with different cases, and people interacting with the same file at
> different times would use whatever case it was introduced with.
It will and does happen in practice (annoingly too often even). Not with Git
yet (with Perforce), where people do "branching" by simply copying things
in another directory (perforce world does not know real branches),
renaming files randomly, and putting the new directory back in the
system (or maybe it is the strange tools here which do that - often
it is the first character of a directory or file which gets down- or up-cased).
As Perforce itself is case sensitive (like Git), using of such branches
is a nightmare: the files get overwritten in checkout order which is
not always sorted in predictable order. Combined with case-stupidity
of the file system the working directories sometimes cause "interesting
time" for unlucky users.
Luckily (sadly) it is all-opening-in-a-wall shop, so the problem with "fanthom"
files is rare (it is hard to notice) for most. Which actually makes it more
frustrating when the real shit happens.
And it will happen to Git as well, especially if development go crossplatform.
It is not that hard to accidentally rename a file on case-sensitive file system,
"git add *" it and commit without thinking (that's how most of software
development happens, come to think of it).
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: An idea: maybe Git should use a lock/unlock file mode for problematic files? [Was: Re: after first git clone of linux kernel repository there are changed files in working dir]
2009-01-20 23:25 ` Alex Riesen
@ 2009-01-21 0:03 ` Daniel Barkalow
2009-01-21 7:25 ` Alex Riesen
0 siblings, 1 reply; 16+ messages in thread
From: Daniel Barkalow @ 2009-01-21 0:03 UTC (permalink / raw)
To: Alex Riesen; +Cc: John Chapman, Hannu Koivisto, rdkrsr, git
On Wed, 21 Jan 2009, Alex Riesen wrote:
> 2009/1/20 Daniel Barkalow <barkalow@iabervon.org>:
> > My impression was that this didn't happen in practice, because teams
> > would tend to not have two people create the same file at the same time,
> > but with different cases, and people interacting with the same file at
> > different times would use whatever case it was introduced with.
>
> It will and does happen in practice (annoingly too often even). Not with Git
> yet (with Perforce), where people do "branching" by simply copying things
> in another directory (perforce world does not know real branches),
> renaming files randomly, and putting the new directory back in the
> system (or maybe it is the strange tools here which do that - often
> it is the first character of a directory or file which gets down- or up-cased).
How does the resulting code work at all? With a case-sensitive filesystem,
most of the files you're using don't have the expected names any more, and
most systems will therefore not actually build or run.
I have to assume it's your strange tools, because we never have this
problem at my work, where we also use Perforce. Perhaps it's that we
always use "p4 integrate //some/project/version/...
//some/other/project/version/..." which inherently preserves the case of
all of the filenames within the project.
> As Perforce itself is case sensitive (like Git), using of such branches
> is a nightmare: the files get overwritten in checkout order which is
> not always sorted in predictable order. Combined with case-stupidity
> of the file system the working directories sometimes cause "interesting
> time" for unlucky users.
> Luckily (sadly) it is all-opening-in-a-wall shop, so the problem with "fanthom"
> files is rare (it is hard to notice) for most. Which actually makes it more
> frustrating when the real shit happens.
>
> And it will happen to Git as well, especially if development go crossplatform.
> It is not that hard to accidentally rename a file on case-sensitive file system,
> "git add *" it and commit without thinking (that's how most of software
> development happens, come to think of it).
People can accidentally rename files? And still have things work when they
do it on a case-sensitive filesystem?
-Daniel
*This .sig left intentionally blank*
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: An idea: maybe Git should use a lock/unlock file mode for problematic files? [Was: Re: after first git clone of linux kernel repository there are changed files in working dir]
2009-01-21 0:03 ` Daniel Barkalow
@ 2009-01-21 7:25 ` Alex Riesen
0 siblings, 0 replies; 16+ messages in thread
From: Alex Riesen @ 2009-01-21 7:25 UTC (permalink / raw)
To: Daniel Barkalow; +Cc: John Chapman, Hannu Koivisto, rdkrsr, git
2009/1/21 Daniel Barkalow <barkalow@iabervon.org>:
> On Wed, 21 Jan 2009, Alex Riesen wrote:
>
>> 2009/1/20 Daniel Barkalow <barkalow@iabervon.org>:
>> > My impression was that this didn't happen in practice, because teams
>> > would tend to not have two people create the same file at the same time,
>> > but with different cases, and people interacting with the same file at
>> > different times would use whatever case it was introduced with.
>>
>> It will and does happen in practice (annoingly too often even). Not with Git
>> yet (with Perforce), where people do "branching" by simply copying things
>> in another directory (perforce world does not know real branches),
>> renaming files randomly, and putting the new directory back in the
>> system (or maybe it is the strange tools here which do that - often
>> it is the first character of a directory or file which gets down- or up-cased).
>
> How does the resulting code work at all? ...
Sometimes it does not. Sometimes it does. Depends on that particular
checkout order perforce (or user?) selected to use this time.
> ... With a case-sensitive filesystem,
> most of the files you're using don't have the expected names any more, and
> most systems will therefore not actually build or run.
Except that there is no case-sensitive file systems on development machines.
So a botched case wont be noticed by a standard build procedure unless
the content of the files causes an error.
>> As Perforce itself is case sensitive (like Git), using of such branches
>> is a nightmare: the files get overwritten in checkout order which is
>> not always sorted in predictable order. Combined with case-stupidity
>> of the file system the working directories sometimes cause "interesting
>> time" for unlucky users.
>> Luckily (sadly) it is all-opening-in-a-wall shop, so the problem with "fanthom"
>> files is rare (it is hard to notice) for most. Which actually makes it more
>> frustrating when the real shit happens.
>>
>> And it will happen to Git as well, especially if development go crossplatform.
>> It is not that hard to accidentally rename a file on case-sensitive file system,
>> "git add *" it and commit without thinking (that's how most of software
>> development happens, come to think of it).
>
> People can accidentally rename files?
Aside from tools (and in my own experience - I did) - they can and do.
> And still have things work when they do it on a case-sensitive filesystem?
Shameless luck, I'd say. That and "no file systems permitted, but the one
from finance dept".
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2009-01-21 7:26 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <d304880b0812101019ufe85095h46ff0fe00d32bbd0@mail.gmail.com>
2008-12-10 18:22 ` after first git clone of linux kernel repository there are changed files in working dir rdkrsr
2008-12-10 20:20 ` Brett Simmers
[not found] ` <d304880b0812110142g41b80745ic09a7200e02dcdb0@mail.gmail.com>
2008-12-11 17:15 ` Fwd: " rdkrsr
2008-12-11 17:41 ` Linus Torvalds
2008-12-11 17:58 ` rdkrsr
2008-12-11 20:23 ` Boyd Stephen Smith Jr.
2008-12-11 20:35 ` Giuseppe Bilotta
2008-12-12 13:51 ` Nick Andrew
2009-01-19 13:36 ` Hannu Koivisto
2009-01-19 23:52 ` An idea: maybe Git should use a lock/unlock file mode for problematic files? [Was: Re: after first git clone of linux kernel repository there are changed files in working dir] thestar
2009-01-20 20:11 ` Daniel Barkalow
2009-01-20 21:28 ` John Chapman
2009-01-20 22:08 ` Daniel Barkalow
2009-01-20 23:25 ` Alex Riesen
2009-01-21 0:03 ` Daniel Barkalow
2009-01-21 7:25 ` Alex Riesen
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).