[PATCH 1 of 1] doc: add "icasefs" additional help topic for case insensitive filesystem

FUJIWARA Katsunori foozy at lares.dti.ne.jp
Wed Apr 18 10:31:17 CDT 2012


Hi, Matt.

Thank you for your comments.

At Tue, 17 Apr 2012 11:21:54 -0500,
Matt Mackall wrote:

> > I tried to write out-line of 'filesystem' help doc, and abstract of
> > each (new) sub topics. Are there enough/supposed topics ?
> > 
> >   - Handling links (NEW)
> > 
> >     - symlink
> > 
> >       Mercurial can record symlink as the text of link destination
> >       into history. 
> > 
> >       on some platform where symlink capability is not available
> >       (e.g.: NTFS on Windows, VFAT on Linux), Mercurial writes symlink
> >       out as the plain text file which contains destination of
> >       symlink.
> 
> These things are so different that they probably shouldn't be grouped.

You mean that symlink and hardlink shouldn't be grouped, don't you ?

# or 'recording into history and writing out' ?

> >     - hardlink
> > 
> >       - hardlinking in metadata
> > 
> >         - hardlink used in "hg clone"
> >         - overview of "relink" extension
> 
> I'd rather have just a "see also".

I'll write so.

> >       - hardlinking in working directory
> > 
> >         - assosiation between hard linked files is not recorded into
> >           history
> > 
> >         - "hg update" and "hg revert" unlink files before writing data
> >           into target files, so hardlinked content is not modified
> > 
> >   - Management other than contents (NEW)
> > 
> >     - exec bit
> > 
> >       initial value and changes of exec bit are recorded into
> >       hitstory.
> > 
> >       but it is ignored on some platform (VFAT on some Linux platform
> >       or Cygwin), because it does not treat exec bit correctly.
> > 
> >   - Working on caee insensitive filesystem
> > 
> >     - Warning for case-folding collision
> >     - Abort for case-folding collision
> >       - Abort updating to another version
> >       - Abort merging with another revision
> >     - Workaround
> >       - Updating with --check or --clean
> >       - Renaming colliding files
> >       - Updating manually
> 
> Updating manually is probably too advanced for the built-in help.

Is linking to Wiki page also NOT needed ?

# http://mercurial.selenic.com/wiki/ManualCheckout

> >     - Case determination process in Mercurial (NEW)
> > 
> >       when you specify 'file' as filename in command line on case
> >       insensitive filesystem, case of it is determined in order below.
> > 
> >         1. 'file' is normalized in case (e.g.: lower): call it as 'normed'
> > 
> >         2. if dirstate(or "manifest of working"?) has the 'konwn-file'
> >            which is equal to 'normed' if it is normalized in case,
> >            Mercurial uses 'konwn-file' as 'file'.
> > 
> >         3. if filesystem has 'existing-file' which is equal to 'normed'
> >            if it is normalized in case , Mercurial uses
> >            'existing-file' as 'file'.
> > 
> >         4. otherwise, Mercurial uses 'file' as 'file' itself.
> 
> It's simpler to say something like:
> 
> On case-insensitive systems, Mercurial decides what case to use in the
> following order:
> 
> - the case used in the dirstate, if a file is tracked
> - or the case used in the filesystem, if the file exists
> - or the case given on the command line

I'll write so.

BTW, is 'dirstate' term is suitable ? I think there is no explanation
for it in any helps, also in 'glossary'.

# but 'manifest' is not suitable, is it ?

----------------------------------------------------------------------
[FUJIWARA Katsunori]                             foozy at lares.dti.ne.jp


More information about the Mercurial-devel mailing list