# HG changeset patch # User Bryan O'Sullivan # Date 1360024767 28800 # Node ID 0274b75af266bb3639f3e0a84ad4c15cddb2ceee # Parent e90c31a68eb9da48b5280faacce9525dd90b9798 svncommands: split write_if_needed into two functions diff --git a/hgsubversion/svncommands.py b/hgsubversion/svncommands.py --- a/hgsubversion/svncommands.py +++ b/hgsubversion/svncommands.py @@ -38,17 +38,19 @@ def rebuildmeta(ui, repo, args, unsafe_s return _buildmeta(ui, repo, args, partial=False, skipuuid=unsafe_skip_uuid_check) -def write_if_needed(path, content): - try: - fp = open(path) - mustwrite = fp.read() != content +def read_if_exists(path): + try: + fp = open(path, 'rb') + d = fp.read() fp.close() - except IOError, err: - if err.errno != errno.ENOENT: - raise - mustwrite = True - if mustwrite: - fp = open(path, 'w') + return d + except IOError, err: + if err.errno != errno.ENOENT: + raise + +def write_if_needed(path, content): + if read_if_exists(path) != content: + fp = open(path, 'wb') fp.write(content) fp.close()