| Git v2.2.1 Release Notes |
| ======================== |
| |
| Fixes since v2.2 |
| ---------------- |
| |
| * We used to allow committing a path ".Git/config" with Git that is |
| running on a case sensitive filesystem, but an attempt to check out |
| such a path with Git that runs on a case insensitive filesystem |
| would have clobbered ".git/config", which is definitely not what |
| the user would have expected. Git now prevents you from tracking |
| a path with ".Git" (in any case combination) as a path component. |
| |
| * On Windows, certain path components that are different from ".git" |
| are mapped to ".git", e.g. "git~1/config" is treated as if it were |
| ".git/config". HFS+ has a similar issue, where certain unicode |
| codepoints are ignored, e.g. ".g\u200cit/config" is treated as if |
| it were ".git/config". Pathnames with these potential issues are |
| rejected on the affected systems. Git on systems that are not |
| affected by this issue (e.g. Linux) can also be configured to |
| reject them to ensure cross platform interoperability of the hosted |
| projects. |
| |
| * "git fsck" notices a tree object that records such a path that can |
| be confused with ".git", and with receive.fsckObjects configuration |
| set to true, an attempt to "git push" such a tree object will be |
| rejected. Such a path may not be a problem on a well behaving |
| filesystem but in order to protect those on HFS+ and on case |
| insensitive filesystems, this check is enabled on all platforms. |
| |
| A big "thanks!" for bringing this issue to us goes to our friends in |
| the Mercurial land, namely, Matt Mackall and Augie Fackler. |
| |
| Also contains typofixes, documentation updates and trivial code clean-ups. |