SVN将在FTP上进行的更改合并到工作副本中

时间:2009-02-26 18:31:48

标签: svn ftp merge

我们使用SVN管理我们的Web开发。在一个项目中,我们通过导出项目并将其FTP到客户端服务器来部署站点。此客户端是亲自动手并且已对FTP上的代码进行了更改。我们现在受雇为网站添加更多功能。

如何处理在FTP上完成的工作并将其合并到我的工作副本中?我想保留svn props和externals,只更新那些已更改的文件,以便我可以使用diff跟踪这些更改。谢谢!

3 个答案:

答案 0 :(得分:3)

将文件夹复制到本地工作副本中,然后覆盖任何已更改的文件。您现在拥有一个包含所有更改的工作副本,您通常可以提交。 更新1:任何未更改的文件都将被检测到,因此不会被提交(至少使用乌龟)

答案 1 :(得分:1)

首先,确保您没有对本地副本进行未提交的更改。如果你这样做并且他们很稳定,那就提交吧。如果您有不稳定的更改,最好从头版本创建一个新的结帐。然后按照以下步骤操作。

  1. 创建当前头版的标记/分支。
  2. 将本地副本更新为主版本。 (见上面的评论)
  3. 从FTP下载代码
  4. 将下载的代码复制到本地工作副本
  5. 检查覆盖后更改的文件。
  6. 使用diff工具对这些已更改的文件进行Marge。
  7. 提交合并文件。
  8. 如果出现问题,您可以回滚到在步骤1中创建的标记/分支,然后重试。

答案 2 :(得分:0)

也许有点偏离主题,但如何尝试像git,bazaar或mercurial这样的分布式版本控制系统?听起来就像你需要的那样。

客户端可以克隆存储库并在本地对其进行提交,然后您可以在完成后将其合并回主存储库。这样,您仍然可以保留客户端的所有历史记录,而FTP则不会。