Android下的配置管理之道之恢復.repo/projects爲對應的mirror倉庫

這個腳本功能就是把 repo下載的代碼,反恢復爲mirror形式的git倉庫。恢復之後的git倉庫目錄結構就和代碼服務器上的目錄結構一致了。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import os

'''

'''

def mainn():
    pass

if __name__ == "__main__" :
    # need flush print
    sys.stdout = sys.stderr
    projects = sys.argv[1]
    outroot = sys.argv[2]
    for root, dirs, fs in os.walk(projects):
        if root.endswith(".git"):
            srcgit = root
            objects = os.path.join(root, "objects")
            baregit = os.path.dirname(os.readlink(objects)).split("/project-objects/")[-1]
            baregit = os.path.join(outroot, baregit)
            if not os.path.exists(baregit):
                os.system("git init --bare %s" % baregit)
            cmd = "git -C %s push %s refs/*:refs/*" % (srcgit, baregit)
            print cmd
            os.system(cmd)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章