Version control 在另一个mercurial项目中使用一个mercurial项目的最佳实践

Version control 在另一个mercurial项目中使用一个mercurial项目的最佳实践,version-control,mercurial,mercurial-subrepos,Version Control,Mercurial,Mercurial Subrepos,在另一个项目中使用一个mercurial项目的最佳实践是什么?我正在开发一个django应用程序,但我也在使用mercurial对使用该应用程序的网站进行版本控制。我已经看过了,但显然这被认为是“万不得已的特征”。有没有一个好的方法来完成我想做的事情,或者当我想更新到我的应用程序的新版本时,我只需要将代码从我的应用程序复制到我的网站repo中?在您的特定情况下,我喜欢让pip处理我的django应用程序依赖关系: 在我们的“网站”repo中有一个requirements.txt,我们的部署执行一

在另一个项目中使用一个mercurial项目的最佳实践是什么?我正在开发一个django应用程序,但我也在使用mercurial对使用该应用程序的网站进行版本控制。我已经看过了,但显然这被认为是“万不得已的特征”。有没有一个好的方法来完成我想做的事情,或者当我想更新到我的应用程序的新版本时,我只需要将代码从我的应用程序复制到我的网站repo中?

在您的特定情况下,我喜欢让
pip
处理我的django应用程序依赖关系:

在我们的“网站”repo中有一个
requirements.txt
,我们的部署执行一个
pip安装--upgrade-r requirements.txt
,它从repo中提取最新版本并将其安装到应用程序的虚拟环境中。这提供了很好的灵活性和分离性,同时将包管理留给pip。在pip中使用这些VCS URL,如果您希望不同的站点使用同一基础回购协议的不同版本,您也可以指向特定的标记或分支

pip还有一个
-e/path/to/file
模式,用于指向网站repo之外的“可编辑”克隆,这也可以,但我没有尝试过


这就是说,如果你认为次级回购更适合你的工作流程,那就千方百计地使用它们。它们工作得很好,但人们经常会对工作流约束挂起电话(“你说我不能提交父repo而不在子repo中提交是什么意思?!”)

在您的特定情况下,我喜欢让
pip
处理我的django应用程序依赖项:

在我们的“网站”repo中有一个
requirements.txt
,我们的部署执行一个
pip安装--upgrade-r requirements.txt
,它从repo中提取最新版本并将其安装到应用程序的虚拟环境中。这提供了很好的灵活性和分离性,同时将包管理留给pip。在pip中使用这些VCS URL,如果您希望不同的站点使用同一基础回购协议的不同版本,您也可以指向特定的标记或分支

pip还有一个
-e/path/to/file
模式,用于指向网站repo之外的“可编辑”克隆,这也可以,但我没有尝试过

这就是说,如果你认为次级回购更适合你的工作流程,那就千方百计地使用它们。它们工作得很好,但人们经常会对工作流约束挂起电话(“什么意思?我不能提交我的父回购而不在子回购中提交?!”)