diff -r c1fd827e1ae0 -r fcd12b310148 mercurial/revset.py --- a/mercurial/revset.py Mon Oct 06 12:52:36 2014 -0700 +++ b/mercurial/revset.py Mon Oct 06 14:42:00 2014 -0700 @@ -2387,6 +2387,16 @@ This is part of the mandatory API for smartset.""" return False + def first(self): + if self: + return self[0] + return None + + def last(self): + if self: + return self[-1] + return None + class filteredset(abstractsmartset): """Duck type for baseset class which iterates lazily over the revisions in the subset and contains a function which tests for membership in the