2013-04-08 113 views
0

喜IM創建文件夾放到回購,我想在回購協議增加新的binery文件。通過使用KnpLabs php-github-api IM exectly做什麼,說在如何上傳文件,使用API​​使用<a href="http://developer.github.com/v3/git/" rel="nofollow">GitHub v3</a>

  1. 得到當前commit對象
  2. 檢索指向
  3. 樹檢索樹有針對特定文件路徑
  4. 變化內容莫名其妙的blob對象的內容和發佈新的Blob對象與新的內容,讓一個blob SHA回
  5. 後與您的新斑塊SHA替換該文件路徑指針得到一個樹SHA回

和洙一個新的樹對象。但在5點我有一個exseption

server error 

形式的代碼

$comit=$client->api('git')->commits()->show($userName,$reposit,'master'); 
$basetree=$client->api('git')->trees()->show($userName,'appwiz',$comit['commit'] ['tree']['sha']); 

$newBlob=$client->api('git')->blobs()->create($userName,$reposit,array('content'=> "gitapi",'encoding'=>'base64')); 

$client->authenticate($userName,$password,Github\Client::AUTH_HTTP_PASSWORD); 
$treeData = array(
     'tree'=> 
     array( array('path'=>'/' 
       ,'mode'=>'040000' 
       ,'type'=>'tree' 
       ,'content'=>'folder') 
     ) 
); 

回答

0

我是你需要一個有效的沙,你可以創建一個樹之前的印象。基於documentation for creating a tree,您似乎需要獲取對象的SHA1。所以看起來您可能必須已經將該樹添加到索引。沒有這一點,你將無法獲得對象的SHA,因爲git已經認識到它。

+0

感謝的人對您的信息。我想你是對的。但有什麼辦法,以待辦事項所有這些事情。 – Noman 2013-04-09 11:02:40

+0

「必須先進行本地提交,然後才能通過API推送它。」你可以給我任何教授或參考 – Noman 2013-04-09 12:15:25

+0

我更新了我的答案,因爲我回答了一個沒有被問到的問題。另外,我正在考慮Commits API而不是Blob和Tree API。 – 2013-04-12 23:25:53

1

不能

我們一直在努力保持GitHub的重點建設軟件的一部分,我們正在 棄用下載選項卡。 Downloads API已正式棄用 ,並將在90天內停用。

github.com/blog/1302-goodbye-uploads

+0

感謝您的答覆。我現在看看如何上傳一些文件.. – Noman 2013-04-09 10:58:49

相關問題