Skip to content
This repository has been archived by the owner on Dec 11, 2019. It is now read-only.

Lower-case directory in mercurial is mapped to mixed-case directory #25

Open
he-sk opened this issue Mar 2, 2016 · 0 comments
Open

Comments

@he-sk
Copy link

he-sk commented Mar 2, 2016

I'm trying to clone the following Mercurial repository: https://bitbucket.org/msaecker/monetdb-opencl

It contains the top-level directory monetdb5 (all lower case). On OS X, this directory is checked out as MonetDB5 (mixed case). If I push a change to a file below this directory, a new directory is created in the Mercurial repository, e.g., the MonetDB5 path at the top of the list in the branch variant-tuning: https://bitbucket.org/msaecker/monetdb-opencl/src/37b85b0f6ac8ddb315f00c2731f1a10f7b8b8b25/?at=variant-tuning

If I then clone this repository on OS X, there will only be one MonetDB5 directory, containing my changes. But on Linux, there is the original monetdb5 directory as well as a newly created MonetDB5 directory.

I've tried renaming the directory on OS X to no avail. Interestingly, even if I rename the directory to lower case, git still thinks it's mixed case, e.g., see the path in modified line below. Note that the patch file only contains the lower-case monetdb5 path.

$ mv MonetDB5 foo
$ mv foo monetdb5
$ patch -p1 < ~/Desktop/ocl_select.c.patch
$ git status
On branch branches/variant-tuning
Your branch is up-to-date with 'origin/branches/variant-tuning'.
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

modified:   MonetDB5/extras/ocelot/ocl_select.c

If I rename the directory using git, then it correctly assumes the lower-case path for new commits:

$ git mv MonetDB5 foo
$ git mv foo monetdb5
$ git commit -a -m "Renamed monetdb5 directory to fix case issue on OS X"
$ git push
$ patch -p1 < ~/Desktop/ocl_select.c.patch
$ git status
On branch branches/variant-tuning
Your branch is up-to-date with 'origin/branches/variant-tuning'.
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

modified:   monetdb5/extras/ocelot/ocl_select.c

The rename is reflected in an (empty) mercurial changeset, e.g.: https://bitbucket.org/he-sk/monetdb-opencl/commits/9f898652e36dbd977851525f637239a20c9d2656/raw/

However, when I check out the (supposedly fixed) repository on OS X, the mixed-case directory name reappears.

I'm not sure if this a bug in the original mercurial repository or in git-remote-hg.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant