cocoa - 使 Cocoa NSDocument 包与 svn 兼容的秘诀?

标签 cocoa svn package nsdocument nsfilewrapper

我有一个可以编写包式文档的工具。它是使用 NSDocument 实现的,并覆盖以下 NSDocument 方法:

- (NSFileWrapper *)fileWrapperOfType:(NSString *)typeName
                              error:(NSError **)outError;

- (BOOL)readFromFileWrapper:(NSFileWrapper *)fileWrapper
                    ofType:(NSString *)typeName
                     error:(NSError **)outError;

这一切都很可爱,除了当我保存受版本控制的文档时。 (不保留 .svn 目录等)

是否有一个好的方法可以使我的文档与 svn 兼容?

最佳答案

我猜你的代码是通过每次调用 -fileWrapperOfType:error: 时创建一个新的文件包装器来工作的。这很方便,但会忽略包内磁盘上可能存在的任何其他文件。

那么,如果您首先创建/使用引用磁盘上现有内容的文件包装器,该怎么办?修改该包装器以匹配文档的当前状态,并返回结果。当该包装器写入磁盘时,应该正确维护 svn 文件。

关于cocoa - 使 Cocoa NSDocument 包与 svn 兼容的秘诀?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3560060/

相关文章:

objective-c - 如何在 OSX 上使用 CNContactViewController 显示 CNContact

objective-c - NSWindow 附加到光标

svn 到 git : How to deal with our not-standard, 可能错误地分支了 svn

php - 如何使用composer获取根包路径

javascript - 有没有办法使用哈希/校验和来确保已发布的 npm 包的完整性?

R - 无法访问包安装的 url

objective-c - 获取 public.movi​​e UTI 的文件扩展名列表

cocoa - 如何设置图像透视

svn - 如何在 TortoiseSVN 中移动我的存储库?

svn - 使用 powershell 和 svn 删除未版本控制的文件