LINUX.ORG.RU

История изменений

Исправление stevejobs, (текущая версия) :

S: a -> b -> c -> d -> e (00.01)
A: a -> b -> c -> d -> f (00.02)
B: a -> b -> c -> d -> g (00.03)

при этом если между f и g нет конфликтов (если автомердж отрабатыват ОК, то на сервере должно быть

S: a -> b -> c -> d -> e (00.01) -> f (00.02) -> g (00.03)

иначе если конфликты есть, то

S: a -> b -> c -> d -> e (00.01) -> g+(f-конфликты(f,g)) (00.03)

где g+(f-конфликты) означает, что в g добавились только те части коммита f, которые не конфликтовали с g

после этого корректность внешним образом (скриптом) проверяется синтаксиса XML (соответствие формату, соответствие схеме). Это нужно, чтобы База Знаний не сломалась при запуске от неправильного формата файла.

если при проверке формата всё ОК, то остается текущее состояние (g+(f-конфликты)).

иначе сервер ревертается на коммит/два назад (в изначально состояние сервера до мерджа конфликтующих бранчей), и потом накатывается самый новый из двух конфликтующих коммитов, то есть

S: a -> b -> c -> d -> e (00.01) -> g (00.03)

Исправление stevejobs, :

S: a -> b -> c -> d -> e (00.01)
A: a -> b -> c -> d -> f (00.02)
B: a -> b -> c -> d -> g (00.03)

при этом если между f и g нет конфликтов (если автомердж отрабатыват ОК, то на сервере должно быть

S: a -> b -> c -> d -> e (00.01) -> f (00.02) -> g (00.03)

иначе если конфликты есть, то

S: a -> b -> c -> d -> e (00.01) -> g+(f-конфликты(f,g)) (00.03)

где g+(f-конфликты) означает, что в g добавились только те части коммита f, которые не конфликтовали с g

после этого корректность внешним образом (скриптом) проверяется синтаксиса XML (соответствие формату, соответствие схеме). Это нужно, чтобы База Знаний не сломалась при запуске от неправильного формата файла.

если при проверке формата всё ОК, то остается предыдущий вариант.

если не ОК, то ревертается на коммит/два назад (в изначально состояние сервера до мерджа конфликтующих бранчей), и потом сервер выставляется в

S: a -> b -> c -> d -> e (00.01) -> g (00.03)

Исходная версия stevejobs, :

S: a -> b -> c -> d -> e (00.01)
A: a -> b -> c -> d -> f (00.02)
B: a -> b -> c -> d -> g (00.03)

при этом если между f и g нет конфликтов (если автомердж отрабатыват ОК, то на сервере должно быть

S: a -> b -> c -> d -> e (00.01) -> f (00.02) -> g (00.03)

иначе если конфликты есть, то

S: a -> b -> c -> d -> e (00.01) -> g+(f-конфликты(f,g)) (00.03)

где g+(f-конфликты) означает, что в g добавились только те части коммита f, которые не конфликтовали с g