Извлечение фиксации слияния в Azure Devops Server 2019 приводит к избыточным файлам - PullRequest
0 голосов
/ 06 ноября 2019

Я наблюдал очень странное поведение с нашим сервером Azure Devops Server 2019. Иногда выборки собирают намного больше данных, чем необходимо для завершения выборки. Обычно это происходит при больших слияниях, однако вчера это произошло с относительно простым.

У меня было две ветви, которые разошлись примерно с дюжиной коммитов. Я полностью проверил обе ветви на моей машине. Я использовал запрос на объединение, чтобы объединить их. После выполнения извлечения с моего компьютера после завершения запроса на извлечение потребовалось выгрузить 28 000 файлов и 2 ГБ информации и потребовалось очень много времени для извлечения.

Есть идеи, почему это может произойти? У слияния не было никаких конфликтов, только одна сторона слияния имела изменения с момента последнего слияния. (Наше слияние указывает на то, что ряд изменений конфигурации среды из объединяемой ветви не имеет значения.) Все коммиты, кроме коммита чистого слияния, уже были на моей машине и были проверены. Это должна была быть очень простая операция, не требующая повторной отправки значительной части моего хранилища.

Ответы [ 2 ]

0 голосов
/ 08 ноября 2019

Мне удалось отследить корневую проблему, связанную с дефектом сервера Devure Azure. Похоже, что сервер Azure Devops преждевременно отвечает «ACK ready» на этапе согласования fetch_pack / upload_pack. Несмотря на то, что две целые истории ветвей не были обнаружены (для веток, которые в настоящее время находятся в списке желаний), Azure Devops готовит и начинает передачу пакета.

0 голосов
/ 06 ноября 2019

Мне удалось решить основную проблему, с которой мы столкнулись, но не первоначальную иллюстрацию, которую я использовал в этом вопросе.

Большинство наших пользователей, столкнувшихся с такой проблемой, были связанык включению ограниченных ссылок и большому ограниченному реферу, присоединенному к цепочке истории путем «нашего» слияния. Это не относится к конкретному случаю, с которым я столкнулся, так как у меня были соответствующие истории на местном уровне, но другие люди могут столкнуться с этой проблемой из-за слияния, в том числе ранее не упоминавшейся истории намного раньше в истории.

Пока я не знаюЯ не смог воспроизвести мою первоначальную ошибку, поэтому мне придется подождать, пока я не увижу ее в следующий раз (это может произойти в разрезе веток, когда скрытая история также не имеет значения.) Но если у кого-то еще естьдополнительные идеи, я хотел бы услышать их.

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

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