Rar*_*rst 7 git mercurial github mercurial-subrepos
/wp子目录中.git checkout 3.4.1(3.4.1标签在哪里)..hgsubstate).这里麻烦开始了.我这样做hg push,什么时候到WP:
no branch checked out in subrepo wp
cannot push revision e9bc63e25dc40c07ac3a6778dc2b48e1aa486e36
Run Code Online (Sandbox Code Playgroud)
然后就退出了.甚至没有尝试推送根目录.
我理解为什么Mercurial 试图推动subrepo(预期的行为),但我无法理解为什么它设法完全失败的subrepo:
如何让它理解我想要这个特定的修订,我不希望它搞乱Git subrepo?
使用此设置您将遇到几个问题。
首先,mercurial 似乎无法处理带有分离 HEAD 的 git subrepos。
当您执行时git checkout 3.4.1,您的存储库进入分离的 HEAD状态(当您执行该命令时,您应该已经看到了该效果的警告)。此时,如果您运行git branch,您会看到它(no branch)被列为活动分支。当水银试图推动时,它就会在这种状态下窒息。您可以询问Mercurial 开发人员列表为什么会发生这种情况,但这可能是现有子存储库实现的限制。
其次,mercurial 使用推送命令来同步 git subrepos。
如果你要运行git checkout -b <integration_branch> 3.4.1,它会将 git 移出分离的 HEAD 状态。但是,当您尝试时hg push,它会尝试实际推送到远程 git 存储库。对于 Mercurial 子存储库,即使您没有远程推送访问权限,它也可以检查传出的更改。但是,GitHub 要求您进行身份验证,然后它才会告诉您两个存储库是否同步。因此,如果您没有对 git 远程的推送访问权限,那么这将会失败。这是mercurial subrepo 策略设计的一部分。
如果您需要继续此设置,您可能应该执行以下操作:
git checkout -b <branch_name> 3.4.1此相关问题中有一些附加信息。
| 归档时间: |
|
| 查看次数: |
878 次 |
| 最近记录: |