Сообщите, что Object.clone () имеет некоторые основные проблемы, и его использованию препятствуют в большинстве случаев. Посмотрите Объект 11, от" Эффективный Java" Joshua Bloch для полного ответа. Я полагаю, что можно безопасно использовать Object.clone () на массивах типа примитива, но кроме этого необходимо быть разумными о надлежащем использовании и переопределении клона. Вы - вероятно, более обеспеченное определение конструктора копии или статического метода фабрики, который явно клонирует объект согласно Вашей семантике.
Проблема заключалась в следующем: Я пытался проверить старую ревизию, глядя на дерево основной ревизии в браузере репозитория. В этом представлении я попытался проверить ствол / папку2 / источник более старой ревизии, которой не было в этой старой ревизии из-за перемещения.
Решение:
Спасибо всем за подсказки, которые привели меня в правильное направление.
Вы можете перемещать каталоги несколькими способами.
Самый простой способ - перетащить каталог правой кнопкой мыши и щелкнуть «SVN Move versioned files here», когда вы отпустите.
Вы можете использовать Функция rename для переименования файла из «blah.js» в «mydirectory / blah.js».
Наконец, вы можете использовать окно фиксации и перетаскивать туда элементы перед фиксацией. Маленькая красная точка появляется рядом с флажком, когда файл настроен на перемещение.
Откройте обозреватель репозитория, затем либо перетащите + отпустите, используя правую кнопку мыши (кажется странным только в первый раз), либо используйте пункт меню «Копировать в ...».
Это никак не повлияет на вашу рабочую копию, затем вы можете обновить свой рабочий каталог, чтобы получить новый каталог, и удалить + зафиксировать старый каталог из своего рабочего стола.
Вместо простого перетаскивания выполните перетаскивание с помощью правой кнопки мыши, а когда вы отпустите, в всплывающем контекстном меню выберите «SVN Переместить сюда файлы с версиями».
Я не уверен, правильно ли я понимаю вашу проблему. На мой взгляд, это звучит примерно так:
Предполагая, что у вас есть папка
/svn/trunk/folder1
и вы переместите ее в
/svn/trunk/folder2
, вы не можете получить доступ к папке1 с этим URL-адресом:
/svn/trunk/folder2
вы должны использовать
/svn/trunk/
в зависимости от вашей версии. тогда он увидит папку folder1 или folder2.
О чем не упоминалось в предыдущих ответах, так это о функции SVN, называемой «ревизия привязки». Используйте ревизию привязки, если вы хотите сослаться на структуру каталогов, которая больше не существует. Из книги SVN:
В версии 1.1 Subversion представила способ сказать, какой именно Вы имели в виду главную улицу. Это называется ревизия привязки, и она предоставляется Subversion с единственной целью выявление уникальной линии истории. Потому что самое большее, один объект с версией может занять путь в любой момент время - точнее, в любой ревизия - комбинация пути и ревизия колышка - это все, что нужно ссылаться на конкретную строку история. Указаны ревизии привязки клиенту командной строки Subversion с использованием синтаксиса at, так называемого, потому что синтаксис предполагает добавление знака «в» (@) и ревизию привязки до конца путь, по которому ревизия связанный.
Например: http://svn.example.com/ skinproj @ 148
Подробности см. В книге SVN: http://svnbook.red-bean.com/en/1.5/svn.advanced.pegrevs .html