repo sync -j2 要求 GitHub 进行身份验证,操作失败。

4

我下载了OmniROM KitKat源代码,并创建了一个本地清单文件,其中包括我的设备源代码和其他必需的源代码(http://github.com/TamsuiCM11)。运行repo sync -j2后,一切似乎都同步得很好,直到出现以下问题:

Fetching projects:  99% (425/429)  Fetching project platform/external/chromium_org/third_party/openssl
^CUsername for 'https://github.com': NSDCars5
Password for 'https://NSDCars5@github.com': 
remote: Repository not found.
fatal: repository 'https://github.com/TamsuiCM11/android_frameworks_opt_telephony/' not found
error: Cannot fetch TamsuiCM11/android_frameworks_opt_telephony
aborted by user

在谷歌搜索中提到使用SSH,但我不知道在哪里使用。是在repo init命令中吗?我使用的是git://。

我尝试了使用-j1、-j2、-j4、-j8和-j16进行同步,但每次都出现相同的问题。系统是VirtualBox,在Ubuntu 13.10 x64下运行,有4GB RAM,没有交换分区,并使用NAT进行网络连接。

更新:我使用的repo init命令是repo init -u git://github.com/omnirom/android.git -b android-4.4,我的本地清单文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<manifest>

        <!-- Dependancies -->
        <project path="device/sony/tamsui-common" name="TamsuiCM11/android_device_sony_tamsui-common" remote="github" revision="cm-11.0" />
        <project path="kernel/sony/msm7x27a" name="TamsuiCM11/android_kernel_sony_msm7x27a" remote="github" revision="master" />
        <project path="device/sony/qcom-common" name="CyanogenMod/android_device_sony_qcom-common" remote="github" revision="cm-11.0"/>
        <project path="device/sony/common" name="CyanogenMod/android_device_sony_common" remote="github" revision="cm-11.0"/>
        <project path="kernel/sony/nanhu_ds" name="TamsuiCM11/android_kernel_sony_msm7x27a-nanhu" remote="github" revision="cm-11.0" />

        <!-- Devices -->
        <project path="device/sony/nanhu_ds" name="TamsuiCM11/android_device_sony_nanhu_ds" remote="github" revision="cm-11.0" />

        <!-- Proprietary files -->
        <project path="vendor/sony" name="TamsuiCM11/proprietary_vendor_sony" remote="github" revision="cm-10.2" />

        <!-- Drivers -->
        <project path="hardware/qcom/display-legacy" name="TamsuiCM11/android_hardware_qcom_display-legacy" remote="github" revision="cm-11-jlo" />
        <project path="hardware/qcom/audio-legacy" name="TamsuiCM11/android_hardware_qcom_audio-legacy" remote="github" revision="cm-11.0" />
        <project path="hardware/qcom/media-legacy" name="TamsuiCM11/android_hardware_qcom_media-legacy" remote="github" revision="cm-11.0" />

        <!-- Forked CM repos -->
        <project path="system/core" name="TamsuiCM11/android_system_core" groups="pdk" remote="github" revision="stable/cm-11.0" />
        <project path="hardware/libhardware_legacy" name="TamsuiCM11/android_hardware_libhardware_legacy" groups="pdk" remote="github" revision="stable/cm-11.0" />
        <project path="frameworks/opt/telephony" name="TamsuiCM11/android_frameworks_opt_telephony" groups="pdk" remote="github" revision="stable/cm-11.0" />        
</manifest>

https://github.com/TamsuiCM11/android_frameworks_opt_telephony/ 不是一个有效的 Github 存储库,并且根据您提供的信息,不清楚 Repo 为什么要获取它。您的本地清单中有什么?您传递给 repo init 的清单 URL 是什么? - Magnus Bäck
@MagnusBäck 编辑了原始帖子以包含两者。 - NSDCars5
1个回答

3
你的本地清单要求Repo获取https://github.com/TamsuiCM11/android_frameworks_opt_telephony,但那不是一个有效的存储库。我注意到https://github.com/TamsuiCM11/local_manifest中的最近提交删除了对该git的引用(提交消息指示它不再必要),也许该git本身也被删除了。我建议你从该git更新你的本地清单。
(我注意到你在问题中列出的本地清单缺少<remove-project>标签。我很惊讶你能够在缺少这些标签的情况下开始同步,但这些行在你某个时候复制的上游本地清单中是包含在内的。)

谢谢!是的,它缺少删除标签的功能,因为它与那些存在的标签不同步 - 我只是假设在Omni中没有它们。仓库成功同步! - NSDCars5
谢谢你的提示。事实上,在我的情况下,我将name属性设置为与path属性相同,这不是一个有效的git仓库。我需要将name设置为github组织/项目。所以<remote name="github" fetch="https://github.com/" /> <project path="toolchain/llvm-project" name="llvm/llvm-project" remote="github" clone-depth="1" /> - Nick Desaulniers

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接