2012-01-10 14 views

答えて

3

gitとその正確な状態でettore/three20リポジトリのコピーを取得:

# Create a new (empty) repo 
git clone https://github.com/ettore/three20.git 

# Enter repo 
cd three20 

# Checkout the commit 
git checkout 63d03a12a6aac60453c94c12d714965aaca810ae 
1

あなたは、これがTHIS APIでgithubのからの変更をコミット取得することができます。

GET /repos/:user/:repo/git/commits/:sha 

例あなたが与えた人の名前:

curl -i https://api.github.com/repos/ettore/three20/commits/63d03a12a6aac60453c94c12d714965aaca810ae > commit_changes 

次に、生成されたcommit_changesファイルの合計データを表示できます。このファイルのフォーマットはJSONで、あなたは"patch"の変化を見つけることができます、のように:

"パッチ":「@@ -38,6 +38,12 @@ \ nは静的定数NSInteger kLoadMaxRetries = (NSURLConnection *)接続didReceiveData :(NSHTTPURLResponse *)応答; \ n + - (void)接続:(NSURLConnection *)接続しました。 NSData *)データ; \ n + - (void)connectionDidFinishLoading:(NSURLConnection )接続; \ n + @ end \ n + \ n /////////////////////////// ///////////////////////////////////////////////////////////////// ////////////////////////// \ n //////////////////////// ///////////////////////////////////////////////////////////////// /////////////////////////// \ n /////////////////////////////////////////// ///////////////////////////////////////////////////////////////// //////////////////////////// @@ -100,7 +106,8 @@ - (void)deliverDataResponse:(NSURL)URL {\ n //厳密に言えば、%xx 16進エンコードエンティティを解釈する必要があります。\ n // [NSString dataUsingEncoding]はそれを正しく行いません。 ...........(省略)

読みにくいですが、可能であれば、Regular Expressionで整形できます。どうやら、最初に追加/削除された行は+/-で、末尾は\nです。 (あなたが使用している場合)

あなたのvimでこのコマンドを実行することができます。

:%s/\\n/^M/g 

この1つは実際の改行にすべての\nを置き換える(^MCtrl+vによって入力される - >Enter)。今はよく見えますが、あなたはもっとうまくいくと思います。 ;)

注:変更にバイナリファイル(icon.pngなど)が含まれていると、多くの役に立たないデータが得られます。

+0

ありがとうございます!それは働いた – Chris

+0

@クリスお元気です:) – Kjuly

関連する問題