Черепаха SVN 1.7 Копирование файла вопроса - PullRequest
0 голосов
/ 25 ноября 2011

Просто что-то тревожное случилось сейчас, когда я использую более новую версию SVN (1.7).

У меня есть более старый проект, из которого я хотел скопировать некоторые сценарии сборки CI в новый проект.Первоначально я использовал перетаскивание правой кнопкой мыши, а затем «Экспортировать все версионные элементы здесь» или как там было вызвано, чтобы получить копию файлов без истории SVN.

После того, как я не нашел эту опцию, я сделалбыстрый гугл и нашел:

http://groups.google.com/group/tortoisesvn/browse_thread/thread/66b30b120756e2ea/47023377b04ef1db?show_docid=47023377b04ef1db

Теперь я пошел просто скопировать и вставить мои файлы вместо этого, и он по какой-то причине сохранил обновленные значки в оболочке, я думал, что этоможет быть, просто ОС не обновляет папки, поэтому проигнорировал его, и когда я пошел на фиксацию, я проверил журнал, чтобы убедиться, что он не каким-то образом связан со старым проектом, и в нем говорится, что информация о версии отсутствует.

В любом случае, теперь, когда я на самом деле фиксирую, я просматриваю журналы и вижу все проверки для предыдущего репозитория, а затем мои ... Таким образом, моя текущая запись в журнале является новым проектом, и все, что было до этого, имеет историю старого проекта... это ошибка или что-то здесь пошло не так?

Я не знаю, почему этот несвязанный репозиторий будет иметь какую-либо информацию издругой не связанный проект просто с копированием файлов ...

Ответы [ 2 ]

0 голосов
/ 03 декабря 2011

Я думаю, вы говорите о копировании файла между двумя различными проектами Subversion.Если это то, что вам нужно, извлеките файлы в одну «рабочую копию», а затем рекурсивно удалите все папки «.svn».Это «преобразует» «рабочую копию» в просто набор файлов (без истории изменений или базового удаленного репозитория).

Поскольку файлы теперь представляют собой просто набор файлов, вы можете скопировать их на местов «новом» хранилище и добавьте с помощью команды svn add ....Конечно, вам также нужно будет проверить их.

Когда вы пытаетесь сделать перемещение файлов между хранилищами, перемещение каталога из «старой» рабочей копии в «новую» рабочую копию будет помещено »..svn "папки одной рабочей копии в другую рабочую копию.Поскольку эти папки содержат биты конфигурации рабочей копии Subversion для каталога, вы фактически смешиваете конфигурации в одной рабочей копии.Это часто имеет довольно нежелательные последствия.На вашем месте я бы просто взял копии «важных» файлов и удалил весь репозиторий.Затем я попытался бы выполнить операцию во второй раз, используя недавно извлеченные репозитории (и настороженно следя за тем, чтобы вы не копировали папки «.svn» или что перетаскивание помогает вам копировать их автоматически).

Обычно копирование папок ".svn" желательно в рабочей копии (это часть того, что делает применение пыток возможным и приятным в использовании);однако дизайн Subversion не таков, чтобы вы могли безопасно копировать эти папки между рабочими копиями .

0 голосов
/ 03 декабря 2011

Поведение звучит благотворно. Полезно иметь историю изменений для файлов, которые вы скопировали из старого проекта. Если вы не хотите видеть историю изменений из старого проекта, вы можете установить флажок «Остановить при копировании / переименовании» в диалоговом окне журнала изменений. Когда вы перетаскиваете свои файлы с помощью проводника, я подозреваю, что вы также скопировали скрытую папку .svn в свою старую рабочую копию. Если вы действительно хотите избавиться от истории ревизий, вы могли бы использовать обозреватель хранилища, чтобы зайти в хранилище, выбрать старые файлы проекта и экспортировать их в папку рабочей копии нового проекта. Затем из вашей новой рабочей копии проекта добавьте файлы в ваш новый репозиторий проекта.

...