[Bug 4347] New: colored hg log uses wrong phase to color parent(s)

mercurial-bugs at selenic.com mercurial-bugs at selenic.com
Sat Aug 23 04:59:51 CDT 2014


http://bz.selenic.com/show_bug.cgi?id=4347

          Priority: normal
            Bug ID: 4347
                CC: mercurial-devel at selenic.com
          Assignee: bugzilla at selenic.com
           Summary: colored hg log uses wrong phase to color parent(s)
          Severity: bug
    Classification: Unclassified
                OS: Linux
          Reporter: engored at ya.ru
          Hardware: PC
            Status: UNCONFIRMED
           Version: 3.1
         Component: Mercurial
           Product: Mercurial

Mercurial version: 3.1+34-510cafe72004

# Steps to reproduce:

hg init /tmp/test-log-phase-colors/ && cd /tmp/test-log-phase-colors/
echo 'a' > foo && hg ci -A -m 'a'
echo 'b' >> foo && hg ci -m 'b'
hg up 0 && echo 'c' >> foo && hg ci --secret -m 'c'
hg log --config color.changeset.secret=red

# What is happening:

The final hg log command explicitly shows parent (which is in draft phase) for
tip changeset (which is in secret phase) in red, as if the parent is also a
secret changeset, which it isn't.

The bug is not visible unless user set a distinct color.changeset.secret color
(by default it is none, afaict). If there are two parents (secret commit is a
merge) the bug affects both lines.

# What should be happening:

Parent should be colored appropriately, since it is not in secret phase.

# Code pointers

http://selenic.com/hg/file/90cf454edd70/mercurial/cmdutil.py#l910

The code in question assigns phase label based on the currently drawn changeset
instead of the specific parent.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Mercurial-devel mailing list