2013-11-26 17 views

Odpowiedz

10

Dokumenty do aktualizacji pliku określają, że konieczne będzie podanie SHA dla pliku, który będzie zastępowany. Najłatwiej byłoby zapytać o to githuba. Na przykład:

> curl https://api.github.com/repos/testacc01/testrepo01/contents/test.txt 
{ 
    "name": "test.txt", 
    "path": "test.txt", 
    "sha": "4f8a0fd8ab3537b85a64dcffa1487f4196164d78", 
    "size": 13, 
… 

Widać więc, co SHA jest w polu "sha" odpowiedzi JSON. Użyj tego, gdy sformułujesz swoją prośbę o aktualizację pliku nową wersją. Po pomyślnym zaktualizowaniu pliku plik będzie miał nowy certyfikat SHA, którego będzie trzeba zażądać, zanim będzie można go ponownie zaktualizować. (Chyba, myślę, następna zmiana idzie na innym oddziale.)

+0

dzięki, że działa dla mnie, zapominam, że SHA zostanie automatycznie zaktualizowany po aktualizacji pliku. – Kiddo

+0

Nie mogłem znaleźć w dokumentach API G3 w GitHub, które specyficzne funkcje mieszające SHA, których używają do generowania tych - SHA1, SHA256, itp. (Tak, żebym mógł zweryfikować zawartość pliku przeciwko nim samemu). Wierzę, że git używa SHA-1 do zatwierdzania skrótów, ale nie było dla mnie jasne, która funkcja mieszająca GitHub używa do mieszania zawartości pliku. Otworzyłem bilet z prośbą o te informacje. –

0

Jeśli używasz GraphQL API v4, można użyć następujących znaleźć sha konkretnego pliku:

{ 
    repository(owner: "testacc01", name: "testrepo01") { 
    object(expression: "master:test.txt") { 
     ... on Blob { 
     oid 
     } 
    } 
    } 
} 

Try it in the explorer

Powiązane problemy