From 030c1c519f7d99910206ed03910075b6f517f67e Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Wed, 8 Oct 2014 11:52:40 -0400 Subject: [PATCH] revert directories added by copying recursively --- jsvn | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/jsvn b/jsvn index b37092a..c259962 100755 --- a/jsvn +++ b/jsvn @@ -1247,15 +1247,19 @@ def revert_h(argv, svn, out, config): if action in ('A', 'M', 'C', 'D', '!') or prop_action == 'M': fname = m.group(1) if action in ('D', '!'): - modified_files.append(fname) + modified_files.append((action, fname)) else: - modified_files.insert(0, fname) - for fname in modified_files: + modified_files.insert(0, (action, fname)) + for action, fname in modified_files: for target in argv: if fname.startswith(os.getcwd() + os.sep): fname = fname[len(os.getcwd() + os.sep):] if target == '.' or target == fname or fname.startswith(target + os.sep): - Popen([svn, 'revert', fname]).wait() + cmd = [svn, "revert"] + if action == 'A': + cmd += ["--depth", "infinity"] + cmd.append(fname) + Popen(cmd).wait() did_something = True break return RET_OK if did_something else RET_REEXEC