|
|
|
klich1 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 2.6.2012 Репутация: нет Всего: нет |
Я создаю новую папку и захожу в неё:
cd test123 Загружаю новый пустой репозиторий: svn checkout https//mysvn.ru/user123/test123 . Теперь в папке test123 четыре каталога: "branches", "tags", "trunk" и ".svn". Создаю в этой же папке файл "1.txt" c текстом "привет" и добавляю его в репозиторий: svn add 1.txt Отправляю, обновляю: svn commit --message "123" svn update Вопрос: у меня должно что-то появиться в папке trunk? Как я понял, это основная ветка т.е. (по идее) туда должен скопироваться файл 1.txt. Но не копируется. Ладно. Допустим, это делается вручную. Залезаю в папку trunk, создаю там файл "2.txt". Делаю svn switch https//mysvn.ru/user123/test123/trunk svn add 2.txt svn commit --message "456" svn update Появляется новая ревизия, отлично. А теперь! Пытаюсь создать новую ветку. Если сделать так: svn copy https//mysvn.ru/user123/test123 https//mysvn.ru/user123/test123/branches/branch1 -m "new branch" - то в папкe "branch1" окажутся папки "branches", "tags", "trunk" и ".svn" основного ("test123") каталога. Что неправильно. А если так: svn copy https//mysvn.ru/user123/test123/trunk https//mysvn.ru/user123/test123/branches/branch1 -m "new branch" - то в папке "branch1" окажется каталог "trunk", что тоже неправильно. Короче, не понятно, как размещать файлы в репозитории, чтобы можено было создавать новые ветки. |
|||
|
||||
vedun |
|
||||
Шустрый Профиль Группа: Участник Сообщений: 91 Регистрация: 23.12.2010 Репутация: нет Всего: 2 |
Насколько я помню svn не имеет понятия ветки, они сзодаются путём копирования каталогов внутри хранилища. Как называть каталоги в принципе не имеет значения, просто договорились что в репозитории будет каталог trunk - омновная ветка, каталог branches - вспомогательные ответвления и tags - каталог с релизами. Поэтому сделайте chekout trunk вместо checkout всего репозитория а потом на основе этой рабочей копии делайте ветки. А то как у вас сейчас получается что вы в рабочую папку слили и основную ветку и вспомогательные потом на основе этого содаёте ещё ветку. |
||||
|
|||||
klich1 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 2.6.2012 Репутация: нет Всего: нет |
Спасибо. Так всё работает. Единственное, что не понятно, это как делать diff между разными ветками.
Например, я выделил из "/trunk" ветку "/branches/branch1". SVN говорит, что текущая ревизия 3. Далее я вношу изменения в главную ветку ("/trunk"), коммичу, появляется ревизия 4. Потом я переключаюсь на "/branches/branch1", вношу изменения там, коммичу и получаю ревизию 5. А теперь я хочу сравнить (diff) эти две ветки. Т.е. ревизию 4 главной ветки и ревизию 5 новой ветки. Но если сделать так: svn diff -r 4:5 https://mysvn.ru/user123/test123/trunk https://mysvn.ru/user123/test123/branches/branch1 - то получается ерунда (выводится 2 диффа каждой из веток в отдельности; а не один "межветковый" дифф). Что делать? |
|||
|
||||
vedun |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 91 Регистрация: 23.12.2010 Репутация: нет Всего: 2 |
|
|||
|
||||
bilbobagginz |
|
|||
Naughtius Maximus Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel Репутация: 4 Всего: 317 |
если нужно это делать с других веток, то это делается слиянием "merge". -------------------- Я ещё не демон. Я только учусь. |
|||
|
||||
maxim1000 |
|
|||
Эксперт Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 3 Всего: 110 |
для этого можно воспользоваться третьей формой команды diff (из описания svn help diff):
-------------------- qqq |
|||
|
||||
klich1 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 2.6.2012 Репутация: нет Всего: нет |
> третьей формой команды diff
спасибо! я ужае нашел |
|||
|
||||
Karadul |
|
|||
Опытный Профиль Группа: Участник Сообщений: 378 Регистрация: 18.5.2006 Репутация: нет Всего: 1 |
Чего люди не будут делать лишь бы гуем не пользоваться.
|
|||
|
||||
|
НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание на то, что новые темы, касающиеся новых вопросов, создаются кнопкой "Новая тема", а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих темах, будут удалены. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, arilou. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | УП: Инструменты | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |