2012-12-14 2 views
0

У меня есть анонимные ветки в dev названной ветке, которая в конечном итоге будет объединена в ветку default. Как найти последний набор изменений в dev ветке, которая уже была объединена в филиал default?Как найти последний набор изменений ветки, которая была объединена в другую ветку в Mercurial

Это то, что я придумал:

  1. Я начал показывать все сливается в default отрасли:

    merge() and branch(default) 
    
  2. То, что я действительно хочу это их родители в dev отрасли:

    parents(merge() and branch(default)) and branch(dev) 
    
  3. Это дает мне все dev Изменения, которые были объединены в филиал default. Теперь я просто добавлю max, чтобы получить последнюю версию. Это окончательное выражение:

    max(parents(merge() and branch(default)) and branch(dev)) 
    

Проблема заключается в том, что я думаю, что этот запрос является слишком большим. Можно ли получить эту информацию с более простым запросом?

ответ

1

Я думаю, что это будет делать:

max(p2(branch(default)) & branch(dev)) 

Он получает на dev ревизии, которые являются вторым родителем ревизией на default ветви и max получает последнюю.

Это только одно условие короче, хотя (так как условие p2 эффективно сочетает в себе parent и merge вашего запроса, так как вы не можете быть вторым родителем, если вы не слияние).

+0

Теперь я создал эти 2 псевдонимы: '.l = log -r" max (p2 (ветвь (по умолчанию)) & branch (dev)) "и' .u = up -r "max (p2 (branch (default)) & branch (dev)) «Я использую их каждый раз, когда хочу начать новую ветку в dev, не подвергая себя воздействию других потенциально нестабильных ветвей dev. –

Смежные вопросы