diff --git a/plugins/dos2unix/__init__.py b/plugins/dos2unix/__init__.py index bae9358..e5b2d9c 100644 --- a/plugins/dos2unix/__init__.py +++ b/plugins/dos2unix/__init__.py @@ -6,6 +6,8 @@ class Filter(): pass def file_data_filter(self,file_data): + if file_data['file_ctx'] == None: + return file_ctx = file_data['file_ctx'] if not file_ctx.isbinary(): file_data['data'] = file_data['data'].replace(b'\r\n', b'\n') diff --git a/plugins/shell_filter_file_contents/__init__.py b/plugins/shell_filter_file_contents/__init__.py index 84fd938..4030da0 100644 --- a/plugins/shell_filter_file_contents/__init__.py +++ b/plugins/shell_filter_file_contents/__init__.py @@ -15,6 +15,8 @@ class Filter: d = file_data['data'] file_ctx = file_data['file_ctx'] filename = file_data['filename'] + if file_ctx == None: + return filter_cmd = self.filter_contents + [filename, node.hex(file_ctx.filenode()), '1' if file_ctx.isbinary() else '0'] try: filter_proc = subprocess.Popen(filter_cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE) diff --git a/t/file_data_filter.t b/t/file_data_filter.t index a938e97..aa054c9 100755 --- a/t/file_data_filter.t +++ b/t/file_data_filter.t @@ -25,7 +25,9 @@ git_convert() { cd "$2" && hg-fast-export.sh --repo "../$1" \ -s --hgtags -n \ - --plugin ../../plugins/rename_file_test_plugin + --plugin ../../plugins/rename_file_test_plugin \ + --plugin dos2unix \ + --plugin shell_filter_file_contents=../../plugins/id ) } diff --git a/t/plugins/id b/t/plugins/id new file mode 100755 index 0000000..2cebdbd --- /dev/null +++ b/t/plugins/id @@ -0,0 +1,2 @@ +#!/bin/bash +cat