{"push_id":3018648841,"size":1,"distinct_size":1,"ref":"refs/heads/fix-utf-16-working-tree-encoding","head":"4ca07bfc85b662d57c376e6c790ec2778b5323c9","before":"6541e9e5b973a4e1dc103edd8c6ffdc2bc60b140","commits":[{"sha":"4ca07bfc85b662d57c376e6c790ec2778b5323c9","author":{"name":"AdRiAnIlloO","email":"7a865982510d015dd0fc999dbb6bed2d4f01bba5@gmail.com"},"message":"convert: fix working-tree-encoding and utf-16\n\nCurrently:\n\n*\tUsing UTF-16 or UTF-32 value on working-tree-encoding causes files with that encoding which also have BOM to later be assigned a BE BOM (0xFEFF) once Git converts them out from UTF-8 as stored internally, thus breaking initial LE BOM (0xFFFE) for projects which require it.\n\n*\tUsing explicit BE/LE BOM instead in working-tree-encoding, is prohibited when the designated files start with a BOM, disabling human-readable diffs (simply informing of \"binary type\"), and completely blocking commit operations, along with an error message. This behaviour happens as Git respects this part of Unicode's standard: http://unicode.org/faq/utf_bom.html#bom10\n\nIn this commit:\n\n*\tGit only prohibites the opposite BOM than the one in working-tree-encoding (e.g. if declared LE, then it denies BE BOM presence within the associated file). This way the user is forced to match the correct endianness to prevent Git from inserting an undesired BOM after the process of re-encoding from internal UTF-8 to the working-tree-encoding. Unfortunately, this violates the Unicode's standard as referenced earlier.","distinct":true,"url":"https://api.github.com/repos/AdRiAnIlloO/git/commits/4ca07bfc85b662d57c376e6c790ec2778b5323c9"}]}
{"actor":{"display_login":"AdRiAnIlloO"}}