Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Как повысить свой уровень знания svn? / 25 сообщений из 32, страница 1 из 2
16.05.2014, 13:33
    #38643407
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как повысить свой уровень знания svn?
Для работы с svn использую tortoise. Простые действия (update/commit/revert) не вызывают сложнойстей. Но когда встает задача закоммитить в trunk и branch, то иногда всё нормально проходит, а иногда какие-то tree конфликты возникают. я так понимаю, что это из-за того, что после бранчевания кто-то поменял структуру папок и закоммитил.

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

Поэтому разобраться со всем этим до конца не удаётся.

Как посоветуете побыстрее вникнуть в суть того как всё это происходит ? может какие-то интернет ресурсы есть, где можно потренироваться ?
...
Рейтинг: 0 / 0
16.05.2014, 13:55
    #38643452
Сергей Арсеньев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как повысить свой уровень знания svn?
redwhite90,

Тык это. Перед коммитом неплохо бы сделать Update.
В логе Update пойдут конфликты и Merge.

На нем права кнопка. И фирменая штучка черепахи - тройное окно (слева вверху они, справа моё снизу что в итоге).
Чветами расхождения, правая кнопка и варианты - взять это, взать мое, взять их, для каждой строчки или для всего файла.

Все очень удобно и наглядно. Ну и поняв это можно садиться за набор команд, к svn? чтобы повторить без клац-клац мышкой.

Затем высший пилотаж краткого курса бойца - вставить скриптик в сервер svn, чтобы у закомиченного файла ресурсов подменял часть номера программы, которая показывает номер коммита в svn.

P.S. кстати кто-нибудь знает может всетаки можно сделать так, чтобы некоторый файлик выдавался при check out, но все его последующийе изменения игнорировались клиентом?
...
Рейтинг: 0 / 0
16.05.2014, 14:08
    #38643477
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как повысить свой уровень знания svn?
Сергей АрсеньевP.S. кстати кто-нибудь знает может всетаки можно сделать так, чтобы некоторый файлик выдавался при check out, но все его последующийе изменения игнорировались клиентом?
stackoverflow знает.
http://stackoverflow.com/a/4139910
http://stackoverflow.com/a/635787
...
Рейтинг: 0 / 0
16.05.2014, 14:14
    #38643494
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как повысить свой уровень знания svn?
Сергей АрсеньевP.S. кстати кто-нибудь знает может всетаки можно сделать так, чтобы некоторый файлик выдавался при check out, но все его последующийе изменения игнорировались клиентом?
Можно ещё самому написать хук, который бы реджектил комиты по имени файла. Продвинутый хук можно привязать даже к каким-нибудь свойствам файла в SVN.
...
Рейтинг: 0 / 0
16.05.2014, 14:24
    #38643501
Alexey Tomin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как повысить свой уровень знания svn?
redwhite90Для работы с svn использую tortoise. Простые действия (update/commit/revert) не вызывают сложнойстей. Но когда встает задача закоммитить в trunk и branch, то иногда всё нормально проходит, а иногда какие-то tree конфликты возникают. я так понимаю, что это из-за того, что после бранчевания кто-то поменял структуру папок и закоммитил.

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

Поэтому разобраться со всем этим до конца не удаётся.

Как посоветуете побыстрее вникнуть в суть того как всё это происходит ? может какие-то интернет ресурсы есть, где можно потренироваться ?

svn плохо умеет мержить. Это данность. Уж не знаю почему, но git делает это гораздо лучше. Видимо он учитывает историю обоих веток, а svn не может так сделать.
Так что это повод свалить на git, или hg.
Или жрать кактус дальше.
...
Рейтинг: 0 / 0
16.05.2014, 14:25
    #38643503
Alexey Tomin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как повысить свой уровень знания svn?
Сергей АрсеньевP.S. кстати кто-нибудь знает может всетаки можно сделать так, чтобы некоторый файлик выдавался при check out, но все его последующийе изменения игнорировались клиентом?

А зачем? Подозреваю, что нужно просто включить его в игнор и не checkout'ить его вообще.
...
Рейтинг: 0 / 0
16.05.2014, 14:32
    #38643510
