|6 years 8 months||Add new test to check for garbled output from `mtn cat`
The original issue was found using Java to read from the monotone
process stdout on a Windows XP system, but was also reproduced
using `mtn cat FILENAME > FILENAME`. However, on Linux (only
tested on SUSE so far) no lines are garbled, even with newlines.
I think the culprit is 'dump_file' which uses '<<', and the
documentation states it performs formatting, where as 'put/write'
perform no formatting.
Whilst `mtn cat FILENAME > FILENAME` can be expressed as `mtn revert FILENAME`
which works correctly and does not garble new lines (even on Windows),
my opinion is that it should still work. The intention is to get the
full original version, and `mtn cat FILENAME` is quicker to type
and more efficient than using automate commands to fetch the workspace
manifest, then request the content given a file_id.
An example usage is using `mtn cat FILENAME` from a NetBeans IDE
integration plugin, as NetBeans only needs the full original text
of a file and automatically works out a diff, shows editor markers
in the margin etc when in an editor window. The current plugin
uses `mtn cat FILENAME` which works on Linux regardless of newlines
in files, but fails on Windows when the file has Windows newlines (CRLF).
Commit 11b4f6eb2fd4f6fbc706532838ce90074141f642, by Richard Hopkins