Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемы с subversion, TortoiseSVN 
:(
    Опции темы
DoZENT
Дата 2.6.2009, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 2.6.2006

Репутация: нет
Всего: 1



Привет всем! Уже неделю бьемся в офисе с subversion (TortoiseSVN). Есть пара вопросов:
1) Можно ли при Updat'е выбрать какие именно файлы я хотел бы обновить в рабочей копии? Например, когда я делаю commit, я могу выбрать из списка, какие файлы я хочу загрузить на сервер, а при update svn молча берет все изменившиеся файлы и перезаписывает ими рабочую копию.
2) При updat'е TortoiseSVN часто "своевольничает". Например, при наличии одинаковых файлов на сервере и в рабочей копии он может полностью перезаписать файл в рабочей копии, а может объединить, раз на раз не приходится... Было бы логичнее, чтобы пользователь сам выбирал, что он хочет сделать при конфликте одинаковых файлов, разве нет?


--------------------
Какая боль, какая боль, Internet Explorer 5.0...
PM MAIL   Вверх
Bose
Дата 2.6.2009, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 3
Всего: 51



1) можно, вместо update в контекстном меню следует кликнуть по Check For Modifications, тогда TortoiseSVN покажет, какие файлы в рабочей копии отличаются от аналогичных на сервере.
2) Имхо довольно необычное поведение. А Вы уверены, что файлы которые перезаписываются в рабочей копии, были включены под контроль TortoiseSVN?

p.s. ещё один нюанс на всякий случай. SVN чувствителен к регистру. Файлы File.txt и file.txt - для него это разные файлы.
PM MAIL WWW Skype   Вверх
DoZENT
Дата 3.6.2009, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 2.6.2006

Репутация: нет
Всего: 1



Цитата(Bose @  2.6.2009,  22:03 Найти цитируемый пост)
1) можно, вместо update в контекстном меню следует кликнуть по Check For Modifications, тогда TortoiseSVN покажет, какие файлы в рабочей копии отличаются от аналогичных на сервере.

так, ну вот посмотрел я изменения, теперь хочу обновить только один файл из всех. Что делать?

Цитата(Bose @  2.6.2009,  22:03 Найти цитируемый пост)
2) Имхо довольно необычное поведение. А Вы уверены, что файлы которые перезаписываются в рабочей копии, были включены под контроль TortoiseSVN?

вроде да, были включены. а каким должно быть нормальное поведение?


--------------------
Какая боль, какая боль, Internet Explorer 5.0...
PM MAIL   Вверх
LSD
Дата 3.6.2009, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 2
Всего: 538



Цитата(DoZENT @  3.6.2009,  16:16 Найти цитируемый пост)
теперь хочу обновить только один файл из всех. Что делать?

Выбрать в Explorer только этот один файл и для него сделать Update.


Цитата(DoZENT @  3.6.2009,  16:16 Найти цитируемый пост)
а каким должно быть нормальное поведение? 

После Update тебе показывается, что для некоторый файлов есть конфликты. Далее у тебя 3 варианта действий:
1. Принять твои изменения.
2. Принять их изменения.
3. Неким образом отредактировать файл (как правило это делается во встроенном Diff-Tool, хотя можно сделать в любом редакторе)
После чего конфликт помечается как решенный и файл можно комитить (конечно если ты не принял их изменения).


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
DoZENT
Дата 3.6.2009, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 2.6.2006

Репутация: нет
Всего: 1



Цитата(LSD @  3.6.2009,  17:15 Найти цитируемый пост)
Выбрать в Explorer только этот один файл и для него сделать Update.

пока я вернусь из окна check modification обратно в explorer я могу и забыть, какие именно файлы я хочу обновить! Допустим, что это среднего размера сайт. Тысячи html файлов. Из них хочу обновить, допустим, 598 файлов. Что же мне, на бумажку сначала записать, какие файлы я хочу обновить, а потом в explorer бегать по десяткам папок и искать эти самые файлы? 
Неужели нет в tortoisesvn такой простой вещи, как окошко, где можно посмотреть содержимое файла на сервере, сравнить с рабочей копией, отметить все нужные файлы галочкой и нажать OK?? Как диалог commit. Там же я могу выбрать, какие именно файлы я хочу выгрузить на сервер!

Цитата(LSD @  3.6.2009,  17:15 Найти цитируемый пост)
После Update тебе показывается, что для некоторый файлов есть конфликты. Далее у тебя 3 варианта действий:

вот это логичное поведение! в моем же случае tortoisesvn просто соединил 2 файла...


--------------------
Какая боль, какая боль, Internet Explorer 5.0...
PM MAIL   Вверх
LSD
Дата 4.6.2009, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 2
Всего: 538



Цитата(DoZENT @  3.6.2009,  20:56 Найти цитируемый пост)
пока я вернусь из окна check modification обратно в explorer я могу и забыть, какие именно файлы я хочу обновить! Допустим, что это среднего размера сайт. Тысячи html файлов. Из них хочу обновить, допустим, 598 файлов. Что же мне, на бумажку сначала записать, какие файлы я хочу обновить, а потом в explorer бегать по десяткам папок и искать эти самые файлы? 
Неужели нет в tortoisesvn такой простой вещи, как окошко, где можно посмотреть содержимое файла на сервере, сравнить с рабочей копией, отметить все нужные файлы галочкой и нажать OK?? Как диалог commit. Там же я могу выбрать, какие именно файлы я хочу выгрузить на сервер!

