2012年11月11日日曜日

環境に合わせた.gitignoreを生成するプログラム

更新: こちらの方が良いと思います.http://blog.naru.se/2012/11/githubgitignore.html

Gitでプロジェクトを管理する場合,管理対象外にしたいファイルを.gitignoreに書き込みますが,プロジェクトを作るたびにこれを自分で作るのは面倒です.
内容はAndroidならbinディレクトリ以下とgenディレクトリ,Pythonなら拡張子がpycのファイル,CoffeeScriptならコンパイル後のjsファイルなどとある程度決まっているので,.gitignoreを書いてくれるプログラムを書きました.

まずはAndroidとPython用の.gitignoreを書き出せるようにしました.
続きにソースコードがあります.


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

def android():
    """
    Android用のgitignoreを書き込みます.
    """
    ignore = """bin/
gen/
"""
    write(ignore)

def python():
    """
    Python用のgitignoreを書き込みます.
    """
    ignore = """*.pyc
"""
    write(ignore)

def write(ignore):
    """
    引数を.gitignoreに書き込みます.
    """
    f = open(".gitignore", "w")
    f.write(ignore)
    f.close()

def help():
    print(u'いずれかを引数で与えてください')
    print(u'android')
    print(u'python')
    

if __name__ == '__main__':
    # 引数が0個か関数名に持っていない値だった場合にヘルプを表示する.
    if 2 > len(sys.argv) or not sys.argv[1] in dir():
        help()
    else:
        locals()[sys.argv[1]]()

Gist https://gist.github.com/4054277

AndroidとPythonに対応しています.
実行すると実行位置に.gitignoreを作ります.

.DS_storeなどもignoreしようかと思いましたが,グローバル域でignoreすると思ったので書きませんでした.

0 件のコメント:

コメントを投稿