[PATCH 1 of 2 V2] changelog: add a new method to get files modified by a changeset
Laurent Charignon
lcharignon at fb.com
Fri Dec 18 21:46:37 UTC 2015
# HG changeset patch
# User Laurent Charignon <lcharignon at fb.com>
# Date 1450475155 28800
# Fri Dec 18 13:45:55 2015 -0800
# Node ID a3cbd0149d66905bd7ed4d28e053f8362d38da9f
# Parent 71aa5a26162d6e4a165b68f07b331e3e2eedc117
changelog: add a new method to get files modified by a changeset
This patch adds a new method "readfiles" to get the files modified by a
changeset. It extracts some logic from "read" to only return the files modified
by a changeset as efficiently as possible. This is used in the next patch to
speed up hg log <file|folder>
diff --git a/mercurial/changelog.py b/mercurial/changelog.py
--- a/mercurial/changelog.py
+++ b/mercurial/changelog.py
@@ -360,6 +360,17 @@
files = l[3:]
return (manifest, user, (time, timezone), files, desc, extra)
+ def readfiles(self, node):
+ """
+ short version of read that only returns the files modified by the cset
+ """
+ text = self.revision(node)
+ if not text:
+ return []
+ last = text.index("\n\n")
+ l = text[:last].split('\n')
+ return l[3:]
+
def add(self, manifest, files, desc, transaction, p1, p2,
user, date=None, extra=None):
# Convert to UTF-8 encoded bytestrings as the very first
More information about the Mercurial-devel
mailing list