При отправке на сервер SVN через TortoiseHg с помощью hgsubversion изменений не обнаружено.

Я установил сервер SVN с помощью сервера VisualSVN, и на моем компьютере разработки установлены TortoiseSVN, TortoiseHg, hgsubversion. Я могу успешно КЛОНИРОВАТЬ репозиторий SVN с сервера SVN и ЗАМЕНИТЬ изменения с помощью TortoiseHg. Однако, когда я хочу вернуть изменения на сервер SVN, я всегда получаю следующее сообщение:

pushing to svn+https://SVN.DEVTEAM:8443/svn/ProjectX/
searching for changes
no changes found
[command completed successfully Wed Dec 22 14:32:31 2010]

В моих глобальных настройках Mercurial есть следующие строки:

[extensions]
rebase=
hgsubversion = C:\hgsubversion\hgsubversion

Пожалуйста, порекомендуйте!

Спасибо Уильям


person William Choi    schedule 22.12.2010    source источник
comment
Вы можете увидеть свои дополнительные изменения в Hg? Они на голове, которую вы сейчас пытаетесь отбросить в SVN?   -  person gizmo    schedule 23.12.2010


Ответы (4)


Я обнаружил, что этот случай происходит из-за того, что мы не выполняли никаких коммитов SVN до извлечения / проталкивания через Mercurial. Мое обходное решение - попросить администратора SVN Server выполнить начальную фиксацию репозитория SVN после того, как репо было создано на сервере.

Убедитесь, что первоначальная фиксация включает хотя бы один файл, так как содержащих только папки недостаточно для решения проблемы.

person William Choi    schedule 23.12.2010
comment
Ага! Решил проблему и для меня. Спасибо, что задали этот вопрос и ответ здесь, где я мог его найти. - person Mike B; 13.01.2011
comment
Спасибо за это! Небольшое дополнение - я попытался добавить и удалить папку в VisualSVN, чтобы выполнить начальную «фиксацию», но этого было недостаточно ... на самом деле у вас должен быть файл в репозитории для загрузки Mercurial при выполнении клон. - person Eugene M; 19.01.2011

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

Ситуация:

  • 3 репозитория: svn-server, central-hg (с hgsubversion) и hg-working-clone
  • central-hg синхронизируется с svn (pull)
  • у рабочего клона есть одна новая ревизия
  • рабочий клон нажимает на центральный hg
  • центральный пытается подтолкнуть к svn

Результат: изменений не обнаружено

После "hg update tip" в центральном репо (где tip была новой ревизией), отправка svn снова работает.

person iuzuz    schedule 28.03.2014

В моем случае я просто отредактировал .hg / svn / rev_map, чтобы исправить svn rev в наборе изменений hg.

person codekaizen    schedule 02.11.2011
comment
Не могли бы вы мне помочь с этим? Есть ли документация о синтаксисе этого файла? - person Sindri Traustason; 23.03.2012

То, что я сделал в аналогичной ситуации, - это добавление файла в svn с помощью svn, как это было предложено Уильямом Чоем. Затем я снова клонировал svn, используя спящий режим, в другой каталог и трансплантировал изменения, которые я внес в этот каталог (с помощью расширения transplant). Это привело к тому, что я смог зафиксировать перенесенные изменения в svn.

person Sindri Traustason    schedule 23.03.2012