diff --git a/git-filter-repo b/git-filter-repo index d50d027..6c523de 100755 --- a/git-filter-repo +++ b/git-filter-repo @@ -16,6 +16,7 @@ import collections import fnmatch import os import re +import StringIO import subprocess import sys import time @@ -237,6 +238,18 @@ class _GitElement(object): """ raise SystemExit("Unimplemented function: %s.dump()" % type(self).__name__) + def __str__(self): + """ + Convert GitElement to string; used for debugging + """ + old_dumped = self.dumped + writeme = StringIO.StringIO() + self.dump(writeme) + output_lines = writeme.getvalue().splitlines() + writeme.close() + self.dumped = old_dumped + return "{}:\n {}".format(type(self).__name__, "\n ".join(output_lines)) + def skip(self, new_id=None): """ Ensures this element will not be written to output