diff --git a/jsvn b/jsvn index 3d4dcf1..8b92b4f 100755 --- a/jsvn +++ b/jsvn @@ -754,12 +754,22 @@ def status(argv, svn, out): if re.match(r'\s*$', line): continue + # look for lines that should be ignored + if re.match(STATUS_LINE_REGEX, line): + action = line[0] + if action == 'X': + continue # don't print directory externals + elif line.startswith(' X '): + continue # don't print unmodified file externals + # anything not matched yet will cause an external to be shown if not external_printed: if something_printed: out.write('\n') out.write("External '%s':\n" % external) external_printed = True + + # look for lines to highlight if re.match(STATUS_LINE_REGEX, line): action = line[0] prop_action = line[1] @@ -775,8 +785,6 @@ def status(argv, svn, out): ansi_color(out, 'magenta') elif action == ' ' and prop_action == 'M': ansi_color(out, 'cyan') - elif action == 'X': - continue # don't print externals out.write(line) ansi_reset(out) out.write('\n')