पहले, रेपो init .repo
निर्देशिका बनाता है, क्लोन Git भंडार .repo/repo
को https://android.googlesource.com/tools/repo, और Git भंडार निर्दिष्ट -u
.repo/manifests.git
पर एक नंगे भंडार के विकल्प के साथ। उसके बाद, यह .repo/manifests
निर्देशिका बनाता है, इसे .repo/manifests/.git
से .repo/manifests.git
पर प्रतीकात्मक लिंक बनाकर इसे एक गिट भंडार में परिवर्तित करता है। इसके बाद -b
में निर्दिष्ट शाखा को चेक आउट करता है, और में निर्दिष्ट फ़ाइल (-m
विकल्प) में निर्दिष्ट .repo/manifests/default.xml
पर निर्दिष्ट फ़ाइल .repo/manifest.xml
पर एक प्रतीकात्मक लिंक बनाता है।
मोटे तौर पर इस प्रकार है:
repo init -u $URL -b $BRANCH -m $MANIFEST
--------------------
mkdir .repo; cd .repo
git clone https://android.googlesource.com/tools/repo
git clone --bare $URL manifests.git
mkdir -p manifests/.git; cd manifests/.git
for i in ../../manifests.git/*; do ln -s $ı .; done
cd ..
git checkout $BRANCH -- .
cd ..
ln -s manifests/$MANIFEST manifest.xml
आप पता लगा सकते हैं कि वास्तव में क्या repo --trace init ...
फिर साथ होता है, manifest.xml
और local_manifest.xml
में प्रत्येक परियोजना के लिए .repo/projects
को रेपो सिंक क्लोन Git संग्रह, .git
होने के साथ काम करने निर्देशिका बनाता है संबंधित नंगे भंडार के लिए सिम्लिंक, मैनिफेस्ट में निर्दिष्ट शाखा को चेक करता है, और .repo/project.list
अद्यतन करता है। वह मामला जहां परियोजनाएं पहले से ही अलग हैं, अनिवार्य रूप से git pull --rebase
प्रदर्शन कर रही है।
स्रोत
2012-08-08 18:04:34
लिंक टूटी हुई है। –