Mailing List Archive

Capitalization conflicts in netfilter code apparently break tortise subversion
I am sorry if this is a frequently raised topic, but I have
done some web searches for it, including ones limited to
netfilter.org, and looked through the past few months of mailing list
archives without finding anything about it.

netfilter appears to be the only part of the linux kernel that
contains file names that differ only by capitalization. I infer from
a quick glance at the source tree that the netfilter code currently
uses the caplitation to distinguish between "targets" and "matches",
which I would assume somehow helps in the readability of iptables
output or something like that.

File names that collide when compared case insensitively
result in errors in the use of TortoiseSVN on Windows clients using a
subversion source tree that has a copy of the linux kernel checked in.

Although I would welcome tips about some kludge available in
TortoiseSVN to work around this problem so that I don't have to admit
that Linux is incompatible with the primary client of this particular
company's chosen version control system, and have found some
discussion of this subversion issue on the net already, the primary
point of my letter is that file names that differ only in
capitalization in the real world do add a little bit to costs of and
potential arguments against linux. Incompatability with our
colleagues' case insensitive file systems also impedes software
sharing minutely and may erode the inclination of others to accomodate
conventions that may make our lives easier (7 bit characters in file
names, no spaces, control characters, slashes, semicolons, no files
named "..", etc.).

I don't expect the netfilter contributors immediately to jump
and fix this problem, which I imagine would have implications in user
level code and system administration scripts. Rather, I submit it for
contributors to contemplate in future planning. For example, perhaps
in the future, the FILTERNAME/filtername convention could be migrated
to the use of suffixes like filtername_in/filtername_out.

Thanks for your time.

Adam Richter
Re: Capitalization conflicts in netfilter code apparently break tortise subversion [ In reply to ]
Adam J. Richter wrote:
> I am sorry if this is a frequently raised topic, but I have
> done some web searches for it, including ones limited to
> netfilter.org, and looked through the past few months of mailing list
> archives without finding anything about it.
>
> netfilter appears to be the only part of the linux kernel that
> contains file names that differ only by capitalization. I infer from
> a quick glance at the source tree that the netfilter code currently
> uses the caplitation to distinguish between "targets" and "matches",
> which I would assume somehow helps in the readability of iptables
> output or something like that.
>
> File names that collide when compared case insensitively
> result in errors in the use of TortoiseSVN on Windows clients using a
> subversion source tree that has a copy of the linux kernel checked in.
>
> Although I would welcome tips about some kludge available in
> TortoiseSVN to work around this problem so that I don't have to admit
> that Linux is incompatible with the primary client of this particular
> company's chosen version control system, and have found some
> discussion of this subversion issue on the net already, the primary
> point of my letter is that file names that differ only in
> capitalization in the real world do add a little bit to costs of and
> potential arguments against linux. Incompatability with our
> colleagues' case insensitive file systems also impedes software
> sharing minutely and may erode the inclination of others to accomodate
> conventions that may make our lives easier (7 bit characters in file
> names, no spaces, control characters, slashes, semicolons, no files
> named "..", etc.).
>
> I don't expect the netfilter contributors immediately to jump
> and fix this problem, which I imagine would have implications in user
> level code and system administration scripts. Rather, I submit it for
> contributors to contemplate in future planning. For example, perhaps
> in the future, the FILTERNAME/filtername convention could be migrated
> to the use of suffixes like filtername_in/filtername_out.
>
> Thanks for your time.
>
> Adam Richter
>
>
>
>
>

Thanks Adam

This appears to be an OS specific and not a subversion issue. The
subversion server allows you to check in duplicate filenames with
different case. The problem comes in when you try and check the code out
again on an OS which is case insensitive (ala Windows). See this link on
the Tigris website for more info :
http://subversion.tigris.org/servlets/ReadMsg?listName=dev&msgNo=38144

Bottom line is, if the code was checked into the repository
successfully, then it would have been done from a client on an OS that
supports case sensitivity and probably was expected to be checked out on
a compatible OS.

Regards

Ray

--
<img src='http://www.danasoft.com/sig/spoonssig.jpg' />
--------------------------------------------------
RCHQ Hobbies cc
http://www.rchq.co.za and http://store.rchq.co.za
Fax: +27 86 652 2773 eMail: admin@rchq.co.za
P O Box 10376, Vorna Valley, Midrand, 1686
--------------------------------------------------
Re: Capitalization conflicts in netfilter code apparently break tortise subversion [ In reply to ]
On Tue, Aug 14, 2007 at 09:07:54PM +0200, Ray Leach wrote:
> Adam J. Richter wrote:
[...]
> > netfilter appears to be the only part of the linux kernel that
> >contains file names that differ only by capitalization. [...]
> >
> > File names that collide when compared case insensitively
> >result in errors in the use of TortoiseSVN on Windows clients using a
> >subversion source tree that has a copy of the linux kernel checked in.
[...]
>
> Thanks Adam
>
> This appears to be an OS specific and not a subversion issue. The
> subversion server allows you to check in duplicate filenames with
> different case. The problem comes in when you try and check the code out
> again on an OS which is case insensitive (ala Windows). See this link on
> the Tigris website for more info :
> http://subversion.tigris.org/servlets/ReadMsg?listName=dev&msgNo=38144
>
> Bottom line is, if the code was checked into the repository
> successfully, then it would have been done from a client on an OS that
> supports case sensitivity and probably was expected to be checked out on
> a compatible OS.

Thanks for the link to that discussion.

The sitation arose with an automated merge someone was
attempting from Windows on a large source tree that included a linux
kernel source subtree. If I understand correctly, it appears that
TortoiseSVN from Windows cannot currently safely do merges of Linux
source trees, due to the naming capitalization collisions in
netfilter. It also may effect the ability of someone working on
Windows to quickly check the effected parts of the linux kernel source
tree from this version control system or, even without a version
control system, just unpacking a linux source tar file.

For the purposes of the netfilter list, I just wanted to bring
the downsides of these caplitalization collisions to everyone's
attention in the hopes that they might be eliminated in the course of
future development, especially if some other occasion for renaming
things arises, as has occurred with the transition to "ip tools", and
the ipchains to iptables transition.

Adam Richter


P.S. Going a bit off topic for the netfilter list, TortoiseSVN is
designed to access a unix-supporting version control system
(subversion) from Windows. I understand that the capitalization
collision problem is not limited to TortoiseSVN, but, fall back to
some name when such problems occur would be pretty central to
TortoiseSVN's purpose (as opposed to accomodating VMS naming support
as was mentioned in the thread you identified), regardless of whether
the netfilter capitalization collisions get fixed.