Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   FD, TortoiseSVN и branches (http://www.flasher.ru/forum/showthread.php?t=144616)

Zebestov 16.09.2010 15:56

FD, TortoiseSVN и branches
 
Вот я создаю проект в FD, указываю его Location "D://flash/project1/trunk" и работаю в этой папке. А когда надо "ответвиться", то я так понял все файлы из trunk копируются в branches и, следовательно, работать надо там? Или я ошибаюсь и все по прежнему происходит в trunk?
Если не ошибаюсь — как это организовать в FD?

i.o. 16.09.2010 16:07

а что за версия у FD?

Zebestov 16.09.2010 16:11

3.2.2

i.o. 16.09.2010 16:13

советую обновить - http://www.flashdevelop.org/communit...php?f=9&t=3529
там добавлена встроенная поддержка SVN. Может и твой вопрос разрешится.

Добавлено через 3 минуты
отпишись потом как поставишь )

Zebestov 16.09.2010 17:40

Ставить не спешу — дождусь стабильной версии.
Думаю черепахи достаточно, просто я не разобрался.
Читаю пока доку — нифига не могу разобрать... не получается.

i.o. 16.09.2010 17:57

Я тоже пока не все знаю в свн. Но вот вопрос такой - а зачем ответвляться? Мне обычного commit'а хватает пока. Если что-то нужно восстановить или прошлое посмотреть, то без проблем можно пройтись по ревизиям в репозитории и получить, что нужно. Буду благодарен, если кто-то на простом примере объяснит в каких ситуациях без ответвлений нельзя обойтись?

leofit 16.09.2010 19:31

2 i.o.
Крупный проект. Работают несколько человек. Первый делает компонент №1, второй компонент №2 и т.п. Одновременно.
Для тестирования и отладки выливают текущее состояние работы на тестовый сервер, проект там проверяют тестеры и руководство.

Так вот у двух разработчиков работа готова, у других трех нет. Все изменения залиты на тестовый сервер, два компонента работают, 3 сбоят. Все взаимосвязано. Свн один, ветка одна. Как выливать на боевой сервер изменения?

Котяра 16.09.2010 19:43

Цитата:

Сообщение от leofit (Сообщение 936485)
2 i.o.
Крупный проект. Работают несколько человек. Первый делает компонент №1, второй компонент №2 и т.п. Одновременно.
Для тестирования и отладки выливают текущее состояние работы на тестовый сервер, проект там проверяют тестеры и руководство.

Так вот у двух разработчиков работа готова, у других трех нет. Все изменения залиты на тестовый сервер, два компонента работают, 3 сбоят. Все взаимосвязано. Свн один, ветка одна. Как выливать на боевой сервер изменения?

А как помогут тут бранчи?
Заливайте на раб. сервер стабильную ревизию.

leofit 16.09.2010 20:08

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

-De- 16.09.2010 20:43

Можно закинуть в бранч отдельные файлы. Собсно берёшь и закидываешь в черепашке...

Zebestov 16.09.2010 22:11

Насчет закидывать отдельные файлы — ну и как с ними работать? Ну если это классы те же.
Короче поковыряв/потренировавшись пришел пока к такому подходу (не факт, что окончательному):
Работаем в основной ветке (файлы проекта в trunk). Надо добавить что-то существенное и не одно — ответвляем весь проект в branches/X.Y.Z (сколько одновременных работ — столько копий) вместе с файлом проекта FD. Таким образом в FD каждый себе открывает проект-клон — морока весьма невелика.

ну пока так...

Котяра 16.09.2010 23:32

У каждого разраба до апдейта и коммита практически свой локальный бранч на компе существует.
комить, но не апдейться (если нет автоапдейтов)...
можно временно помечать файлы как игнор, да и много ещё как.
Кроме того, когда работаешь с серверами, обычно на тестовый сервак ставлю апдейтер который по крону раз в 2-10 минуты, либо по команде делает update из svn, причём может из нескольких (одна графика контента, другая flash, третья серверные скрипты)
как в этом случае бранчи делать? на каждого заводить свой тестовый сервер?

Я просто никогда бранчами для этого не пользовался, поэтому могу быть не прав. Бранч - только для реального ответвления, который мержинга и не предусматривает чаще всего.
Обычно хватает просто договорённостей между 3 -мя разрабами как в примере.
Работаю с svn лет 5 в больших коллективах если что..

Да и вообще - надо модульно мыслить) делать так чтоб пофиг было что другие 20 закоммитили/проапдейтили.

i.o. 17.09.2010 00:14

придерживаюсь мнения Бендера, т.е Котяры )

Zebestov 17.09.2010 13:20

Спасибо всем за ответы. Немного просветился в этом вопросе.

Bgg 17.09.2010 15:34

Цитата:

Сообщение от i.o. (Сообщение 936414)
советую обновить - http://www.flashdevelop.org/communit...php?f=9&t=3529
там добавлена встроенная поддержка SVN. Может и твой вопрос разрешится.

Добавлено через 3 минуты
отпишись потом как поставишь )

А с пакетами там ничего не придумали? Хотелось бы как в FB перетаскивать классы по пакетам и не метаться по проекту в поисках не вставленных импортов.

Zebestov 17.09.2010 15:45

Цитата:

Сообщение от Котяра (Сообщение 936489)
А как помогут тут бранчи?

