Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   как правильно формировать пакеты? (http://www.flasher.ru/forum/showthread.php?t=181920)

fish_r 06.07.2012 15:57

Добавлено через 1 минуту
Цитата:

Сообщение от Владимир Буквин (Сообщение 1087590)
а что такое свн?

это контроль версий и есть

основные разновидности:
http://ru.wikipedia.org/wiki/Subversion
http://ru.wikipedia.org/wiki/Git

expl 06.07.2012 16:22

Цитата:

я работаю вместе с другим программистом, над одним проектом, контроль версии не используем, а точнее используем раз в 2 недели, чтоб сохранять проект.
суть такая: я добавляю новый функционал, для чего требуется правка нескольких ранее написанных классов. другой программист так же, при решении своих задач затрагивает эти классы. у другого программиста также есть копия проекта. Я завершаю свою задачу, он свою, затем проекты объединяются в один. Для этого берется копия которая у меня, в нее добавляются классы, которые писал другой программист. классы, которые правились и мной и другим программистом "одновременно" сравниваются по содержимому.
а как тут по другому?
Что тут можно сказать, я в восхищении от вашей брутальности и суровости O_o (Вручную сливать правки 2-х человек да еще и только раз в неделю!!)
А как вы бекапы то делаете - сохраняете в zip с датой а если надо откатится вручную выясняете какие правки надо откатывать, а какие нет?

fish_r:
Цитата:

Настройки путей? Если используется свн, то классы вы подключаете не через проект, а через свн ( команда externals ), при этом копии нужных классов выгружаются в директорию проекта, сохраняются в копиях созданных экспортом, и в не зависят от последующих изменений в подключенных, оригинальных классах ( правда это надо указать специально).
Так, стоп. У нас всегда был отдельный репозиторий (на худой конец отдельная папка в svn репозитории) для библиотек и отдельные для проектов.
А вы предлагаете как-то использовать в директории проекта папку с другого svn/git-репозитория? И можно как-то сделать, чтобы обновление во всех проектах шло через один репозиторий либ?

fish_r 06.07.2012 18:15

Цитата:

Сообщение от expl (Сообщение 1087599)
Так, стоп. У нас всегда был отдельный репозиторий (на худой конец отдельная папка в svn репозитории) для библиотек и отдельные для проектов.
А вы предлагаете как-то использовать в директории проекта папку с другого svn/git-репозитория? И можно как-то сделать, чтобы обновление во всех проектах шло через один репозиторий либ?

В subversion есть фича называется externals c помощью неё можно подключить к проекту классы находящиеся в том же или в другом репозитории. При этом копии нужных папок с файлами классов размещаются в проекте. Изменения этих классов в "родном" расположении отслеживаются и при апдейте заливаются в текущий проект, но это можно запретить указав номер версии коммита которым хотим ограничиться.
У меня туртоза для винды, здесь это делается через контекстное меню настроек папки проекта. Это можно сделать также в файле entries закрепленном за соотв-ей папкой.

Вот здесь есть общее описание http://svnbook.red-bean.com/nightly/...nced.externals.
Как это реализуется в конкретном клиенте (обертке) надо наверно смотреть документацию. Как это делается в git не знаю, с гитом опыта работы нет.

Владимир Буквин 06.07.2012 18:27

а как еще два человека могут править один файл одновременно?

Добавлено через 3 минуты
Цитата:

Сообщение от expl
Что тут можно сказать, я в восхищении от вашей брутальности и суровости O_o
Вручную сливать правки 2-х человек да еще и только раз в неделю!!
А как еще два человека могут править один файл одновременно?

Bgg 06.07.2012 18:38

Цитата:

Сообщение от Владимир Буквин (Сообщение 1087615)
а как еще два человека могут править один файл одновременно?

Добавлено через 3 минуты

А как еще два человека могут править один файл одновременно?

Большинство систем может автоматически объединить (слить) изменения, сделанные разными разработчиками.

fish_r 06.07.2012 18:49

Bgg прав - по вам плачет система контроля версий. Прям срочно займитесь этим вопросом.
Для начала ( быстрого ) могу порекомендовать TortoiseSVN.
Удобная система, хотя возможно с этим могут многие поспорить :), документация понятная и простая, и на рус. и на англ. Очень быстро освоите.

Владимир Буквин 06.07.2012 18:56

объединить два файла в один автоматическая система не сможет, потому, что она не знает как это сделать. Файл должен проанализировать человек
Я это делаю через Total commander - сравнение файлов. При этом я копирую те строки, которые созданы другим программистом, к себе, а если встречаются несовместимые моменты, дорабатываю код, так как я знаю суть того, что должно получиться

Добавлено через 4 минуты
Вот объясните мне пожалуйста, как вы сделаете такую задачу через систему контроля версий. К примеру у меня 20 файлов в которые я должен внести изменения, причем в 10 из них должен внести изменения другой программист. Мы работаем одновременно - это нельзя делать поочередно, так как времени нет.

Bgg 06.07.2012 19:02

Цитата:

Сообщение от Владимир Буквин (Сообщение 1087620)
объединить два файла в один автоматическая система не сможет, потому, что она не знает как это сделать. Файл должен проанализировать человек
Я это делаю через Total commander - сравнение файлов. При этом я копирую те строки, которые созданы другим программистом, к себе, а если встречаются несовместимые моменты, дорабатываю код, так как я знаю суть того, что должно получиться

Добавлено через 4 минуты
Вот объясните мне пожалуйста, как вы сделаете такую задачу через систему контроля версий. К примеру у меня 20 файлов в которые я должен внести изменения, причем в 10 из них должен внести изменения другой программист. Мы работаем одновременно - это нельзя делать поочередно, так как времени нет.

3 страницы объяснений коту под хвост. Предсказываю ещё 10 подобных страниц.

Владимир Буквин 06.07.2012 19:18

Цитата:

3 страницы объяснений коту под хвост. Предсказываю ещё 10 подобных страниц.
то, что касается правки одного файла двумя программистами, без использования контроля версий, и это не правильно - среди этих трех страниц описанных выше нет ни одного логичного объяснения - и не логичного тоже нет. просто написали пользуйся контролем версий и все!

expl 06.07.2012 19:23

Цитата:

В subversion есть фича называется externals c помощью неё можно подключить к проекту классы находящиеся в том же или в другом репозитории
Надо же, буду имет в виду. Хотя схема с подключением внешней папки всё равно смотрится как-то "стабильнее". Но это из-за привычки наверно.

Цитата:

Вот объясните мне пожалуйста, как вы сделаете такую задачу через систему контроля версий. К примеру у меня 20 файлов в которые я должен внести изменения, причем в 10 из них должен внести изменения другой программист. Мы работаем одновременно - это нельзя делать поочередно, так как времени нет.
Вот именно для этого система контроля версий и используется. В простом случае без веток:
-Ты забрал версию X, поправил
- Друг забрал версию X, поправил
- Ты вкомитил
- Друг вкомитил.
Перед коммитом друг забирает твои правки,
система берет изменения друга относительно версии X и накладывает поверх наложеннных твоих правок. Т.е. она не файлы перетирает, а добавляет _относительные_ изменения.
В случае если нет конфликтных правок (ты изменил 10 на 20, а друг 10 на 30, например) - никаких напряжений мозжечка не потребуется - потребуется один клик или пару комманд в консоли. Если есть - в 90% потребуется 5 минут для того чтобы вам с другом разобраться, как должен выглядеть слитый файл.

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

Большинство людей начинает использвать SVN в тот же день в который его впервые видит в новой конторе. С git сложнее, но можно разобраться тоже.


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

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