Получить самого последнего автора в файл (Github Contents API)

Как Джунио К. Хамано (главный сопровождающий Git) ставит его :

Не правило более или менее похоже:

Если история вашего неглубокого хранилища не проходит достаточно долго, а другой репозиторий раздвоен до вашей усеченной истории, вы не сможете вычислить общего предка, и вы не сможете вытолкнуть его.

Обновление 2014: см. « Является ли git clone --depth 1 (мелкий клон) более полезным, чем это делает? »: это ограничение будет быть поднятым с помощью Git 1.9!

Обновление 2015: с Git 2.5+ вы даже сможете получить одно коммит. См. «. Вытащите конкретную фиксацию из удаленного репозитория git »


Оригинальный ответ (август 2011):

Собственно, придите подумайте об этом, это намного сильнее, чем «невозможно вычислить общий».

История может выглядеть так:

          R---R---R
         /
  --R---R---X---X---S---S---S

, где S - это фиксации, которые у вас есть в вашем мелком репозитории, а R - это фиксации, которые существуют в репозитории, который получает ваш push. Поскольку ваша история неглубока, ни один репозиторий имеет [X », которые являются коммитами, которые должны существовать, чтобы сохранить историю репозитория получателей; получатель не является мелким, и мы не хотим делать его мелким.

Если вы клонировали мелко некоторое время назад, работали, не общавшись с другой стороной, пока другая сторона прогрессировала, И если прогресс другой стороны включал перемотку назад и усилие; перестроить историю, вы увидите аналогичную топологию. Самый левый «S» на приведенном выше рисунке, возможно, был концом ветки, когда вы клонировали с глубиной 1, и с тех пор удаленный конец мог отбросить три верхних конца и перестроить свою историю, которая ведет к самой правой " R». В таком случае нажатие на пульт HEAD завершится ошибкой.


Так что может работать в некотором случае, но он не поддерживается:

Если я должен что-то сказать об этом ...

  • Я думаю, что «не поддерживается» - это лаконичный способ дать достаточно хорошую информацию, но он будет работать только для умных людей.
  • Not все умны; попробуйте сами, посмотрите, что операция , по-видимому, работает для их ограниченного числа испытаний, и в заключение она будет работать большую часть времени. И они поздравляют свой собственный интеллект, говоря «большую часть времени», а не «всегда». И они расстраиваются, когда видят, что они не работают, хотя они были предупреждены.

Подробнее о процессе обновления мелкого клонирования см. « Как обновить мелкий клон git? ".

0
задан Archie Baer 20 February 2019 в 21:25
поделиться

1 ответ

Если под author вы имеете в виду автора коммита, который, я считаю, именно к этому вы стремитесь, вы захотите использовать Commits API . Теперь я до сих пор не знаю, нужен ли вам последний автор коммита для файла README.md или просто для репо:

Вы захотите использовать список коммитов в репозитории конечной точки и на основе ваших требований вы можете сделать несколько фильтров запросов.

  1. Вы можете фильтровать по sha по запросу, например, чтобы получить коммиты только на master
  2. Если вы просто хотите коммиты для файла README.md, то вы также Вы хотите использовать фильтр для path

Если вы хотите только master коммитов для path README.md, то вы должны объединить оба. На этой конечной точке есть больше фильтров, поэтому я предлагаю вам внимательно прочитать, прежде чем пытаться снова.

Надеюсь, это поможет.

0
ответ дан bitoiu 20 February 2019 в 21:25
поделиться