আমার ইনডেনশনটি এমন একটি স্ক্রিপ্ট রয়েছে যা সমস্ত গিট সাবমোডিয়ুল আপডেট করে যা কোন শাখা দেওয়া হয়েছে। সাবমডিউলের জন্য যদি এর মতো কোনও শাখা না থাকে তবে মাস্টার ব্যবহৃত হয়।
আমার এখন যা আছে:
#!/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 pbranch-submodule
বাgit submodule foreach git pbranch-submodule
। (নোট করুন যে