You can clone with
HTTPS or Subversion.
Currently the library writes directly to the file that was opened. To avoid corruption issues, it should write to a temp file close to the real file and use File.rename to atomically replace the old file.
This relates to #1; the file opened with Netrc.read should probably not be replaced until it's verified the contents will be valid.
Yeap fixed that in the pull request. It should throw an exception if it can't parse what it serializes before it writes it. Upd: can't splel.