Changes between Version 7 and Version 8 of ru/WorkingGuideLines


Ignore:
Timestamp:
06/16/09 18:41:45 (15 years ago)
Author:
slyfox
Comment:

Немного дополнена процедура тестирования веток и слияния веток в master

Legend:

Unmodified
Added
Removed
Modified
  • ru/WorkingGuideLines

    v7 v8  
    2323Так же, как существует руководство по созданию тикетов, существует и руководство по обзору тикетов. 
    2424   * Список тикетов, которые необходимо просмотреть, находится по адресу: http://www.midnight-commander.org/report/9. 
    25    * Вы можете просмотреть и протестировать патч, просто переключившись на ветку для этого тикета. 
     25   * Вы можете просмотреть и протестировать патч, просто переключившись на ветку для этого тикета (но более правильно - провести слияние ветки с веткой, для которой он предназначен; и тестировать этот конечный результат): 
     26{{{ 
     27 $ # Упрощенный вариант тестирования: 
     28 $ git checkout origin/123_branch_name 
     29 $ <собираем/тестируем> 
     30}}} 
     31{{{ 
     32 $ # Идеальный вариант тестирования: 
     33 $ git checkout master 
     34 $ git reset --hard origin/master 
     35 $ git pull 
     36 $ git merge --log --no-ff origin/123_branch_name 
     37 $ <собираем/тестируем> 
     38}}} 
    2639   * Если посмотреть на патч, то необходимо проверить: 
    2740      * является ли патч вкладывающимся в общую концепцию проекта или патч является "хаком"? 
     
    5063   * После первой строки описания коммита добавьте дополнительный перенос строки. 
    5164 
    52 '''Перед внесением изменений в обязательном порядке нужно перебазировать (rebase) свою ветку относительно родительской'''. 
    53  
    5465   Пример слияния с master: 
    5566{{{ 
     
    5869  $ git checkout master              // переключение на ветвь "master" 
    5970  $ git pull                         // обновление текущей ветви 
    60   $ git merge --log 123_branch_name  // слияние с "master" той ветви которую необходимо слить 
     71  $ git merge --log --no-ff 123_branch_name  // слияние с "master" той ветви которую необходимо слить 
     72        // --log показывает в merge коммите список патчей, которые вводятся этим мержем 
     73        // --no-ff в этом случае генерируется merge коммит даже, если ветка является дочерней 
     74        //              от вершины родителя (по нем проще отслеживать какие патчи входили в решение данного тикета) 
     75        //              Это немного увеличит историю, но упростит дальнейшее ковыряние в ней. 
     76        // 
     77        //              Параметр можно опускать, если ветка состоит из единственного патча и комментарий к коммиту 
     78        //              содержит ссылку на баг на траке. В тривиальном случае перед вливанием в master можно произвести rebase. 
    6179  $ git push origin master           // обновление данных в удаленном репозитарии 
    6280  $ git push origin :123_branch_name // удаление ветви 123_branch_name на сервере  
    6381  $ git branch -d 123_branch_name    // локальное удаление ветви 123_branch_name на клиентском хосте    
    6482}}} 
    65    * Если слияние "merge" произошло с ошибкой (из-за конфликтов), то необходимо вручную исправить конфликты и продолжить слияние (merge). 
     83   * Если слияние "merge" произошло с ошибкой (из-за конфликтов), то необходимо вручную исправить конфликты и продолжить слияние (merge). В идеале такого было не должно. Все тикеты _крайне_ желательно проверять предварительно смержив тестируемую ветку с той, в которую планируется ее добавить; иначе в ветку попадает другой код (который в некоторых случаях не только не работает, но даже и не собирается). 
    6684   * Теперь вы можете просто закрыть тикет с причиной закрытия "Fixed" (исправлено), необходимо также добавить ключевое слово '''commited-master''', если слияние происходило с ветвью "master". Состояние тикета поменяется на "testing". 
    6785   * После этого перейдите на страницу http://midnight-commander.org/timeline, скопируйте оттуда ссылку на результат слияния и добавьте ее в последнем комментарии примерно так: