如何从 Subversion 存储库获取文件所有版本的副本?

发布于 2024-10-24 04:01:36 字数 251 浏览 5 评论 0原文

我们有一个自定义字体 (ttf),已添加到 subversion 存储库中。我们检测到某些字符存在问题,但不确定问题何时出现。该文件当然是一个二进制文件,因此没有文本差异可供比较,我们只需要将其与其他项目文件包含在一起并对其进行版本控制。无论如何,我想从存储库中检索该文件的所有版本。我可以访问 TortoiseSVN(适用于 Windows)和 Cornerstone(适用于 Mac);不过,我也很喜欢使用终端。如何检索已签入 Subversion 的每个版本的字体的 ttf 文件?

We have a custom font (ttf) that we added to a subversion repository. We've detected a problem with certain characters and are not sure when the problem was introduced. The file is of course a binary file, so there are no text differences to compare, we just needed contain it with the other project files and version it. Anyhow, I'd like to retrieve all versions of the file from the repository. I've got access to TortoiseSVN (for Windows) and Cornerstone (for Mac); however, I'm also comfortable using the Terminal. How can I retrieve a ttf file for every version of the font that got checked into subversion?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

柏拉图鍀咏恒 2024-10-31 04:01:36

这有点粗糙,我确信还有更优雅的解决方案,但它可以完成工作。适当设置 GRAB_FILE 和 GRAB_FROM_REV。

$ mkdir versions
$ GRAB_FILE="MGSource.h"
$ GRAB_FROM_REV=700
$ for i in `svn log -r$GRAB_FROM_REV:HEAD "$GRAB_FILE" | grep -o '^r[0123456789]*'`; do svn up "$GRAB_FILE" -$i; cp $GRAB_FILE versions/"$GRABFILE.$i.h"; done  

Updated to revision 768.
U    MGSource.h
Updated to revision 770.
U    MGSource.h
Updated to revision 804.
U    MGSource.h
Updated to revision 821.

$ ls -l versions/
total 56
-rw-r--r--  1 me    staff  1599 Mar 18 21:03 MGSource.r709.h
-rw-r--r--  1 me    staff  1705 Mar 18 21:03 MGSource.r759.h
-rw-r--r--  1 me    staff  1891 Mar 18 21:03 MGSource.r760.h
-rw-r--r--  1 me    staff  1882 Mar 18 21:03 MGSource.r768.h
-rw-r--r--  1 me    staff  2009 Mar 18 21:03 MGSource.r770.h
-rw-r--r--  1 me    staff  2009 Mar 18 21:03 MGSource.r804.h
-rw-r--r--  1 me    staff  1942 Mar 18 21:03 MGSource.r821.h

This is a little crude and I'm sure there are much more elegant solutions out there but it does the job. Set GRAB_FILE and GRAB_FROM_REV appropriately.

$ mkdir versions
$ GRAB_FILE="MGSource.h"
$ GRAB_FROM_REV=700
$ for i in `svn log -r$GRAB_FROM_REV:HEAD "$GRAB_FILE" | grep -o '^r[0123456789]*'`; do svn up "$GRAB_FILE" -$i; cp $GRAB_FILE versions/"$GRABFILE.$i.h"; done  

Updated to revision 768.
U    MGSource.h
Updated to revision 770.
U    MGSource.h
Updated to revision 804.
U    MGSource.h
Updated to revision 821.

$ ls -l versions/
total 56
-rw-r--r--  1 me    staff  1599 Mar 18 21:03 MGSource.r709.h
-rw-r--r--  1 me    staff  1705 Mar 18 21:03 MGSource.r759.h
-rw-r--r--  1 me    staff  1891 Mar 18 21:03 MGSource.r760.h
-rw-r--r--  1 me    staff  1882 Mar 18 21:03 MGSource.r768.h
-rw-r--r--  1 me    staff  2009 Mar 18 21:03 MGSource.r770.h
-rw-r--r--  1 me    staff  2009 Mar 18 21:03 MGSource.r804.h
-rw-r--r--  1 me    staff  1942 Mar 18 21:03 MGSource.r821.h
许一世地老天荒 2024-10-31 04:01:36

如果您使用 TortoiseSVN,您可以非常简单地做到这一点:

显示字体文件的日志。您将看到更改该特定文件的修订版本列表。右键单击任何这些修订版本,然后只需从上下文菜单中选择“另存为...”,您将获得该修订版本中的文件。

If you're using TortoiseSVN, you can get this very easy:

Show the log for the font file. You will see a list of revisions where that particular file was changed. Right-click on any of those revisions, then just choose "Save as..." from the context menu and you'll get the file as it was in that revision.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文