view mercurial/stack.py @ 39269:d0e8933d6dad

i18n: merge i18n comments of translatable texts correctly Before this patch, i18n comments of translatable texts are lost at creation of hg.pot file, if: - same translatable text appears multiple times, - the 1st appearance does not have i18n comment, and - any of rest has it For example, previous patch for filemerge.py adds translatable texts with i18n comments, but these comments are lost, because: - automatically added texts in docstring of internal merge tools are picked up earlier than these translatable texts, because of location in filemerge.py - but docstring has no i18n comment This patch makes addentry() of posplit merge i18n comments of later translatable texts, in order to keep them at creation of hg.pot.
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
date Wed, 22 Aug 2018 14:37:56 +0900
parents 68fcc5503ec5
children 77c52ce50e6a
line wrap: on
line source

# stack.py - Mercurial functions for stack definition
#
#  Copyright Matt Mackall <mpm@selenic.com> and other
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.

from __future__ import absolute_import

from . import (
    revsetlang,
    scmutil,
)

def getstack(repo, rev=None):
    """return a sorted smartrev of the stack containing either rev if it is
    not None or the current working directory parent.

    The stack will always contain all drafts changesets which are ancestors to
    the revision and are not merges.
    """
    if rev is None:
        rev = '.'

    revspec = 'reverse(only(%s) and not public() and not ::merge())'
    revset = revsetlang.formatspec(revspec, rev)
    revisions = scmutil.revrange(repo, [revset])
    revisions.sort()
    return revisions