[Python-Dev] cpython: PyUnicode_FromKindAndData() raises a ValueError if the kind is unknown

Stephen J. Turnbull stephen at xemacs.org
Thu Oct 6 20:24:26 CEST 2011


Éric Araujo writes:
 > Le 04/10/2011 04:59, Stephen J. Turnbull a écrit :

 > > I'm not familiar with the hg dev process (I use hg a lot, but so far
 > > it Just Works for me :), but I would imagine they will move in that
 > > direction as well.

"That direction" being "ability to attach notes to existing commits".

It is technically possible to design a VCS in which log messages are
ahistorical, and therefore editable at will.  I think this would
socially be a disaster (though I don't have strong evidence for that
view, the fact that the three most popular systems all implement log
messages as part of history is very suggestive that some important
consideration is involved).

The alternative is attaching notes, which are automatically displayed
by the VCS's history-viewing tools.

 > I doubt it; Mercurial has a very strong view of “history is sacred”; it
 > has taken many, many requests for an optional rebase feature to be
 > added, for example.

While such cultists may prefer Mercurial to git because of the
former's conservative position on features like rebase, the devs are
apparently pragmatic about editing the DAG.  On the one hand, it is
now well-understood that rebase is very dangerous.  Eg, *nobody* has
blanket permission to push rebased branches to Linus's repos, and
exceptions are rarely if ever granted.  Many reasons for restricting
rebase are technical, and AFAICS the Mercurial devs initially took the
conservative position that it's more trouble than it's worth.  They
were forced to change their minds.

On the other hand, the "Mercurial queues" feature is nothing more nor
less than history manipulation (in fact, its history manipulations are
theoretically equivalent to those of rebase), but in the form of mq it
has always been considered acceptable.  The reason that mq is
acceptable while rebase is not is simply that *references* to the
parts of history maintained by mq are not propagated by Mercurial
itself (except that now there is a limited ability to do so, but still
very restricted and only on explicit request).

A "notes" feature should therefore be acceptable, since it doesn't
involve any dangerous changing of refs; the only issue is designing
the UI.


More information about the Python-Dev mailing list