मेरी नज़र में एक स्क्रिप्ट है जो सभी गिट सबमॉडल्स को अपडेट करती है जिसके अनुसार शाखा दी गई है। यदि सबमॉडल के लिए ऐसी कोई शाखा नहीं है, तो मास्टर का उपयोग किया जाता है।
मेरे पास अब यही है:
#!/bin/bash -x
if [ -z $1 ]; then
echo "Branch name required."
exit
fi
function pbranch {
exists=`git show-ref refs/heads/$branch`
if [ -z $exists ]; then
branch="master"
fi
git co $branch
git pull origin $branch
}
branch=$1
git submodule foreach pbranch
लेकिन इस स्क्रिप्ट को चलाते समय, त्रुटि को फेंक दिया जाता है:
oleq@pc ~/project> git-fetchmodules major
+ '[' -z major ']'
+ branch=major
+ git submodule foreach pbranch
Entering 'submodule'
/usr/lib/git-core/git-submodule: 1: eval: pbranch: not found
Stopping at 'submodule'; script returned non-zero status.
मेरा अनुमान है कि यह git submodule foreachनिष्कासन ( प्रलेखन के अनुसार ) का उपयोग करता है, जिसका मैं इस संदर्भ में सही उपयोग नहीं करता।
"इनलाइन कॉलबैक" के साथ इस कमांड का उपयोग करने के लाखों उदाहरण हैं , लेकिन मुझे फ़ंक्शन के रूप में कॉलबैक के साथ एक भी नहीं मिला। कुछ पता है इसे कैसे हल करना है?
git-pbranch-submodule, तो यह बिल्ट-इन git कमांड की तरह व्यवहार कर सकता है:git pbranch-submoduleयाgit submodule foreach git pbranch-submodule। (ध्यान दें कि