|
|
|
Не совсем в тему- как вести ветки в SVN...
|
|||
|---|---|---|---|
|
#18+
Добрый день! Есть желание вести в SVN две основные ветки- "тестируемый код" (release) и "протестированный код" (test). Проблема вот в чём. Разработчик делает некоторые изменения. Когда они большие- заводится отдельная ветка, потом мержится в test, правится по результатам тестирования и потом она же мержится в release. Когда изменения мелкие, делаются в течении нескольких часов- заводить ветку не хочется (хотя это может как раз и есть проблема SVN в сравнении с git/Hg). Разработчик делает коммит (или несколько) в test, может ещё несколько по результатам тестирования... А дальше как? Мержить test в release никак нельзя - в test куча тестируемого кода. Пытаться выцепить изменения по коммитам- прямой путь к ошибке. Не коммитить в test вообще, а только (после проверки) в release тоже не вариант по многим причинам. Как лучше делать? Или без боковых веток всегда не обойтись? -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2013, 18:00:36 |
|
||
|
Не совсем в тему- как вести ветки в SVN...
|
|||
|---|---|---|---|
|
#18+
У вас что ПМа нет процесс наладить? 1. Если обычная, но не быстрая задача. Девелопер комитит в ветку задачи. Потом мержит в test, по окончании. Мержит только если его задача идёт в текущую версию. 2. Срочная, мелкая, задача. Девелопер комитит напрямую в test. Когда QA версии окончен, вся ветка мержится в release. 3. Сверхсрочные комиты в релиз делаются только в исключительных ситуациях с разрешения вышестоящих ответсвтенных. Это лишь вариант. Задача ПМа адаптировать процесс под нужды проекта. Версионность релизов вообще есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2013, 18:06:24 |
|
||
|
Не совсем в тему- как вести ветки в SVN...
|
|||
|---|---|---|---|
|
#18+
GKS_Samaraхотя это может как раз и есть проблема SVN в сравнении с git/Hg) так точно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2013, 18:06:51 |
|
||
|
Не совсем в тему- как вести ветки в SVN...
|
|||
|---|---|---|---|
|
#18+
Брошу пять копеек. Мы отказались от разработки вне версий. Тоесть в trunk никто не разрабатывает. Все изменения и все доработки ведутся только в бранчах. Транк используется только для слияний и новых бранчей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2013, 20:26:11 |
|
||
|
Не совсем в тему- как вести ветки в SVN...
|
|||
|---|---|---|---|
|
#18+
Добрый день, Blazkowicz! > У вас что ПМа нет процесс наладить? Ну вот я этим занимаюсь. > 2. Срочная, мелкая, задача. > Девелопер комитит напрямую в test. > Когда QA версии окончен, вся ветка мержится в release. Сейчас так по сути и есть. Когда релиз проверен- делается ветка "релиз.1.4" например. Но есть проблема. А сделал комит мелкой задачи и отдал её на проверку. В сделал комит другой задачи и тоже отдал на проверку. Тестер видит ошибку и не знает, кому её отдать (ошибка явно не связана ни с чем, может она вообще всегда была). Менеджер тестирования хочет сузить область поиска ответственного за ошибку. Чтобы было всего два варианта "ошибка была всегда" и "ошибка сделана А". Т.е. чтобы была ветка "стабильный код" и каждое задание было отдельным ответвлением от неё. Но мне тогда придётся построить работу "ветка на любую задачу, кроме орфографии", что нежелательно. > Это лишь вариант. Задача ПМа адаптировать процесс под нужды проекта. Вот об этом и речь. Я отвечаю за процесс разработки, но есть внешние силы, желающие его менять. > Версионность релизов вообще есть? Есть, но тут вопрос про более мелкие шаги. -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2013, 09:32:15 |
|
||
|
Не совсем в тему- как вести ветки в SVN...
|
|||
|---|---|---|---|
|
#18+
GKS_Samara, некоторое время работал в фирме, где вместо SVN был git. Каждая задача бранчевалась. То есть разработчик заводил на свою задачу(или группа разработчиков. если задача общая) свой бранч. В git`е с заведением проблем не было. После того, как задача получала статус "Проверено QA" - мержилась с транком. плюсы: на каждую задачу отдельный бранч и ваших проблем нет минусы: если программисты не имеют минимальной "кульутры", ветви и листики репозитория превращаются в ктулху и сжирают мозг ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2013, 11:12:28 |
|
||
|
Не совсем в тему- как вести ветки в SVN...
|
|||
|---|---|---|---|
|
#18+
GKS_Samara, А в другой фирме "ошибки" регистирировались с типом отдела(интеграция, оптимизация и тд), автоматически регистрируясь на тим лида отдела, который в свою очередь уже сортировал на ежедневной планерке(если не знал, кому) или сам ..кому чего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2013, 11:32:38 |
|
||
|
Не совсем в тему- как вести ветки в SVN...
|
|||
|---|---|---|---|
|
#18+
Добрый день, Озверин! > А в другой фирме "ошибки" регистирировались с типом отдела(интеграция, > оптимизация и тд), автоматически регистрируясь на тим лида отдела, > который в свою очередь уже сортировал на ежедневной планерке(если не > знал, кому) или сам ..кому чего. Ну такие и так ко мне валяться, а я уж сортирую как понимаю. Хочется просто таких "нечейных" ошибок сделать меньше. -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2013, 11:37:17 |
|
||
|
Не совсем в тему- как вести ветки в SVN...
|
|||
|---|---|---|---|
|
#18+
GKS_Samara, а сколько разработчиков в отделе? Есть подозрение..что овчинка выделки не стоит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2013, 11:39:53 |
|
||
|
Не совсем в тему- как вести ветки в SVN...
|
|||
|---|---|---|---|
|
#18+
ОзверинGKS_Samara, а сколько разработчиков в отделе? Есть подозрение..что овчинка выделки не стоит. +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2013, 11:53:28 |
|
||
|
Не совсем в тему- как вести ветки в SVN...
|
|||
|---|---|---|---|
|
#18+
Добрый день, Озверин! > а сколько разработчиков в отделе? Есть подозрение..что овчинка выделки > не стоит. В нашей группе 5. В соседней (часть кода общая)- 4. Ну может и не стоит. -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2013, 11:56:03 |
|
||
|
Не совсем в тему- как вести ветки в SVN...
|
|||
|---|---|---|---|
|
#18+
GKS_SamaraДобрый день, Озверин! > а сколько разработчиков в отделе? Есть подозрение..что овчинка выделки > не стоит. В нашей группе 5. В соседней (часть кода общая)- 4. Ну может и не стоит. -- Алексей JID: alxt@ya.ru Группы по какому критерию разделены? По функционалу или по бизнес логике какой-то? Или..? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2013, 11:58:12 |
|
||
|
Не совсем в тему- как вести ветки в SVN...
|
|||
|---|---|---|---|
|
#18+
GKS_Samara> У вас что ПМа нет процесс наладить? Ну вот я этим занимаюсь. "повезло" :) GKS_SamaraСейчас так по сути и есть. Когда релиз проверен- делается ветка "релиз.1.4" например. Используйте все версии 1.4.8.231 1 - меняется при полной переделке проекта 4 - major version - меняется с каждым релизом 8 - minor version - либо каждый минорный релиз, но я считаю что это не совсем верно. Лучше использовать как QA релиз. Когда девелоперы отдают тестерам. 231 - build number - проще всего подвязать туда SVN revision. из QA ветки или транка. GKS_SamaraНо есть проблема. А сделал комит мелкой задачи и отдал её на проверку. В сделал комит другой задачи и тоже отдал на проверку. Скрам, конечно, фигня. Но в Agile много умных мыслей и светлых идей. Нужно их отбирать и применять. В частности должна быть запланирована версия с конечным набором задач и чем меньше тем лучше. GKS_SamaraТестер видит ошибку и не знает, кому её отдать (ошибка явно не связана ни с чем, может она вообще всегда была). Это тестера не касается вообще. Тестеру задача сообщить об ошибке. Девелоперы и ПМ должны быть подписаны на багтрек. В идеале девелоперы сами забирают задачи на себя. Но ПМ, так как владеет более общей информацией можен назначать задачи на конкретных девелоперов по обстоятельствам. Это всё QA вообще интересовать не должно. Девелоперов всех уволят, найдут новых. Кому будет тестер тогда адресовать баги? :) GKS_SamaraМенеджер тестирования хочет сузить область поиска ответственного за ошибку. Чтобы было всего два варианта "ошибка была всегда" и "ошибка сделана А". Что это даст? Тыкать пальцами и говорить "петя - лох, сломал проект"? Смысла в этом нет. Девелоперы сами должны обращать внимание на ошибки в трекере, а у ошибки должен быть адекватный приоритет. GKS_SamaraТ.е. чтобы была ветка "стабильный код" и каждое задание было отдельным ответвлением от неё. Каждое задание должно быть ответвлением от транка, это позволит выявлять конфликты задач на более раннем этапе. ИМХО. GKS_SamaraНо мне тогда придётся построить работу "ветка на любую задачу, кроме орфографии", что нежелательно. Надо смотреть на проект, команду, размеры проектов. Когда в команде 3-5 человек, то нет вообще никакой проблемы всё комитить в транк. Важно только правильно организовать процесс QA и релиза. А бранчевать только очень крупные задачи. Это и есть Agile - подстраивать процесс под особенности проекта. Ты же, по-моему, пытаешься получить идеальны бюрократический процесс даже там где он не всегда нужен. GKS_SamaraВот об этом и речь. Я отвечаю за процесс разработки, но есть внешние силы, желающие его менять. 1. Пусть внешние за это и платят. :) 2. Все идеи разумные, нужно просто обосновано откинуть те, которые будут тормозить процесс и взять те которые реально его улучшат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2013, 12:07:48 |
|
||
|
Не совсем в тему- как вести ветки в SVN...
|
|||
|---|---|---|---|
|
#18+
GKS_SamaraВ нашей группе 5. В соседней (часть кода общая)- 4. Ну может и не стоит. Такие проблемы стоит решать по мере поступления. Т.е. заказчик просит улучшения в процессе и говорит какие именно. Ты ему говоришь - "обождите". Узнашь что именно его волнует. И решаешь именно проеблему, которая его волнует. Не нужно просто следовать тому что он требует, нужно решать его проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2013, 12:10:37 |
|
||
|
Не совсем в тему- как вести ветки в SVN...
|
|||
|---|---|---|---|
|
#18+
Добрый день, Озверин! > Группы по какому критерию разделены? По функционалу или по бизнес логике > какой-то? Или..? А чем функционла от бизнес-логики отличается? Я не понимаю. Просто два сильно разных куска большого приложения. Пересекаются по коду, т.к. есть общий модуль, да и базовые классы общие. -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2013, 12:20:16 |
|
||
|
Не совсем в тему- как вести ветки в SVN...
|
|||
|---|---|---|---|
|
#18+
GKS_SamaraДобрый день, Озверин! > Группы по какому критерию разделены? По функционалу или по бизнес логике > какой-то? Или..? А чем функционла от бизнес-логики отличается? Я не понимаю. Просто два сильно разных куска большого приложения. Пересекаются по коду, т.к. есть общий модуль, да и базовые классы общие. -- Алексей JID: alxt@ya.ru Я выразился неправильно, условно разделены по: Разработчики КлиентаА, Разработчики КлиентаБ или Разработчики GUI, Разработчики БД и тд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2013, 12:22:07 |
|
||
|
Не совсем в тему- как вести ветки в SVN...
|
|||
|---|---|---|---|
|
#18+
BlazkowiczИспользуйте все версии 1.4.8.231 Номер- просто для примера. BlazkowiczGKS_SamaraТестер видит ошибку и не знает, кому её отдать (ошибка явно не связана ни с чем, может она вообще всегда была). Это тестера не касается вообще. Нет. Тестеру попадает не сборка вообще (точнее она тоже попадает, перед релизом), а сборка после конкретного изменения. Т.е. он тестирует задачу. Но из-за общего test может вылезти бага смежной задачи (или даже не бага, а фича- но он не знает об этом, т.к. другое задание тестирует не он и не читал его). Но пожалуй это действительно те проблемы, которые не должны волновать никого, кроме тестеров :) BlazkowiczКаждое задание должно быть ответвлением от транка, это позволит выявлять конфликты задач на более раннем этапе. ИМХО. Это хорошо, но муторно. Создать ветку. svn checkout всего кода. создать новый workspace в eclipse (переключать существующий неудобно, т.к. ветка может существовать долго и бегать туда-сюда проще перевыбирая workspace). Делать это для задания на 2-4 часа не хочется. BlazkowiczНадо смотреть на проект, команду, размеры проектов. Когда в команде 3-5 человек, то нет вообще никакой проблемы всё комитить в транк. Важно только правильно организовать процесс QA и релиза. А бранчевать только очень крупные задачи. Это и есть Agile - подстраивать процесс под особенности проекта. Ты же, по-моему, пытаешься получить идеальны бюрократический процесс даже там где он не всегда нужен. Не я. Менеджер тестирования. Но ему по должности положено хотеть идеала :) BlazkowiczGKS_SamaraВот об этом и речь. Я отвечаю за процесс разработки, но есть внешние силы, желающие его менять. 1. Пусть внешние за это и платят. :) Пожалуй лучший вариант- если менеджер тестирования будет настаивать на "каждому заданию ветка"- надо предложить нагрузить его работников бОльшей частью лишних накладных расходов. Пусть работают, если так хочется :) PS: что-то nntp-шлюз так и не осилил твоё сообщение- только через веб ответить смог... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2013, 12:30:01 |
|
||
|
Не совсем в тему- как вести ветки в SVN...
|
|||
|---|---|---|---|
|
#18+
Добрый день, Озверин! > Я выразился неправильно, > условно разделены по: > Разработчики GUI, Разработчики БД и тд. Ближе к этому, хотя это деление по модулям. -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2013, 12:31:06 |
|
||
|
Не совсем в тему- как вести ветки в SVN...
|
|||
|---|---|---|---|
|
#18+
Alexey TominНет. Тестеру попадает не сборка вообще (точнее она тоже попадает, перед релизом), а сборка после конкретного изменения. Т.е. он тестирует задачу. Но из-за общего test может вылезти бага смежной задачи (или даже не бага, а фича- но он не знает об этом, т.к. другое задание тестирует не он и не читал его). Но пожалуй это действительно те проблемы, которые не должны волновать никого, кроме тестеров :) Стоит рассказать тестеру про smoke testing, regression testing и планировние QA под проект в целом. Опять же. Узнай что именно волнует тестера и реши его проблему, а не давай ему рулить процессом. Alexey TominЭто хорошо, но муторно. Создать ветку. svn checkout всего кода. создать новый workspace в eclipse (переключать существующий неудобно, т.к. ветка может существовать долго и бегать туда-сюда проще перевыбирая workspace). Делать это для задания на 2-4 часа не хочется. Какие-то ты ужасы рассказываешь. Какой нафиг проект\воркспейс? Какой нафиг check out? SVN switch в нужный бранч затягивает только разницу между бранчами. Всё. Alexey TominНе я. Менеджер тестирования. Но ему по должности положено хотеть идеала :) То же самое. Менеджер тестирования может хотеть чего угодно. Это его право. Но ты узнай что его волнует и реши его проблему. Не стоит курочить весь процесс только потому что кому-то так хочется. Или он про это в книжке прочитал. Пусть лучше составит план тестирования, в котором будут все фазы тестирования, а не только отдельные фичи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2013, 12:35:58 |
|
||
|
Не совсем в тему- как вести ветки в SVN...
|
|||
|---|---|---|---|
|
#18+
GKS_Samara> Я выразился неправильно, > условно разделены по: > Разработчики GUI, Разработчики БД и тд. Ближе к этому, хотя это деление по модулям. Я, кстати, вот этого не понимаю. Стараюсь что бы все делали всё (по возможности, конечно, в разумных рамках). Тогда ресурсы всегда взаимозаменяемы, тогда люди видят код друг друга, учатся сами и учат коллег. Не падает мораль из-за рутины. Больше внутрикомандной комуникации и т. д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2013, 12:38:38 |
|
||
|
Не совсем в тему- как вести ветки в SVN...
|
|||
|---|---|---|---|
|
#18+
GKS_SamaraДобрый день, Озверин! > Я выразился неправильно, > условно разделены по: > Разработчики GUI, Разработчики БД и тд. Ближе к этому, хотя это деление по модулям. -- Алексей JID: alxt@ya.ru В конечном итоге согласен с То же самое. Менеджер тестирования может хотеть чего угодно. Это его право. Но ты узнай что его волнует и реши его проблему. Не стоит курочить весь процесс только потому что кому-то так хочется. Или он про это в книжке прочитал. Пусть лучше составит план тестирования, в котором будут все фазы тестирования, а не только отдельные фичи. Добавлю разве что, 1. если на данный момент тестер может определить "модуль" ошибки, то все, что от него требуется, это указать этот модуль(фукционал, слой, что угодно) в багтрекере. 2. если на данный момент тестер может определить бизнес приоритет бага, то он так же должен его указать А распределить в конечном итоге и так, и так будет скорее всего тим лид+возможно, ПМ. Ведь кто-то же должен приоритет баги указывать? Иначе в релиз войдут критические баги и прощай премия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2013, 12:41:18 |
|
||
|
Не совсем в тему- как вести ветки в SVN...
|
|||
|---|---|---|---|
|
#18+
BlazkowiczGKS_Samara> Я выразился неправильно, > условно разделены по: > Разработчики GUI, Разработчики БД и тд. Ближе к этому, хотя это деление по модулям. Я, кстати, вот этого не понимаю. Стараюсь что бы все делали всё (по возможности, конечно, в разумных рамках). Тогда ресурсы всегда взаимозаменяемы, тогда люди видят код друг друга, учатся сами и учат коллег. Не падает мораль из-за рутины. Больше внутрикомандной комуникации и т. д. Это пока в команде 5-10 человек, как только в команде их 30, и богатый собственный слой(gui,бд-интеграция, оптимизация и тд), то все всё знают - это трудно достижимо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2013, 12:42:59 |
|
||
|
Не совсем в тему- как вести ветки в SVN...
|
|||
|---|---|---|---|
|
#18+
ОзверинЭто пока в команде 5-10 человек, как только в команде их 30, и богатый собственный слой(gui,бд-интеграция, оптимизация и тд), то все всё знают - это трудно достижимо. Вполне достижимо, но с оговорками. Понятно, что когда присутствуют сложные бизнес требования в большом объеме, все их знать не могут. Понятно что middle и junior к некоторым техническим решениям просто не готовы и их стоит удерживать от решения таких задач. Но senior девелоперы могут решеть задачи на любом уровне, и вот их, как раз, стоит привлекать на разные задачи по всему проекту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2013, 12:50:11 |
|
||
|
Не совсем в тему- как вести ветки в SVN...
|
|||
|---|---|---|---|
|
#18+
BlazkowiczОзверинЭто пока в команде 5-10 человек, как только в команде их 30, и богатый собственный слой(gui,бд-интеграция, оптимизация и тд), то все всё знают - это трудно достижимо. Вполне достижимо, но с оговорками. Понятно, что когда присутствуют сложные бизнес требования в большом объеме, все их знать не могут. Понятно что middle и junior к некоторым техническим решениям просто не готовы и их стоит удерживать от решения таких задач. Но senior девелоперы могут решеть задачи на любом уровне, и вот их, как раз, стоит привлекать на разные задачи по всему проекту. Само собой, планирование(если вы говорите о нем) - самое место для сениоров. Но в рамках "решать баги" из "смежных" областей и сениор...по моему дороговато выходит использование штатной единицы ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2013, 12:52:33 |
|
||
|
Не совсем в тему- как вести ветки в SVN...
|
|||
|---|---|---|---|
|
#18+
авторКогда изменения мелкие, делаются в течении нескольких часов- заводить ветку не хочется (хотя это может как раз и есть проблема SVN в сравнении с git/Hg). Это не проблема SVN. Это проблема лени. БРанч в SVN делается легко и непринуждённо, быстро. Мёрж тоже почти всегда без проблем. Если есть пробемы -- они в ПО, а не в SVN самом. автор Разработчик делает коммит (или несколько) в test, может ещё несколько по результатам тестирования... А дальше как? Мержить test в release никак нельзя - в test куча тестируемого кода. Мёржить в trunk или куда там ещё не всё, а только те ревизии, которые соответствуют данному изменению. В идеале это должна быть одна ревизия, тогда вообще всё легко. Если их много -- ну, что ж -- ройтесь, вы же бранчи не делали, значит сами себе злобные буратино. авторПытаться выцепить изменения по коммитам- прямой путь к ошибке. Не понял. что там такого сложного ? В коммитах есть КТО коммитил, есть комментарии, есть в конце концов все изменения. Я не понимаю, что там такого уж плохого. Если там коммитов много -- то это очевидно уже не "мелкие изменения" и надо было делать бранч (его кстати всегда можно из рабочей копии сделать). Если изменение мелкое -- коммитов должно быть один или два. Вы можете завести правило -- мелкое изменение -- не более одного коммита. Не уложился -- делай бранч. авторНе коммитить в test вообще, а только (после проверки) в release тоже не вариант по многим причинам. Не коммитить код -- это вообще порочно. Сделал что-то целостное -- закомить, иначе зарплату зря получаешь. Это вообще должно быть правилом. Код -- это то, что лежит в VCS, нет в VCS -- значит НЕ СДЕЛАЛ. авторКак лучше делать? Или без боковых веток всегда не обойтись? Лучше конечно всегда делать ветки. Другое дело конечно, что лень. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2013, 13:02:08 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38114977&tid=2130144]: |
0ms |
get settings: |
19ms |
get forum list: |
30ms |
check forum access: |
9ms |
check topic access: |
9ms |
track hit: |
73ms |
get topic data: |
23ms |
get forum data: |
6ms |
get page messages: |
109ms |
get tp. blocked users: |
2ms |
| others: | 361ms |
| total: | 641ms |

| 0 / 0 |
