首页 > 解决方案 > 如何同步/镜像 SourceForge 中的“文件”存储库和“git”存储库?

问题描述

我们目前正在 sourceforge 中构建一个社区实用程序存储库,该存储库将由几个“经理”管理,但社区可以访问。我最初将所有实用程序上传到项目的“文件”选项卡中。在此之后,我可以看到 git 也可以使用,这对我们来说似乎很方便。

于是在 git/SourceForge 中创建了项目 Repository 并推送了整个项目,这很好。

问题是我有一种强烈的感觉,sourceforge“文件”选项卡中列出的文件与我在“Git”选项卡中看到的文件完全不同。

我们想从 git 管理文件,但要让文件在“文件”选项卡中可见和可用。

这可能吗?我感觉“文件”选项卡中的文件与“Git”选项卡中的文件存储在不同的位置。

提前致谢

标签: gitfilesourceforge

解决方案


是的,它们在 SF 的位置完全不同,您无法自动同步它们。无法同步 git 和文件的原因之一是 SF 的 git 存储库是裸露的,它们不包含工作目录,它们只包含对象数据库和引用。

你知道你可以ssh用来登录 SF,scpsftp传输rsync文件吗?自 2004 年以来,我一直在使用它。

登录到您的帐户运行

ssh -t $SF_USER@shell.sourceforge.net create

登录后运行sf-help --all查看所有目录。

文件、存储库和 Web 文件(您知道可以在 SF 上发布站点吗?)位于项目特定的路径中。例如,我是SQLObject项目的成员,我在 SF 的用户名为phd. 该项目的存储库位于/home/git/p/sqlobject/,文件位于/home/frs/project/sqlobject/,网络文件(发布于SQLObject)位于/home/project-web/sqlobject/。这些只是一个示例,但您的目录是相似的。

要上传文件,我使用sftp frs.sourceforge.net:/home/frs/project/sqlobject并将本地文件上传到 SF。

要更新网站,我运行

rsync -hlrtP4 --del . web.sourceforge.net:/home/project-web/sqlobject/htdocs/

替换sqlobject为您的项目名称并开始上传。


推荐阅读