If I clone a Subversion repository with a standard layout and check in a binary file though hgsubversion, it gets marked with an appropriate svn:mime-type. So far so good. But if I instead clone a subdirectory of the same repository and check in the same file, it does not get that property.
The attached patch fixes the problem, but I haven't really done any deeper analysis to see if the there are similar problems in other places.
The cause is basically this: The code that is supposed to set the svn:mime-type property is only run "if tf in file_data and tf != ntf"; but this condition is always false for repositories with meta.layout=="single", because branch_path gets set to "", which makes svnpath(tf) return tf, which results in tf==ntf.