有没有办法(也许通过一些编码)将本地 CVS 历史记录上传到 Google Code SVN?

发布于 2024-09-03 16:35:12 字数 100 浏览 6 评论 0原文

我有一些旧的个人/专有代码,我想将其“推广”为开源。

但我真的很想保留(并发布)完整的 CVS 历史记录……这可以通过 Google Code 的 SVN 存储库实现吗?

I have some old personal/proprietary code that I want to "promote" to open-source.

But I'd really like to preserve (and publish) the full CVS history... is this possible through Google Code's SVN repository?

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

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

发布评论

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

评论(2

镜花水月 2024-09-10 16:35:12

尽管它不能满足您的具体情况,但以下可能是满足您需求的合理替代方法:

Google 代码确实 支持 Mercurial(可以在项目管理选项卡中打开),并且 Mercurial 有一个转换机制(您可以启用)从其他系统导入,包括 CVS。所以我认为如果你同意Mercurial,这在谷歌代码中是可行的。

我最近经历了 SVN 到 Mercurial 的转换,现在相信如果托管在 google 代码中值得考虑。我认为这个颠覆再教育很好地概述了为什么你应该关心。

Although it does not answer your specific scenario, the following may be a reasonable alternate way to approach your needs:

Google code does support Mercurial (can turn on in project management tab), and mercurial has a convert mechanism (that you can enable) to import from other systems, including CVS. So I think this is doable in google code if you are okay with Mercurial.

I have recently been going through an SVN to Mercurial conversion, and now believe it is worth looking at if hosting in google code. I think this subversion re-education gives a decent overview of why you should care.

风透绣罗衣 2024-09-10 16:35:12

您必须分两步完成此操作:首先将存储库从 CVS 转换为 Subversion,然后导入现有的 Subversion 存储库。来自常见问题解答:

如何将 CVS 存储库导入到我的项目中?

cvs2svn 工具是一个
完善的 CVS 转换工具
历史到颠覆历史。使用它
创建 Subversion 存储库,以及
然后使用svnsync推送
颠覆历史记录到你的谷歌
代码存储库。 (请参阅“如何导入
现有的 Subversion 历史记录?”)

然后检查上面的条目:

如何导入现有的 Subversion 存储库?

上传现有的历史记录
Subversion 存储库,使用 svnsync
Subversion 1.4 附带的工具或
之后。运行 svnsync help 来阅读更多内容
关于这个工具。

请注意您的 Google 代码存储库
为此必须重置为修订版 0
去工作。您项目的“源”选项卡
将显示有关如何操作的说明
自己重置存储库。 (笔记:
您必须是项目所有者才能重置
您自己的存储库,也可以推送
使用 svnsync 编写代码。)

这是一个示例记录
演示如何推动历史
来自现有存储库(位于
在 file:///my/repos) 到您的
Google 代码上的存储库:

$ svnsync init --username YOURUSERNAME https://YOURPROJECT.googlecode.com/svn file:///path/to/localrepos
复制版本 0 的属性。
$ svnsync 同步 --用户名 YOURUSERNAME https://YOURPROJECT.googlecode.com/svn
提交修订1。
复制修订版 1 的属性。
已提交修订 2。
复制修订版 2 的属性。
[...]

当提示输入密码时,请使用
您的 googlecode.com 密码
可以在设置标签中找到
您的个人资料页面。

在大型存储库上运行 svnsync
将需要大量的
时间。如果您在使用过程中断线
过程中,您可能会看到错误
消息“svnsync:无法锁定
10 次尝试后的目标存储库”。
如果发生这种情况,您可以删除
把自己锁起来;请参阅“锁”部分
svnsync.txt

You'll have to do that in two steps: first convert your repository from CVS to Subversion, then import the existing subversion repository. From the FAQ:

How can I import a CVS repository into my project?

The cvs2svn tool is a
well-established tool to convert CVS
history to Subversion history. Use it
to create a Subversion repository, and
then use the svnsync to push the
Subversion history up to your Google
Code repository. (See "How do I import
existing Subversion history?")

Then check the entry just above:

How do I import an existing Subversion repository?

To upload the history of an existing
Subversion repository, use the svnsync
tool that ships with Subversion 1.4 or
later. Run svnsync help to read more
about this tool.

Note that your Google Code repository
must be reset to revision 0 for this
to work. Your project's Source tab
will display instructions on how to
reset the repository yourself. (Note:
you must be a project owner to reset
your own repository, and also to push
code up with svnsync.)

Here's a sample transcript that
demonstrates how you can push history
from an existing repository (located
at file:///my/repos) to your
repository on Google Code:

$ svnsync init --username YOURUSERNAME https://YOURPROJECT.googlecode.com/svn  file:///path/to/localrepos
Copied properties for revision 0.
$ svnsync sync --username YOURUSERNAME https://YOURPROJECT.googlecode.com/svn
Committed revision 1.
Copied properties for revision 1.
Committed revision 2.
Copied properties for revision 2.
[...]

When prompted for your password, use
your googlecode.com password, which
can be found on the settings tab of
your profile page.

Running svnsync on a large repository
will take a significant amount of
time. If you are disconnected during
the process, you may see the error
message "svnsync: Couldn't get lock on
destination repos after 10 attempts".
If this happens, you can remove the
lock yourself; see the "Locks" section
of svnsync.txt.

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