Github получает совершенные изменения - PullRequest
0 голосов
/ 10 января 2012

Как мне получить эти изменения с github на моем Mac OSX?

https://github.com/ettore/three20/commit/63d03a12a6aac60453c94c12d714965aaca810ae

Ответы [ 2 ]

3 голосов
/ 10 января 2012

Получить копию репозитория 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 голос
/ 10 января 2012

Вы можете получить изменения этого коммита из github с помощью ЭТОГО API :

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

Пример того, что вы дали:

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

Тогда вы можетепросмотреть итоговые данные в сгенерированном файле commit_changes.Формат этого файла - JSON, и вы найдете изменения в "patch", например:

"patch": "@@ -38,6 +38,12 @@ \ nстатическое const NSInteger kLoadMaxRetries = 2; \ n \ n \ n + @ interface TTRequestLoader () \ n + - (void) соединение: (NSURLConnection *) соединение didReceiveResponse: (NSHTTPURLResponse *) ответ; \ n + - (void) соединение: (NSURLCon) соединение didReceiveData: (NSData *) данные; \ n + - (void) connectionDidFinishLoading: (NSURLConnection ) соединение; \ n + @ end \ n + \ n /////////////////////////////////////////////////////////////////////////////////////////////////////// \ n /////////////////////////////////////////////////////////////////////////////////////////////////// \ n /////////////////////////////////////////////////////////////////////////////////////////////////// \ n @@ -100,7 +106,8 @@ -(void) deliveryDataResponse: (NSURL ) URL {\ n // Строго говоря, чтобы быть по-настоящему соответствующим, нужно интерпретировать сущности с шестнадцатеричным кодированием% xx. \ n // [NSString dataUsingEncoding] этого не делаету ............ (пропущено)

Вы можете обнаружить, что его трудно читать, но вы можете лучше отформатировать его с помощью Regular Expression, если можете.Видимо, строки, которые были добавлены / удалены с начала + / - и конца \n.

Вы можете запустить эту команду в вашем vim (если вы используете):

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

этот символ заменяет каждый \n на реальный символ новой строки (^M вводится Ctrl+v -> Enter).Это выглядит хорошо сейчас, но я думаю, что вы можете сделать лучше.;)

Примечание. Вы получите множество бесполезных данных, если в ваши изменения будет включен некоторый двоичный файл (например, icon.png).

...