Nano Hash - криптовалюты, майнинг, программирование

TFS Git — запросы на вытягивание «Ошибка слияния»

Привет, у меня проблема с запросами на вытягивание TFS и git.

У нас есть две основные ветки: -master -develop

Поэтому я создаю новую ветку async_data_loading из develop и делаю в ней некоторые изменения. Затем я фиксирую и отправляю свои изменения в удаленную async_data_loading, а затем создаю новый запрос на вытягивание, чтобы объединить мои изменения с удаленной разработкой, и я получаю это:

Ошибка слияния TFS

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

График ветвей

Кто-нибудь имел эту проблему и решил ее? Я потратил пару часов на поиск решения, но ничего не нашел.

Самое смешное, что если я создам тестовую ветку из master, а затем выполню шаги, как и в случае разработки, проблем с объединением моей тестовой ветки с master в TFS не возникнет.


  • Какую версию TFS вы используете? 03.06.2016
  • Это онлайновая TFS на сайте visualstudio.com, которую мы используем. 03.06.2016

Ответы:


1

Хорошо, теперь проблема исправлена. Выяснили, что какие-то файлы из одной из папок были скопированы и их имена были полными путями к этим файлам на одной из девелоперских систем, примерно так:

{Имя_ПК}/Пользователи/{имя_пользователя}/{полный_путь_к_локальному_файлу}.cs

Когда мы удалили эти файлы, TFS внезапно смогла завершить слияние на сервере без жалоб.

Что меня раздражает, так это отсутствие какой-либо информации, почему слияние на сервере не удалось. Это, безусловно, то, что MS должна исправить в будущем...

09.06.2016

2

Мы столкнулись с похожей проблемой. В нашем случае угловые скобки (< >) в электронном письме пользователя TFS заставляли LibGit2Sharp генерировать исключение под капотом, которое не отображалось в сообщении об ошибке в TFS (тот же визуальный результат, что и описанный OP). Я также разместил здесь ответ с трассировкой стека:

https://stackoverflow.com/a/39841140/2496266

03.10.2016

3

Просто проверьте в TFS 2015.2 + VS 2015.2, не могу воспроизвести эту проблему. Конфликт часто возникает при объединении двух веток, в которых изменяется один и тот же файл. Убедитесь, что вы получили последнюю ветку для develop, прежде чем разветвлять ее.

03.06.2016
  • Я не использую Visual Studio — работаю на Mac. У нас есть TFS 2015. Между ветвями нет конфликтов - я могу легко объединить свою ветку с локальной разработкой с терминала, а затем отправить изменения в удаленную разработку, не жалуясь git на сбой слияния... 03.06.2016
  • Если вы удалите ветку async_data_loading и создадите новую, сможете ли вы воспроизвести эту проблему? 06.06.2016
  • Ага. Я пробовал почти все. TFS не может обработать слияние любой ветки, созданной из develop. Похоже, у нас есть некоторые проблемы с разработкой (может быть, история ??), но странно то, что сам git может выполнять слияние без каких-либо жалоб... 06.06.2016
  • Извините, я не могу воспроизвести эту проблему на своей стороне. Не могли бы вы попробовать создать новый репозиторий git для теста? 08.06.2016

  • 4

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

    Что я сделал, чтобы найти проблему, так это взял версию базы кода, поместил ее в репозиторий diff't и установил ее в качестве нашей основной линии (разработка, что угодно). Затем взяли нашу полную основную ветку и настроили функциональную ветку. Затем я перешел в отсоединенный режим в нашей полной ветке mainline/feature и начал создавать разные ветки (в основном бинарный поиск). Я создал запросы на слияние для всех этих сценариев, если они воспроизводили проблему «сбой слияния», я знал, что зашел слишком далеко. Если я получал чистое слияние, я знал, что мне нужно идти дальше.

    В конце концов мы нашли файл с символом «\» в имени. Удалив этот файл, я смог все прояснить. Я подозреваю, что это связано с тем, что большая часть функций PR/Merge происходит на платформе Windows.

    MS, если вы слушаете, обновите eventvwr с менее шумной и более существенной информацией.

    16.06.2017
  • Интересно - это не будет ограничиваться Windows, слияние полностью выполняется в памяти, поэтому разделители путей не должны иметь значения. Я попробую воспроизвести это у себя. И спасибо за отзыв. Да, мы слушаем. 16.06.2017
  • Хм. Какую версию TFS вы используете? Я не могу воспроизвести это на VSTS. Забавно, но есть другая проблема, но я могу объединить запрос на вытягивание с именем файла, в котором есть ``. 16.06.2017
  • Извините, я пропустил это, я свяжусь с моей командой как можно скорее для вас. 21.06.2017
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..