GitHub API v3: какие значения SHA base_tree принимаются при написании дерева - PullRequest
1 голос
/ 07 декабря 2011

Когда читает дерево, используя github api :

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

, вы можете передать

  1. SHA коммита, в этом случаекажется, автоматически разрешает дерево в коммите, и может спасти вас в оба конца, чтобы получить дерево SHA из коммита.
  2. Или просто передать SHA дерева

Я былВам интересно, можете ли вы также передать SHA коммита для base_tree при вызове API "Create a Tree"?

POST /repos/:user/:repo/git/trees

1 Ответ

2 голосов
/ 07 декабря 2011

Кажется, что это работает без проблем.

То, как я это проверял, было:

  1. ПОЛУЧИТЕ коммит ша из "refs /heads / master" (возвращает old_commit_sha)
  2. POST новое дерево с old_commit_sha в качестве base_tree и новый или обновленный файл (возвращает new_tree_sha)
  3. POST новый коммит с new_tree_sha в качестве дерева и old_commit_sha как родитель (возвращает new_commit_sha)
  4. POST новый "refs /heads / master" (установите его на new_commit_sha)

Затем я убедился, что все выгляделоисправить на самом github ... и он сделал.

Это экономит только один шаг при добавлении или обновлении файла в хранилище, но может быть полезным для кого-то.

...