Сергей Арсеньев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как повысить свой уровень знания svn?
Blazkowicz,

мне собственно в обратную сторону, чтоб из svn-ки не прилетали изменения.
Ну и папочку бы (на файл из нее ignore-on-commit действует, а на саму skipped)
...
Рейтинг: 0 / 0
16.05.2014, 14:34
    #38643515
Сергей Арсеньев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как повысить свой уровень знания svn?
Alexey TominА зачем? Подозреваю, что нужно просто включить его в игнор и не checkout'ить его вообще.
Не без него собираться проек не будет, а вот настройки типа остаются js файлы как есть или по ним прогоняется jsmin я с сервером делиться не хочу (да и его мнение мне может быть фиолетово).
...
Рейтинг: 0 / 0
16.05.2014, 14:35
    #38643517
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как повысить свой уровень знания svn?
Alexey Tominsvn плохо умеет мержить. Это данность. Уж не знаю почему, но git делает это гораздо лучше.

В чем это проявляется?

Alexey TominВидимо он учитывает историю обоих веток, а svn не может так сделать.
Зачем учитывать историю?

Alexey TominТак что это повод свалить на git, или hg.

Чур меня.

Alexey TominИли жрать кактус дальше.
Чет с SVN пока никаких проблем не возникало. Спокойно бранчим, мержим ветки. Почему бы и не "пожрать".
...
Рейтинг: 0 / 0
16.05.2014, 14:42
    #38643525
Сергей Арсеньев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как повысить свой уровень знания svn?
Alexey Tominsvn плохо умеет мержить. Это данность. Уж не знаю почему, но git делает это гораздо лучше.
И почему понятно - Внутре смотрите, где у нее анализатор и думатель (С) Стругацкие.

На мой вгляд самому посмотреть, что при merge делается оно вернее, но кому как.
...
Рейтинг: 0 / 0
16.05.2014, 14:54
    #38643542
chpasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как повысить свой уровень знания svn?
Alexey TominУж не знаю почему
примерно по-этому
...
Рейтинг: 0 / 0
16.05.2014, 15:04
    #38643560
Alexey Tomin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как повысить свой уровень знания svn?
Сергей АрсеньевAlexey TominА зачем? Подозреваю, что нужно просто включить его в игнор и не checkout'ить его вообще.
Не без него собираться проек не будет, а вот настройки типа остаются js файлы как есть или по ним прогоняется jsmin я с сервером делиться не хочу (да и его мнение мне может быть фиолетово).

Добавляй в игнор. Чекауту, насколько я помню, пофиг на игнор-файл, а вот коммит его смотрит.
...
Рейтинг: 0 / 0
16.05.2014, 15:07
    #38643566
Alexey Tomin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как повысить свой уровень знания svn?
BlazkowiczAlexey Tominsvn плохо умеет мержить. Это данность. Уж не знаю почему, но git делает это гораздо лучше.

В чем это проявляется?

В том, что если в мастере кто-то переименовал файл, который я менял в своей ветке, то git спокойно смержит изменения, а svn - выдаст tree-conflict

Alexey TominВидимо он учитывает историю обоих веток, а svn не может так сделать.
Зачем учитывать историю? [/quot]

Чтобы мержить лучше :)

Alexey TominТак что это повод свалить на git, или hg.

Чур меня.[/quot]
Я лет 5 использовал svn. Хлебнул горя с мержами. Теперь перешёл на git- и хорошо. Да, "git для роботов", но зато работает лучше.

BlazkowiczAlexey TominИли жрать кактус дальше.
Чет с SVN пока никаких проблем не возникало. Спокойно бранчим, мержим ветки. Почему бы и не "пожрать".
Ну значит не очень пересекаетесь по коду :)
...
Рейтинг: 0 / 0
16.05.2014, 15:28
    #38643604
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как повысить свой уровень знания svn?
chpasha примерно по-этому
Спасибо за ссылку. Доходчиво.
...
Рейтинг: 0 / 0
16.05.2014, 15:28
    #38643608
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как повысить свой уровень знания svn?
вот так какое меню я вижу, когда пытаюсь смержиться:



