Repo 창고 구축
1: 원격 Manifest 웨어하우스 만들기
ssh -p 29418 gerrit2 gerrit create-project -n mtk/manifest
2: 로컬 웨어하우스 Manifest 웨어하우스 초기화
git clone ssh://[email protected]:29418/mtk/manifest
default 만들기xml 서버에 제출3: 서버에서 프로젝트 초기화
repo init -u ssh://gerrit2/mtk/manifest --repo-url=git://codeaurora.org/tools/repo.git --repo-branch=caf-stable
4: 빈 항목에 맞게 Repo 수정
.repo/repo/command.py
command.py의 GetProjects는 로컬에 이 항목이 있는지 검사합니다. 결과 집합에 항목을 추가하지 않으면 논리적 설명을 해야 합니다.
all_projects_list.extend(derived_projects.values())
for project in all_projects_list:
#if ((missing_ok or project.Exists) and
# project.MatchesGroups(groups)):
result.append(project)
.repo/repo/subcmds/forall.py
이 파일도 로컬 창고를 읽을 것입니다. 없으면 오류를 보고하고 종료합니다.
p = subprocess.Popen(cmd,
#cwd = cwd,
shell = shell,
env = env,
stdin = stdin,
stdout = stdout,
stderr = stderr)
#if not os.path.exists(cwd):
# if (opt.project_header and opt.verbose) \
# or not opt.project_header:
# print('skipping %s/' % project.relpath, file=sys.stderr)
# continue
setenv('REPO_PROJECT', project.name)
setenv('REPO_PATH', project.relpath)
setenv('REPO_REMOTE', project.remote.name)
#setenv('REPO_LREV', project.GetRevisionId())
setenv('REPO_RREV', project.revisionExpr)
setenv('REPO_I', str(cnt + 1))
5: 로컬 창고 구축, 로컬 창고 제출
init-commit.sh
#!/bin/bash
#set -e
#0: init
git init ${REPO_PATH}
GERRIT=mtk
ROOT_PATH=`pwd`
cd ${REPO_PATH}
#1: Commit Local
LOCAL_PATH=`pwd`
TMP_PATH=${ROOT_PATH}/tmp/${REPO_PATH}
count=0
for i in `find . -name .gitignore`
do
count=$(($count+1))
TMP=${i}
SOURCE=${LOCAL_PATH}${TMP:1}
DEST=${TMP_PATH}${TMP:1}
DEST_PATH=`dirname ${DEST}`
echo mkdir -p $DEST_PATH
mkdir -p $DEST_PATH
echo cp ${SOURCE} $DEST
cp ${SOURCE} $DEST
rm -f $i
done
if [ ${count} != 0 ]; then
echo Inner git add
git add .
cp ${TMP_PATH}/.gitignore ./
cp ${TMP_PATH}/\* ./
fi
echo Outter git add
git add .
git commit -m "Init"
echo git commit
#2: Process Local None Project
git log
if [ $? != 0 ]; then
echo empty so git commit
git commit --allow-empty -m "init"
fi
#3: Create Remote Project
ssh gerrit2 gerrit create-project --name ${GERRIT}/${REPO_PROJECT}
#4: Push Remote
git remote add orgin ssh://gerrit2/${GERRIT}/${REPO_PROJECT}.git
git push orgin master:master
cd -
repo forall -c ./init-project.sh
PS:특히 주의하세요.gitnore, 전체 공사에 미친 영향
사고방식을 먼저 한 곳에 두었다가 다시 추가하다
#!/bin/bash
for i in `find . -name .gitignore`
do
echo $i
rm -f $i
done
칠:
팔:
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.