我可以使用git smudge / clean过滤器将二进制文件转换为多个文件并返回吗?

时间:2017-09-11 23:23:16

标签: git binaryfiles gitattributes git-filter

我有一个二进制文件,可以反序列化为文本表示以及一些支持的图像文件。

我可以使用涂抹和清洁来执行从1个文件到多个文件的转换,然后再返回吗?

例如:

二进制文件:

  • Demo.bin

将反序列化为:

  • Demo.txt(能够对此文件进行差异很重要)
  • Demo.Picture1.bmp
  • Demo.Picture2.gif

1 个答案:

答案 0 :(得分:2)

简短的回答是“不”。更长的答案更复杂:当然,您可以这样的文件写入工作树中。但是,您无法将它们放在索引中,因此根据定义它们将是未跟踪的文件。您可以尝试覆盖现有的索引文件,但这将充满危险。

(旧样式过滤器驱动程序和新式过滤器作为进程都是预期/假设(由Git)一次在一个指定路径上工作。使用过程方法,你可能会延迟触摸索引,直到你的过滤器终止,这将在Git假定它完成它正在做的任何事情之前 - 无论是否需要弄脏或清理。)