Files invisible in web UI when folder contains international character (BB-802)

Morten Mertner avatarMorten Mertner created an issue

I populated a repository with files from my Windows 7 partition. These contained danish (aka international) characters. Mercurial turned out to be unfriendly in the way it obtains file names and thus checks in junk names.

In the bitbucket source browser I noticed that one folder (imported from a folder with the Å character in it) was empty, even though it actually contained several files locally. After renaming the folder to not contain the character the files inside became visible.

Note that Å is a particularly troublesome character because it has two UTF-8 encodings (e.g. A-WITH-RING and RINGED-A), both representing the same character. These are known as NFC and NFD encodings. Because my files originated on a Mac, which converts everything it saves to disk to NFD encoding, their current encoding is NFD (Windows uses the encoding it's given, which avoids a ton of problems, but I digress).

On another note, I had serious problems getting the push to work at all. Anything above 30-50MB is lucky to get through, returning either 502 Bad Gateway or 500 Server Error. It took 14 (!!!) pushes to finally send all the repository data across the wire. Is this a bitbucket or Mercurial problem?

Comments (5)

  1. Morten Mertner

    In this day and age I actually think that calls for a :( rather than a :)

    I could understand if there was a problem with individual files > 2GB, but not being able to transmit a bunch of medium-sized files (none over 10MB) is just plain sad. Why is there even a hard-limit on HTTP in the first place?

    And if this limit applies to all files being pushed, could we not have the limit raised to 1GB or something that better reflects the file/directory sizes of today?

    Maybe I should open a separate issue for this, as my rant is causing us to digress from the original bug description ;)

  2. Log in to comment
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.