2013-10-12 2 views
2

В Git я сделал следующее, и теперь у меня проблема с ложной зависимостью.Ложная зависимость в Gerrit после git pull

  1. создал новую ветвь, используя git checkout -b fixPlayer
  2. Я сделал некоторые изменения в коде, и создали новые файлы тоже, а затем поставил для фиксации с помощью git add -A
  3. я тогда совершил изменения через git commit
  4. Затем я создал новую ветку через пару дней, используя git checkout -b fixLaserAim
  5. (Где начался хаос, думаю,). Я думал, что моя местная рабочая копия «мастера» может быть устаревшей, поэтому в этой ветке я побежал git pull. Я думаю, что это вызвало какую-то проблему слияния. Поэтому я возвращаюсь к мастеру, обновляю его (git checkout master, git pull), затем переключитесь обратно на вторую ветвь, git checkout -b fixLaserAim.
  6. Я завершаю свои изменения для fixLaserAim, этап для фиксации, git add -A и совершает его git commit.
  7. Наконец, я переключаюсь на свою раннюю ветку «fixPlayer» и нажимаю ее git push origin HEAD:refs/for/master, а затем переключаюсь на ветку «fixLaserAim» и делаю то же самое.

Оба эти изменения появляются в Gerrit, но почему-то «fixLaserAim» отмечает, что он зависит от «fixPlayer». Эти два не касаются одних и тех же файлов, и я пытаюсь выяснить, как удалить эту зависимость в Gerrit, потому что она блокирует автоматические сборки и изменение в конечном итоге переходит в производство.

Как исправить эту проблему?

+0

Почему вы хотите удалить зависимость? каждая фиксация зависит от предыдущего фиксации - это нормально. когда вы отказываетесь от фиксации, затем необходимо переместить зависимые коммиты. – HiB

+0

[Как избавиться от ложных зависимостей] (http://stackoverflow.com/questions/10402285/how-to-get-rid-of-false-dependencies-in-gerrit) – HiB

+0

Я уже нашел этот вопрос, но это не помогает, поскольку я действительно создал новую ветку для каждого патча. – DevNull

ответ

1

В конце концов, это была ошибка на стороне сервера в самом Git. Решено.

Смежные вопросы