ubuntu 在 R40e 上 還有 Debian 在 Sempron 2600 上

2015年8月17日 星期一

加上 --mirror
export GIT_DIR=~/openssl.git
git init

git config --file ~/openssl.git/config --replace-all remote.aosp.url      git://robot/android5.0.2r1/platform/external/openssl
git config --file ~/openssl.git/config --replace-all remote.aosp.projname platform/external/openssl
git config --file ~/openssl.git/config --replace-all remote.aosp.fetch +refs/heads/*:refs/heads/*
git fetch --update-head-ok aosp --tags +refs/heads/*:refs/heads/*
git pack-refs --all --prune
git symbolic-ref -m 'manifest set tp refs/tags/android-5.0.2_r1' HEAD refs/tags/android-5.0.2_r1
git -c pack.thread=1 gc --auto

沒加 --mirror 的話。
GIT_DIR 會在 .repo/project-objects/platform/external/openssl.git
然後動做一樣。

最後的 checkout,在 --trace 中看不到一些動作。
所以要配盒source code 來看。

project.py:
def _InitWorkTree(self):
  dotgit = os.path.join(self.worktree,'.git')
  if not os.path.exist(gotgit):
    os.makedirs(dotgit)
    self._ReferenceGitDir(self.gitdir, dotgit, share_ref=True, copy_all=False)
    _lwrite(os.path.join(dotgit, HEAD). '%s\n" % self.GetRevisionId())
    
    cmd = ['read-tree', '--reset', '-u']
    cmd.append('-v')
    cmd.append(HEAD)
    if GitCommand(self,cmd),Wait() != 0
      raise GitError("cannot initialize work Tree")

    self._CopyAndLinkFiles()
裡面的東西,幾忽就是 git 在做的事...
copy .git 的內容。

沒有留言:

標籤

網誌存檔