2012-01-10 48 views

回答

3

抓取ettore/three20库的在精确状态的副本git

# 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 = 2; \ n接口TTRequestLoader()\ n + - (void)连接:(NSURLConnection *)连接didReceiveResponse:(NSHTTPURLResponse *)响应; \ n + - (void)连接:(NSURLConnection *)连接didReceiveData :(NSData *)data; \ n + - (void)connectionDidFinishLoading:(NSURLConnection )connection; \ n + @ end \ n + \ n /////////////////////// ////////////////////////////////////////////////// ////////////////////////// \ // ////////////////////// ////////////////////////////////////////////////// /////////////////////////// \ // ///////////////////// ////////////////////////////////////////////////// //////////////////////////// \ n @@ -100,7 +106,8 @@ - (void)deliverDataResponse :(NSURL)URL {\ n //严格来说,要真正符合需要解释%xx十六进制编码实体。\ n // [NSString dataUsingEncoding]不能正确执行。 ...........(省略)

您可以发现很难阅读,但如果可以的话,您可以使用Regular Expression更好地进行格式化。显然,在+/-的开始处和\n的末尾添加/删除的行。

您可以在vim运行此命令(如果使用):

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

这个替换每\n到一个真正的换行符(^MCtrl+v进入 - >Enter)。现在看起来不错,但我认为你可以做得更好。 ;)

注意:如果您的更改包含一些二进制文件(如icon.png),您将获得大量无用的数据。

+0

非常感谢!这工作 – Chris 2012-01-10 20:53:42

+0

@Chris欢迎:) – Kjuly 2012-01-11 03:28:49