Проблема с SVN при фиксации и обновлении из ветки

Я новичок в SVN, и у меня странная проблема с поведением.

Я работаю в ветке кода, и когда я фиксирую код, он сообщает, что выполняет: "https://10.1.1.3:8443/svn/ProjectName "и показывает файлы, в которые были внесены изменения, как" branch / branchName / src / fileName.cs ". Работает нормально, показывает измененное содержимое в "c: \ projects \ ProjectName \ Branch \ BranchName \ src \ fileName.cs", отправляет содержимое, готово.

Теперь, когда я обновляюсь из корня, он возвращается с сообщением «Обновлено c: \ Projects \ ProjectName \ trunk \ src \ fileName.cs».

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

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


person Chris Conway    schedule 24.03.2010    source источник
comment
Можете ли вы немного подробнее описать структуру вашего репозитория, а также какой каталог вы зарегистрировали? Похоже, у вас есть / svn / ProjectName / trunk и / svn / ProjectName / branch / branchName, но вы извлекли / svn / ProjectName (все ветки) как единую рабочую копию.   -  person Joshua McKinnon    schedule 24.03.2010


Ответы (3)


Похоже, что ваши c: \ Projects \ ProjectName \ trunk \ src и c: \ Projects \ ProjectName \ branchName \ src могут на самом деле указывать на одно и то же расположение репозитория.

Чтобы проверить это, щелкните правой кнопкой мыши c: \ Projects \ ProjectName \ trunk \ src и c: \ Projects \ ProjectName \ branchName \ src, выберите «Свойства», перейдите на вкладку «Subversion» и проверьте URL-адрес.

Если они указывают на одно и то же расположение репозитория, вам необходимо это исправить. Один из способов исправить это - просто удалить все (конечно, после внесения изменений) и снова проверить. Еще одно исправление - щелкнуть каталог правой кнопкой мыши, выбрать переключатель TortoiseSVN и ввести правильный URL-адрес.

person Josh Kelley    schedule 24.03.2010

Если вы правильно подключились к своей ветке, обновления SVN НЕ будут извлекаться из каких-либо обновлений, внесенных в магистраль.

Сначала проверьте URL-адрес SVN того, что вы проверили. Вы можете сделать это, щелкнув правой кнопкой мыши и выбрав TortoiseSVN->Switch.... В нем будет указан путь SVN репозитория, в который вы переключились. Убедитесь, что c:\Projects\ProjectName\trunk и c:\Projects\ProjectName\branches\branchName имеют разные URL-адреса.

Также убедитесь, что каталог вашей ветки полностью переключен на URL-адрес ветки. Перейдите в свой базовый каталог, который вы проверили для своей ветки, и выполните переключатель svn и убедитесь, что все ваше дерево переключено в вашу ветку.

person Brian R. Bondy    schedule 24.03.2010

Если вы выберете Свойства папки C: \ Projects \ ProjectName \ trunk и выберете вкладку Subversion, где в репозитории, на который он указывает?

Я предполагаю, что он также указывает на / branch / branchName в вашем репозитории, поскольку Subversion не обновляет автоматически ствол из ветки (и нет никакого способа сделать это, кроме создания сценария перехвата.)

person Andy Shellam    schedule 24.03.2010