prevent transient leaks of file handle by using new helper functions
These leaks may occur in environments that don't employ a reference
counting GC, i.e. PyPy.
This implies:
- changing opener(...).read() calls to opener.read(...)
- changing opener(...).write() calls to opener.write(...)
- changing open(...).read(...) to util.readfile(...)
- changing open(...).write(...) to util.writefile(...)
changeset = '{rev}{tags}{bookmarks}{parents} {node|short} {date|isodate} {author|user}\n {desc|firstline|strip}\n\n'
changeset_quiet = '{rev}:{node|short}\n'
changeset_verbose = '{rev}{tags}{parents} {node|short} {date|isodate} {author}\n {desc|strip}\n\n'
start_tags = '['
tag = '{tag},'
last_tag = '{tag}]'
start_parents = ':'
parent = '{rev},'
last_parent = '{rev}'
start_bookmarks = '['
bookmark = '{bookmark},'
last_bookmark = '{bookmark}]'