二进制文件(例如Excel文件)的svn diff。

6

我已经为一个Excel文件配置了svn仓库,

所以我检出并创建了我的工作目录, 然后我更改了Excel文件,想通过svn diff查看更改。

但是它显示该文件被标记为二进制文件,即使我已经进行了更改。

Subversion客户端配置文件和

[miscellany]
enable-auto-props = yes

并且我已经添加了这行代码

*.xlsx = svn:mime-type=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

当我使用时

svn proplist --verbose /path to /myworkingdirectory/file.xlsx

它列出了mime-type及其值。

我不知道还有什么方法可以像在文本格式文件中那样查看svn diff的更改。


你好!我认为这个问题也适用于你的问题:http://stackoverflow.com/questions/659740/how-well-does-svn-work-for-office-2007-documents - Roman Makhlin
@ProtosZetZ 感谢您的评论,我真的很困惑这是否可行?在发布我的问题之前,我看到了大多数这些问题,但我无法得出任何共识。 - shaq
3个回答

1

1
就我所见,这相当过时了。 - bahrep

0
如果您使用的是Windows和Office Professional Plus 2013或Office 365 ProPlus,我建议使用电子表格比较工具,因为它还分析了xls内置历史记录。
从SNV调用这个小的xlsdiff.bat文件:
set path2=%1
set mine=%2
set mine=%mine:"=%
ECHO %mine% > tmp.txt
dir %path2% /B /S >> tmp.txt
"C:\Program Files (x86)\Microsoft Office\Office15\DCF\SPREADSHEETCOMPARE.EXE" tmp.txt

配置svn调用“xlsdiff.bat %base %mine”


0

Xlsx文件实际上就是包含多个XML文件的压缩文件。 由于它们是二进制文件,因此SVN无法将其作为文本文件进行比较。


那么我就无法看到我所做的更改了吗? - shaq
1
不可以。您可以逐个版本地存储它们的修订,但差异仅会显示二进制字符。一种繁琐的解决方案是将这些xlsx文件解压并将其作为文件夹提交。然后,在下载更新后,将其压缩为xlsx格式。在Excel中编辑之前,在提交之前再次解压缩它们。但是,如前所述,这不是一个方便的解决方案,尽管从理论上讲它应该能够正常工作。 - AcDa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接