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)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章