AnkhSVN - переименование (изменение его случая) файла внутри Visual Studio
Когда я пытаюсь переименовать файл Class1.cs в class1.cs внутри VS, а затем попытаюсь передать проект через ankhSVN, я получаю две ошибки:
[...\Class1.cs] is already under version control.
The commit processing can't commit [...\Class1.cs], because it is not managed by Subversion. Maybe you should refresh the status after applying changes with another client?
Затем я удалил class1.cs, добавил новый class1.cs, попытался зафиксировать его, но получил те же ошибки. Как я могу обойти эту проблему, чтобы я мог изменить дело и все еще иметь возможность совершить? Я знаю, что Windows неудобна для случая, но не должен ли быть (простой) способ сделать это?
После игры немного с ankhSVN, а затем попытайтесь зафиксировать файл с его оригинальным именем (так что я хотя бы вернул его в управление версиями), я получил:
An internal error occured. Commit failed (details follow): Cannot commit: '[...]\Class1.cs' because it was moved to '[...]\class1.cs' which is not part of the commit; both sides of the move must be committed together
SharpSvn.SvnIllegalTargetException...
Я использую
- Windows 7 64
- Visual Studio 2012
- TortoiseSVN 1.8.4
- ankhSVN 2.5.12266.473
Ответы
Ответ 1
Вы можете сделать это в Visual Studio + ankhSVN.
-
Скопируйте/Вставьте файл, который хотите переименовать, и вставьте его в ту же папку
-
Переименуйте файл из "Copy Of xxxx" в нужное новое имя.
-
Удалить старый файл
-
щелкните правой кнопкой мыши папку, в которой находятся оба файла, и выполните операцию svn commit во всей папке.
Вот оно!
Ответ 2
Я исправил его следующими шагами. Я все еще надеюсь, что есть более простой способ.
- Я убедился, что class1.cs или Class1.cs больше не были частью проекта
используя VS.
- Теперь в проводнике Windows:
- Я использовал Class1.cs, используя
TortoiseSVN (потому что я удалил его, см. Вопрос)
- Я использовал Переименовать
Вариант TortoiseSVN, чтобы назвать его class1.cs
- Я совершил class1.cs
используя TortoiseSVN
- Теперь внутри VS я показал все файлы, включая
class1.cs в проекте и совершил проект через ankhSVN
Ответ 3
У меня была такая же проблема, и я вошел в папку с файлами, где возникла проблема, и щелкнул правой кнопкой мыши по файлу и сказал TortoiseSVN → add. Затем появилось диалоговое окно, в котором говорилось, что файл уже существует и мне нравится
1) Дело изменилось
2) Добавьте файл (вызывают проблемы с окнами)
Я, конечно, выбрал # 1, а затем обновил статус в VS, и он исправил проблему. Затем я совершил изменения, и я вернулся к нормальной жизни.
Ответ 4
В проводнике Windows перейдите к папке, в которой находятся файлы, изначально расположенные (до их перемещения/переименования).
Щелкните правой кнопкой мыши в папке и войдите в браузер Repo из меню Subversion.
Перетащите исходные файлы из Repo обратно в папку проекта.
В Visual Studio откройте "Рабочий обозреватель копирования" и перейдите в каталог, в который вы просто перетаскивали файлы.
Вы должны увидеть красные "x" рядом с именем файлов, указывающих, что они были удалены.
Выберите все файлы и щелкните правой кнопкой мыши, затем выберите "Добавить в ожидающие изменения"
После этого вы сможете зафиксировать свои изменения.