回购工具。发送适用于manifest.xml的标签

时间:2017-01-24 16:01:12

标签: git bash version-control tags repo

我有清单文件

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
  <remote fetch=".." name="origin" review="nda.com"/>

  <default remote="origin" revision="release/nda/phase3" sync-j="4"/>

  <project name="nda-nda" revision="6f76200b8ab9fed4f52c4f58ae36b722dabc1116" upstream="phase2"/>
  <project name="ndda" revision="f849e04438191616bd8b39367249ba2b4824111c" upstream="phase2"/>
  <project name="nda/guidance-tests" path="tools/guidance-tests" revision="37751838644275ee87d01f604b49f0af64fe4f31" upstream="nda2"/>
  <project name="auto-character-recognition" revision="2ea1ffc90185a00abfd621ae58919b728503d975" upstream="release/nda/phase3"/>
  <project name="auto-tools" revision="c3db989d8959a20f11c872af25dc655a02a18e49" upstream="master"/>
  <project name="cdvox/nda-nvp" path="nda-nvp" revision="6a7aed71adf71b90c5192b521523a401abdd800c" upstream="phase2"/>
  <project name="external/googlenda" revision="1e932a2dd63b572bc19b7be6811b02a6336b8db9" upstream="release/nda/phase3"/>
  <project name="external/rapidjson" revision="a717a565e55da510a43ad1546797196d9071c41e" upstream="release/nda/phase3"/>
  <project name="mobility-graph" path="ndda/core/myndda/" revision="bb530f2a425b6e27ece6617fe9ca309d62024c9c" upstream="nda-phase2"/>
  <project name="nda/main" path="nda" revision="95e5ebcf0fb339a78bd176566e9926a54ad1e0aa" upstream="nda2"/>
  <project name="nda/nda-config" path="nda_config" revision="246a0b74c773b4e6d3082eb11cef2643e7dddb73" upstream="release/nda/phase3"/>
  <project name="nda/ndaing/libev" path="ndaing/ev" revision="fa705c3882d0df14a795d980494e7765d8871594" upstream="release/nda/phase3"/>
  <project name="nda/ndaing/libisoline" path="ndaing/isoline" revision="788627f319c88d189aa8ba56676cc19d20fd139a" upstream="release/nda/phase3"/>
  <project name="nda/wxtest/resources" path="nda/apps/wxtest/external/resources" revision="096fec72874f82b228f095e3941f839934127976" upstream="release/nda/phase3"/>
  <project name="nda/Integration" path="Integration" revision="2464df763d90bb36a221118f5b96fe23a770739f" upstream="phase2"/>
  <project name="nda/IntegrationSimulator" path="IntegrationSimulator" revision="3287873f47182070e405bc993911d3bd55af6600" upstream="phase2"/>
  <project name="nda/Tools" path="Tools" revision="8896d6994bc2d07d87adafbbcd9ba68679fb5564" upstream="phase3"/>
  <project name="nda/qhttpserver" path="qhttpserver" revision="4462f71cc480c22ae5a9880813402183e1761533" upstream="release/nda/phase3"/>
  <project name="nda/sqlcipher" path="sqlcipher" revision="bcf4e1c713bbefc56c2aeaebefcae6c2a3d4e375" upstream="release/nda/phase3"/>
</manifest>

我的bash脚本

mkdir -p ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

rm -rf Auto-tools


sed -i 's/".."/"ssh:\/\/my_nda_user@my_nda_server:29418"/g' manifest.xml
repo forall -c git tag -a $TAG_NAME -m "${TAG_NAME}" && git push origin

但是

  

Git 2.0从'匹配'到'简单'。压制这个消息和   保持传统行为,使用:

     

git config --global push.default matching

     

要压制此消息并立即采用新行为,请使用:

     

git config --global push.default simple

     

当push.default设置为“匹配”时,git将推送本地分支   到已经存在同名的远程分支。

     

从Git 2.0开始,Git默认为更保守的“简单”   行为,只将当前分支推送到相应的   'git pull'用于更新当前分支的远程分支。

     

请参阅'git help config'并进一步搜索'push.default'   信息。 ('简单'模式是在Git 1.7.11中引入的。使用   如果你有时使用旧的,那么类似的模式'current'而不是'simple'   Git的版本)

     

致命:当前的分支主机没有上游分支。推动   当前分支并将远程设置为上游,使用

git push --set-upstream origin master
     

构建步骤'条件步骤(多个)'将构建标记为失败

也在尝试:

repo forall -c git config --global push.default matching 和 repo forall -c git config --global push.default simple

但得到了相同的

请帮我将标签发送到适用于manifest.xml提交的所有存储库。

由于

1 个答案:

答案 0 :(得分:1)

  

致命:当前的分支主机没有上游分支。

我认为这是关于你的问题的关键问题。

运行detached header后,您的本地git存储库处于git checkout --track状态,每个本地分支都没有任何上游信息,因此git不知道应该推送哪个远程分支,并显示您的错误消息。

在运行git push origin之前,您应首先运行vals.push(bla) array.push(vals) 来切换本地存储库的分支。