Поддержание репо Azure DevOps в синхронизации c с помощью bitbucket после успешного запроса извлечения на Azure DevOps - PullRequest
0 голосов
/ 19 марта 2020

Я использую репозиторий bitbucket, и у меня есть конвейер (назовем его P1), который запускается, когда пользователи фиксируют репозиторий в bitbucket. Основной задачей P1 является синхронизация c кода из репозитория bitbucket с репозиторием Azure DevOps.

Я выполнил наш первый пул-запрос непосредственно в Azure DevOps из ветви функций в мастер, и я уничтожил все коммиты, содержащиеся в запросе на извлечение. Таким образом, мой репозиторий в Azure DevOps теперь опережает репозиторий bitbucket, и мне нужно синхронизировать c их. Я создал новый конвейер (P2), который запускает только сценарий powershell и запускает его вручную согласно ссылке .

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

Как я могу это исправить?

Кроме того, если у вас есть предложения относительно моего подхода, пожалуйста, go вперед! Я мог бы сделать запрос на получение битбакета и думаю, что мог бы избежать всего этого беспорядка. И если бы я не раздавил коммиты в один коммит, но он стал бы намного чище ...

1 Ответ

0 голосов
/ 20 марта 2020

Хорошо, мне наконец-то удалось заставить это работать, принудительно установив pu sh в master (я не могу найти точную команду, которую использовал, если кто-то может напомнить мне, я обновлю этот ответ).

Хотя история репозитория была немного испорчена (объяснено ниже), но, по крайней мере, она работает, и хотя история не точно синхронизирована c, файлы имеют вид.


Azure История репозитория DevOps

Фиксация XXX

Фиксация AAA

История репозитория Bitbucket

Фиксация XXX

Фиксация ГГГ

Фиксация AAA


Для кого-то, использующего аналогичную конфигурацию, я рекомендую убедиться, что запросы на получение выполняются на битбакете, а не на Azure DevOps. Таким образом, конвейер всегда будет запускаться после изменений в главном репо, в битбакете, и никогда наоборот.

У меня также была проблема, связанная с разрешениями, а именно:

Pushes to this branch are not permitted; you must use a pull request to update this branch.

Мне удалось это исправить, следуя этим рекомендациям

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