и что тут можн сделать?
...
Рейтинг: 0 / 0
16.05.2014, 15:31
    #38643616
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как повысить свой уровень знания svn?
redwhite90и что тут можн сделать?
Для начала посмотреть по истории бранча что именно произошло с файлом. Потом решить надо оно тебе в твоей ветке или нет.
...
Рейтинг: 0 / 0
16.05.2014, 15:53
    #38643649
Сергей Арсеньев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как повысить свой уровень знания svn?
redwhite90и что тут можн сделать?
Там есть еще одна фигня - TortoiseMerge , я про него рассказывал.
...
Рейтинг: 0 / 0
16.05.2014, 15:55
    #38643654
Сергей Арсеньев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как повысить свой уровень знания svn?
А в случае удаления файла все тривиально, либо удалить либо нет.
...
Рейтинг: 0 / 0
16.05.2014, 16:03
    #38643670
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как повысить свой уровень знания svn?
redwhite90Для работы с svn использую tortoise. Простые действия (update/commit/revert) не вызывают сложнойстей. Но когда встает задача закоммитить в trunk и branch, то иногда всё нормально проходит, а иногда какие-то tree конфликты возникают. я так понимаю, что это из-за того, что после бранчевания кто-то поменял структуру папок и закоммитил.
Структура папок это конечно хардкорно. Но сам по себе merge за исключением
разве-что создания новых файлов - это 100% ручная работа. Тоесть даже
если Tortoise утверждает что merge проведён успешно - это означает
что ты (глазками) должен просмотреть ВСЕ исходники которые замёржились.

У меня были случаи когда java-sources причудливым образом мёржились
в автомате но при этом был скрытый дефект мёржа который обнаруживался
лишь со временем.

Ну и конечно-же как говорил Ленин - тесты, тесты и еще раз модульные тесты
мать их так...
...
Рейтинг: 0 / 0
16.05.2014, 16:22
    #38643698
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как повысить свой уровень знания svn?
в общем методом тыка понял, что после того как тыркнул merge надо тыркать смёржить конкретные ревизии, а я тыркал "смёржить деревья". Хоть в окошке лога я и мог выбрать несколько ревизий, но считалось, что будет мержиться всё дерево по эту ревизию.

Просто у нас такая практика введена, что после определенного дня коммитим в trunk обязательно, а в branch только то, что необходимо для закрытия спринта. Судя по всему это сделано для того, чтобы потом обратно не вмерживать ветку.
...
Рейтинг: 0 / 0
16.05.2014, 16:33
    #38643715
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как повысить свой уровень знания svn?
Забавный тест был выловлен случайно в процессе переключения с 1.6 на 1.7.
Причём переключение было только на рабочей станции разраба. В продуктиве так и стоит
шестёрка. Вобщем кто-то решил что итератор HashMap всегда выдаёт String ключики
в одинаковой последовательности и запилил тест. Ничто не предвещало беды в 1.7....
...
Рейтинг: 0 / 0
20.05.2014, 01:06
    #38645826
private
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как повысить свой уровень знания svn?
Начать использовать git
...
Рейтинг: 0 / 0
20.05.2014, 12:33
    #38646217
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как повысить свой уровень знания svn?
private,

начать оставлять ответы по теме.
...
Рейтинг: 0 / 0
20.05.2014, 13:10
    #38646279
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как повысить свой уровень знания svn?
redwhite90, не обижайся. Просто он хотел сказать что на git переходят когда осознают недостатки
svn. Но этот процесс должен быть естественным. А не "из под пинка". В использовании SVN нет
ничего плохого так что пользуйся. Но когда будешь делать merge не забывай поглядывать
по сторонам.
...
Рейтинг: 0 / 0
20.05.2014, 15:17
    #38646571
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как повысить свой уровень знания svn?
mayton,

согласен, но насколько я понимаю, разработчик, особенно если он работает в большой команде, очень не часто может повлиять на выбор VCS.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Как повысить свой уровень знания svn? / 25 сообщений из 32, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]