Bryan O'Sullivan <bryano@fb.com> [Fri, 01 Jun 2012 12:37:18 -0700] rev 16866
revlog: ancestors(*revs) becomes ancestors(revs) (API)
Accepting a variable number of arguments as the old API did is
deeply ugly, particularly as it means the API can't be extended
with new arguments. Partly as a result, we have at least three
different implementations of the same ancestors algorithm (!?).
Most callers were forced to call ancestors(*somelist), adding to
both inefficiency and ugliness.
Angel Ezquerra <angel.ezquerra@gmail.com> [Tue, 29 May 2012 23:26:55 +0200] rev 16865
config: make sortdict keys() and iterkeys() methods respect the item order
The config.sortdict class is a simple "sorted dictionary" container
class, based on python's regular dict container. The main difference
compared to regular dicts is that sortdicts remember the order in
which items have been added to it.
Without this patch the items() method returns the sortdict elements in
the right order. However, getting the list of keys by using the keys()
or iterkeys() methods, and consequencly, looping through the container
elements in a for loop does not respect that order. This patch fixes
this problem.
Matt Mackall <mpm@selenic.com> [Mon, 04 Jun 2012 16:59:57 -0500] rev 16864
merge with stable
Bryan O'Sullivan <bryano@fb.com> [Fri, 01 Jun 2012 15:19:08 -0700] rev 16863
parsers: replace magic number 64 with symbolic constant
Bryan O'Sullivan <bryano@fb.com> [Fri, 01 Jun 2012 15:50:22 -0700] rev 16862
revset: introduce and use _revsbetween
This is similar in spirit to revlog.nodesbetween, but less ambitious,
much simpler, and ~2x faster.
Bryan O'Sullivan <bryano@fb.com> [Fri, 01 Jun 2012 15:50:22 -0700] rev 16861
revset: implement dagrange directly
This is much faster than the older implementation (~8x).
Bryan O'Sullivan <bryano@fb.com> [Fri, 01 Jun 2012 15:50:22 -0700] rev 16860
revset: turn dagrange into a function