The only thing corrupt is that particular revision. So you can effectively fix a damaged repo by doing "bzr uncommit", changing the offending filenames, and recommitting. This leaves the broken revision in the repository, but it's unreferenced so totally harmless.
An easy improvement would be to fix bzr so that it always prevents a commit if there's a newline in a filename, even if running with "python -O"/.pyo files. This would at least tell the user about this limitation at a more appropriate time, and avoid ever writing invalid data into a repository.
Hi Martin,
The only thing corrupt is that particular revision. So you can effectively fix a damaged repo by doing "bzr uncommit", changing the offending filenames, and recommitting. This leaves the broken revision in the repository, but it's unreferenced so totally harmless.
An easy improvement would be to fix bzr so that it always prevents a commit if there's a newline in a filename, even if running with "python -O"/.pyo files. This would at least tell the user about this limitation at a more appropriate time, and avoid ever writing invalid data into a repository.