2016-11-12 2 views
0

Я пытался понять, почему это происходит, но я не знаю. Но я могу объяснить, как воспроизвести проблему.была обнаружена мешающая рабочая копия

Во-первых, я создаю проект (с папками внутри него, которые являются стволом, ветвями и тегами) и добавляет его в репозиторий. Я меняю каталог на багажник. Я добавляю файл в элемент управления версиями, затем делаю фиксацию. Затем я решил создать ветку (q: имеет ли значение, в какой директории я вхожу, пока я создаю ветку?). Я меняю каталог на проект (я имею в виду, если я вижу ветви, теги и багажник). И в то время как в директории проекта я

svn copy https://repoURL/project_name/trunk/ https://repoURL/project_name/branches/newBranch -m "making new branch" 

теперь я изменить каталог для филиалов/newBranch и сделать

svn co https://repoURL/project_name/branches/newBranch 

, а затем я решил изменить каталог для проекта (под этим я имею в виду, если сделать Ls Я вижу ветки, теги и багажник), а затем я обновляю svn. Именно там было обнаружено сообщение, препятствующее рабочей копии.

Я пробовал искать, однако ничего не объяснил ПОЧЕМУ. Все было как решить его. Я хочу знать, почему я могу предотвратить это в первую очередь.

Большое спасибо.

$ svn update 
Updating '.': 
Skipped 'branches/newBranch' -- An obstructing working copy was found 
At revision 30. 
Summary of conflicts: 
    Skipped paths: 1 
+1

Вы просматриваете рабочую копию * внутри * существующей рабочей копии? –

+0

Да, это правильно, я проверяю проект и внутри папки филиалов, которые находятся внутри проекта. Я проверяю newBranch – Mark

+1

. Если вы 'svn update' newBranch (вместо' svn checkout'), это синхронизирует существующие вместо того, чтобы создавать вложенную препятствующую рабочую копию. –

ответ

0

Проблема заключается в том, что вы смешиваете рабочие копии, вставляя их. Это плохая практика. Кроме того, ваша рабочая копия содержит несколько ветвей одного и того же проекта. Это тоже плохая практика.

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

Ваша рабочая копия может быть немедленно переключена на другую ветку/тег развития/независимо. Кроме того, репозиторий Subversion может содержать ряд (un) связанных проектов, и лучше иметь специальную рабочую копию для каждого из них, а не одну рабочую копию для всех проектов. Более того, на вашем компьютере может быть неограниченное количество рабочих копий.

Смежные вопросы