Из того, что написано в svnbook-е и доках к тому же TortoiseSVN, я понял, что именно для того в основном они и заточены.

i.o. 17.09.2010 16:10

Цитата:

А с пакетами там ничего не придумали?
да вроде нет. Пока все так же при смене папки приходится и пакет переименовывать

Bgg 22.09.2010 14:54

Цитата:

Сообщение от Zebestov (Сообщение 936516)
Работаем в основной ветке (файлы проекта в trunk). Надо добавить что-то существенное и не одно — ответвляем весь проект в branches/X.Y.Z (сколько одновременных работ — столько копий) вместе с файлом проекта FD. Таким образом в FD каждый себе открывает проект-клон — морока весьма невелика.

ну пока так...

А так все делают?
Что то я не нашел в TortoiseSVN как по нормальному файлы скопировать. Руками что в проводнике что ли?)

Zebestov 22.09.2010 15:15

Цитата:

Сообщение от Bgg (Сообщение 937797)
А так все делают?

Из того, что я вычитал в процессе изучения — для того и задумано.
Цитата:

Сообщение от Bgg (Сообщение 937797)
Что то я не нашел в TortoiseSVN как по нормальному файлы скопировать. Руками что в проводнике что ли?)

Там есть пункт меню такой — "Branch/tag..." — отлично работает. Ответвляешь проект в branches (в репозитории) и потом апдейтишь соотв. папку /branches в рабочей копии.
Для меня удобство в том, что у бранча есть свои ревизии (ну если довольно крупная работа ведется) которые можно после слияния в основной проект грохнуть вместе с веткой. Не скапливается мусор в репозитории.

Bgg 02.01.2011 03:36

А что все делают с fla файлами когда с одним файлом работают несколько человек? Например иллюстратор засел на два дня в файл и залочил его, и мне нужно поработать пару дней с ним... И что потом их объединять вручную что ли? В CS5 ходят слухи что можно работать над одним файлом вместе, кто нибудь пользовался? Меняется один файл удаленно или объединяются потом два?

dark256 02.01.2011 16:42

Ой. А у меня от этого СВНа черепашьего тока волосы седые. Версия 1.6.2.
Раз в неделю ему наставал needCleanup и все.

Работали вдвоем с коллегой за соседним компом. я плющу ФЛА, он .AS.
Рабочий день окончен, коммитимся, апдейтимся и у обоих весь каталог лочится.
Ручками пытались лечить - без толку. Удаляем и полностью восстанавливаем версию с сервера.
Как правило - предыдущую, без дневных изменений.
Вобще дурдом. Похоже, что все коммиты и апдейты надо делать при закрытой среде разработки. Какие там кроны... Толкового мануала с примерами так и не нашел. Все что есть на раговорном английском :(

В результате сейчас весь этот аппарат используется вместо флэшки - чтобы на работе и дома были одни и те же версии проектов. И работаю один :)
Чуствую что сами дураки где-то, но где - не пойму. И откат на предыдущую версию неудобен - допустим мне надо часть из последнего файла, чать из пред-пред-идущего. Update to Revision - дает тот же самый файл на том же месте. В результате текущий приходится куда-то копировать, откатывать тот что в каталоге, открывать оба и руками соединять нужное. Плюнул вообще на все фичи и когда делаю какие-то критические модификации ( во ФЛА файлах) просто создаю его копию с новым порядковым номером и присоединяю к общей базе :(

Чувствую, что забиваю микроскопом гвозди...

-----

Соответственно параллельно работать над одним и тем же фла-файлом - не то что не получается ( в ЦС3 ) а Черепаха просто шлет далеко с такими стыковками.

udaaff 02.01.2011 17:27

Цитата:

Сообщение от Bgg (Сообщение 961466)
В CS5 ходят слухи что можно работать над одним файлом вместе, кто нибудь пользовался? Меняется один файл удаленно или объединяются потом два?

http://help.adobe.com/ru_RU/flash/cs...4bd84c943-8000

dark256 02.01.2011 17:34

О! Круто!

surlac 06.01.2011 01:24

Цитата:

А когда надо "ответвиться", то я так понял все файлы из trunk копируются в branches и, следовательно, работать надо там? Или я ошибаюсь и все по прежнему происходит в trunk?
После создания branch на SVN-сервере файлы никуда не копируются, в /branches создаются линки на текущую версию файлов из trunk (чтобы не занимать место). Разрабы делают switch на branch коммитят свои изменения в ветку, которые накладываются на линки.

Цитата:

Насчет закидывать отдельные файлы — ну и как с ними работать?
Можно делать switch на отдельные файлы и при общем svn up часть файлов будет тянуться из trunk, часть - из branch.

Цитата:

обычно на тестовый сервак ставлю апдейтер который по крону раз в 2-10 минуты, либо по команде делает update из svn
Как вариант вместо написания скриптов для крона, можно перейти на Cruise control или Team City.

Цитата:

Да и вообще - надо модульно мыслить) делать так чтоб пофиг было что другие 20 закоммитили/проапдейтили.
Кстати, кто-нибудь пользуется распределенными системами контроля? Есть преимущества?

Bgg 06.01.2011 18:52

Цитата:

Сообщение от udaaff (Сообщение 961554)

Спасибо. Теперь нужно попинать начальство по поводу перехода с CS4.


Часовой пояс GMT +4, время: 05:39.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.