--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/hg2 Sat Jun 18 16:53:49 2011 -0500
@@ -0,0 +1,38 @@
+#!/usr/bin/env python
+#
+# mercurial - scalable distributed SCM
+#
+# Copyright 2005-2007 Matt Mackall <mpm@selenic.com>
+#
+# This software may be used and distributed according to the terms of the
+# GNU General Public License version 2 or any later version.
+
+import os
+import sys
+
+libdir = '@LIBDIR@'
+
+if libdir != '@' 'LIBDIR' '@':
+ if not os.path.isabs(libdir):
+ libdir = os.path.join(os.path.dirname(os.path.realpath(__file__)),
+ libdir)
+ libdir = os.path.abspath(libdir)
+ sys.path.insert(0, libdir)
+
+# enable importing on demand to reduce startup time
+try:
+ from mercurial import demandimport; demandimport.enable()
+except ImportError:
+ import sys
+ sys.stderr.write("abort: couldn't find mercurial libraries in [%s]\n" %
+ ' '.join(sys.path))
+ sys.stderr.write("(check your install and PYTHONPATH)\n")
+ sys.exit(-1)
+
+import mercurial.util
+import mercurial.dispatch
+
+for fp in (sys.stdin, sys.stdout, sys.stderr):
+ mercurial.util.setbinary(fp)
+
+mercurial.dispatch.run()
--- a/mercurial/fileset.py Sat Jun 18 16:53:49 2011 -0500
+++ b/mercurial/fileset.py Sat Jun 18 16:53:49 2011 -0500
@@ -335,10 +335,22 @@
return s
+def copied(mctx, x):
+ """``copied()``
+ File that is recorded as being copied.
+ """
+ s = []
+ for f in mctx.subset:
+ p = mctx.ctx[f].parents()
+ if p and p[0].path() != f:
+ s.append(f)
+ return s
+
symbols = {
'added': added,
'binary': binary,
'clean': clean,
+ 'copied': copied,
'deleted': deleted,
'encoding': encoding,
'exec': exec_,