Мне не удалось найти аналогичный ответ на мой вопрос.
Ситуация:
Локально с помощью GIT (git версия 1.7.3.1.msysgit.0)
Удаленное хранилищеSVN (не уверен в версии)
Проблема:
Клонировать репозиторий SVN, добавить папку, зафиксировать ее в git и SVN, переименовать папку (не сообщая git),коммитить в git, больше не могу коммитить в SVN.
Шаги по выпуску (репо SVN содержит один файл main.as в корневой папке)
- клон ветка из репозитория SVN (теперь есть один файл локально)
- коммит для локального git (включая
git add .
) - create oldFolder с файлом в нем
- коммит для локального git (включая
git add .
) - dcommit в SVN
- переименовать oldFolder -> newFolder (переименовать с IDE или вручную - не
git-mv
) - зафиксировать для локального git (включая
git-add .
) - dcommit to SVN (не нужно перебазировать SVN, так как я единственный, кто вносит изменения в SVN)
ПРОБЛЕМА : gcom-svn dcommit отвечает:
oldFolder/file.txt: needs update
update-index --refresh: command returned error: 1
Что я пробовал:
- stash, commit, dcommit, stash apply (тоже самое: требуется обновление)
- stash, rebase, stash apply, commit, dcommit (тоже самое: требуется обновление)
- stash, rebase, stash apply, commit, stash, dcommit (то же самое: требуется обновление)
Тот, кто полуработал, должен был позвонить:
svn rm -r oldFolder
, но это закончилось oldFolder
и newFolder
в SVN ... тогда какЯ хочу, чтобы oldFolder
было либо переименовано, либо удалено (в данном случае я не против потерять историю).
Мне нужно репозиторий SVN, отражающий мой локальный мастер / ветвь git ...
Почему я переименовываю файлы без команды git?
Я работаю с большими файловыми структурами и средами IDE, которые я использую для рефакторинга старого кода, переименовывает несколько папок и файлов, вызываявыше сценарий.Я не могу отслеживать и вызывать git rm для каждой удаленной папки.