То что ты хочешь сделать противоречит идеологии VCS. Каждая ревизия должна содержать целостный и непротиворечивый набор файлов. И смысла в таком частичном обновлении - нет.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
DoZENT
Дата 4.6.2009, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 2.6.2006

Репутация: нет
Всего: 1



Цитата(LSD @  4.6.2009,  15:18 Найти цитируемый пост)
То что ты хочешь сделать противоречит идеологии VCS. Каждая ревизия должна содержать целостный и непротиворечивый набор файлов. И смысла в таком частичном обновлении - нет.

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



--------------------
Какая боль, какая боль, Internet Explorer 5.0...
PM MAIL   Вверх
bilbobagginz
  Дата 4.6.2009, 22:29 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 4
Всего: 317



Цитата(DoZENT @  4.6.2009,  16:33 Найти цитируемый пост)
смысл - есть, для нашей компании по крайней мере. пример: пришел новичок в компанию, дали ему наш код. он там таааких делов наворочал, и залил все это на сервер. ну не хочу я теперь обновлять свою рабочую копию полностью на эту ревизию. хочу из нее только пару файлов с кодом, которые он сделал правильно.

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

действие svn update делается
  • как на группу файлов, так на все файлы, или отдельные файлы
  • как на последнюю "ревизию", т.е. HEAD, так и на ревизию номер N
в приведённом вами случае (если новичок замучил trunk) вы должны сделать апдейт на предыдущую "чистую", неизуродованную ревизию. Кроме того, новичкам нужно создать всою ветку. пусть он её по><3рит.
потом эту ветку можно стереть.

насчёт вообще ваших вопросов, почитайте книжечку svn book.
ничего плохого из этого не случится.

по поводу TortoiseSVN, у него очень особая нелюбовь к напряжённой работе с большими файлами или большим количеством файлов. кирдыкается (по крайней мере версии 1.5.* кирдыкались), поэтому для больших коммитов я бы рекомендовал использовать версию командной строки (из MinGW или CygWin)
 


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Bose
Дата 5.6.2009, 02:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 3
Всего: 51



Цитата(DoZENT @  3.6.2009,  19:56 Найти цитируемый пост)

пока я вернусь из окна check modification обратно в explorer я могу и забыть, какие именно файлы я хочу обновить! Допустим, что это среднего размера сайт. Тысячи html файлов. Из них хочу обновить, допустим, 598 файлов. Что же мне, на бумажку сначала записать, какие файлы я хочу обновить, а потом в explorer бегать по десяткам папок и искать эти самые файлы? 
Неужели нет в tortoisesvn такой простой вещи, как окошко, где можно посмотреть содержимое файла на сервере, сравнить с рабочей копией, отметить все нужные файлы галочкой и нажать OK?? Как диалог commit. Там же я могу выбрать, какие именно файлы я хочу выгрузить на сервер!

И коммит и апдейт и Show Diff прекрасно работают из окна Check for modification... Достаточно счёлкнуть на нужном файле(группе файлов) правой кнопкой. А в новых(1.6) версиях TortoiseSVN ещё и появилась возможность добавлять изменённые файлы в пользовательские группы(ChangeLists)
Операции с файлами в окнах TortoiseSVN проводятся также как и во всех окнах windows. Т.е. можно выделять файлы с зажатым Ctrl, Shift...
PM MAIL WWW Skype   Вверх
DoZENT
Дата 5.6.2009, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 2.6.2006

Репутация: нет
Всего: 1



всем спасибо, старший программист решил работать с окном check for modification и использовать save as меню, чтобы сохранять каждый файл, который захочет. Решение странное, на мой взгляд, но ему виднее =)

Это сообщение отредактировал(а) DoZENT - 5.6.2009, 09:42


--------------------
Какая боль, какая боль, Internet Explorer 5.0...
PM MAIL   Вверх
arilou
Дата 5.6.2009, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 1
Всего: 61



Цитата(DoZENT @  4.6.2009,  16:33 Найти цитируемый пост)
смысл - есть, для нашей компании по крайней мере. пример: пришел новичок в компанию, дали ему наш код. он там таааких делов наворочал, и залил все это на сервер. ну не хочу я теперь обновлять свою рабочую копию полностью на эту ревизию. хочу из нее только пару файлов с кодом, которые он сделал правильно.


вы наверное с VSS раньше работали  smile 


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
Bose
Дата 6.6.2009, 16:14 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 3
Всего: 51



Цитата(DoZENT @  4.6.2009,  15:33 Найти цитируемый пост)
смысл - есть, для нашей компании по крайней мере. пример: пришел новичок в компанию, дали ему наш код. он там таааких делов наворочал, и залил все это на сервер. ну не хочу я теперь обновлять свою рабочую копию полностью на эту ревизию. хочу из нее только пару файлов с кодом, которые он сделал правильно.

Почитайте SvnBook, особенно о работе с ветками.

Если вкратце, то для вашего случая лучше действовать примерно так:
1) Для новичка создаётся отдельная ветка(branch).(Branch/Tag) Весь код с которым он работает он заливает(коммитит) только в свою ветку.
2) Когда новичок выолняет задание, он сообщает об этом старшему программисту, который просматривает историю изменений новичка, возможно даже делает Code Review, и если код признан годным, то переносит изменения из ветки новичка с главной веткой(trunk).(Merge..)

Могу и наврать, так что лучше всё-таки почитайте SvnBook там всё это довольно подробно описано.
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
arilou

НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание на то, что новые темы, касающиеся новых вопросов, создаются кнопкой "Новая тема", а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих темах, будут удалены.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, arilou.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | УП: Инструменты | Следующая тема »


 




[ Время генерации скрипта: 0.0558 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.