visual studio 在线 VSTS 构建 - 镜像克隆存储库不工作
visual studio online VSTS Build - Mirror clone repository not working
我目前正在使用 VSTS 构建系统制作第 3 方存储库(我可以真正访问)的夜间镜像克隆。
我基本上按顺序执行以下操作:
git clone --mirror [repository_url]
cd [respository]
git remote add <new_remote> [new_remote_url]
git push [new_remote_url] --mirror -force
当我从我的开发 PC 上的 git bash 终端执行这些步骤时,它没有问题,我可以在我的 new_remote_url 存储库中看到镜像克隆存储库,其中包含所有changes/history/etc.
一些示例输出是在我的开发机器上完成的:
2016-12-28T12:11:37.3149001Z * [new branch] tests/ios -> tests/ios
2016-12-28T12:11:37.3149001Z * [new branch] tests/sprint-8 -> tests/sprint-8
2016-12-28T12:11:37.3149001Z ##[section]Finishing: Push remote --all
现在,当我尝试通过 VSTS 每晚构建执行与一系列 CMD 任务相同的步骤时,构建本身已完成,并且 'appears' 开始工作 - 但是当我检查我的存储库时,它说它是空的? (但实际上并非如此)。
区别似乎是 VSTS 版本将 GIT 远程名称预先固定到分支的前面,这似乎无法正常工作,最终存储库看起来是空的从 GUI - 但如果我然后从我的本地开发 PC 重新 运行 脚本,它会在重新导入正确命名的分支之前删除这些分支。
VSTS 中最终 git 推送任务的输出大致如下:
2016-12-28T12:11:37.3149001Z * [new branch] origin/tests/ios ->
origin/tests/ios
2016-12-28T12:11:37.3149001Z * [new branch] origin/tests/sprint-8 -> origin/tests/sprint-8
2016-12-28T12:11:37.3149001Z ##[section]Finishing: Push remote --all
同一个脚本在 VSTS 构建系统中以这种方式预先修复是否有原因?
正如 Starain-MSFT 善意指出的那样,让它工作的不同之处在于使用构建中的 VSTS 高级设置将工作文件夹设置为构建源目录,而不是手动执行 cmd 行 changedir 步骤。
唯一的变化是在克隆存储库的第一步中,我现在指定了一个明确的目录名称,以便在以后的命令高级设置中使用。
我目前正在使用 VSTS 构建系统制作第 3 方存储库(我可以真正访问)的夜间镜像克隆。
我基本上按顺序执行以下操作:
git clone --mirror [repository_url]
cd [respository]
git remote add <new_remote> [new_remote_url]
git push [new_remote_url] --mirror -force
当我从我的开发 PC 上的 git bash 终端执行这些步骤时,它没有问题,我可以在我的 new_remote_url 存储库中看到镜像克隆存储库,其中包含所有changes/history/etc.
一些示例输出是在我的开发机器上完成的:
2016-12-28T12:11:37.3149001Z * [new branch] tests/ios -> tests/ios
2016-12-28T12:11:37.3149001Z * [new branch] tests/sprint-8 -> tests/sprint-8
2016-12-28T12:11:37.3149001Z ##[section]Finishing: Push remote --all
现在,当我尝试通过 VSTS 每晚构建执行与一系列 CMD 任务相同的步骤时,构建本身已完成,并且 'appears' 开始工作 - 但是当我检查我的存储库时,它说它是空的? (但实际上并非如此)。
区别似乎是 VSTS 版本将 GIT 远程名称预先固定到分支的前面,这似乎无法正常工作,最终存储库看起来是空的从 GUI - 但如果我然后从我的本地开发 PC 重新 运行 脚本,它会在重新导入正确命名的分支之前删除这些分支。
VSTS 中最终 git 推送任务的输出大致如下:
2016-12-28T12:11:37.3149001Z * [new branch] origin/tests/ios -> origin/tests/ios 2016-12-28T12:11:37.3149001Z * [new branch] origin/tests/sprint-8 -> origin/tests/sprint-8 2016-12-28T12:11:37.3149001Z ##[section]Finishing: Push remote --all
同一个脚本在 VSTS 构建系统中以这种方式预先修复是否有原因?
正如 Starain-MSFT 善意指出的那样,让它工作的不同之处在于使用构建中的 VSTS 高级设置将工作文件夹设置为构建源目录,而不是手动执行 cmd 行 changedir 步骤。
唯一的变化是在克隆存储库的第一步中,我现在指定了一个明确的目录名称,以便在以后的命令高级设置中使用。