4

我有一个主机不允许 shell 访问的客户端。是否有任何多用户版本控制系统可以在这种情况下工作(在 linux 上)?他不愿意换主人。

4

7 回答 7

3

是的,因为您不直接在生产服务器上进行开发! 生产服务器的内容只是源存储库的视图,它保存在其他地方,以便可以在单独的开发服务器上完成工作。这样,开发服务器上的愚蠢错误就不会影响您的生产系统。如果这意味着进行手动结帐以传输文件,那就这样吧。

于 2009-03-09T14:15:48.517 回答
2

不是您正在寻找的答案,而是获得更好的托管服务提供商。您的托管服务提供商是否正在为您做一些特别的事情,让您想要忍受没有外壳访问,甚至不只是为您预安装 SVN?有大量非常便宜的主机可以为您提供已经安装的 SVN 和 shell 访问权限。

于 2009-03-09T14:19:28.617 回答
2

我正是出于这个原因使用 Bazaar。如果服务器支持 ftp 或 ftps,则支持 Bazaar。 http://bazaar.canonical.com/

于 2012-07-29T03:06:07.940 回答
1

我一直在寻找同样的东西,我有一个无外壳访问的托管服务提供商,没有包含源代码控制并且不想更改。

目前,我正在使用 git。但我没有使用git push更新远程存储库,而是使用脚本和 FTP 来更新服务器的副本。

git pull如果 ftp git 目录可通过 http 访问,则可以从任何客户端正常工作。

git推送替换:

git update-server-info
perl ftpsync.pl -v .git ftp://ftp.example.com/gitrepo/project.git
  ftpuser=user@example.com ftppasswd=*

那是使用 ftpsync,来自 Sourceforge ftpsync 页面。它是 git 推送的不完美替代品,它镜像本地仓库,而不是将其与远程合并,因此请确保本地仓库是最新的 git pull 首先。

git-ftp 声称做同样的事情。Github 的git-ftp 页面。可能比 ftpsync 效果更好,因为它是为此目的而设计的,但我还没有尝试过。

于 2010-06-06T22:41:01.873 回答
0

当然,SVN 可以有多个用户和多个存储库。当然取决于您的主机是否愿意安装它。如果这不起作用,也许您会考虑在其他地方托管您的版本控制?

于 2009-03-09T14:15:25.600 回答
0

您的意思是要将版本控制存储库存储在主机上,然后从多个客户端访问它吗?如果是,那么所有现代版本控制系统都可以这样工作。

于 2009-03-09T14:18:50.070 回答
0

我刚刚在 Mercurial 特定问题上发布了这个答案,但它也适用于这里。我使用 Mercurial,并找到了一个指南,让我只能通过 FTP/控制面板访问(无外壳)来安装它。

http://javadocs.wordpress.com/2010/04/27/set-up-mercurial-1-5-1-on-a-shared-host-simplified/

于 2011-03-18T20:26:04.533 回答