changeset 3832:08c169cbd9e1

Merge with mpm
author Brendan Cully <brendan@kublai.com>
date Fri, 08 Dec 2006 12:53:51 -0800
parents 2db191165e9a (current diff) 676b75547d13 (diff)
children 63f8f74ac4a8
files mercurial/commands.py
diffstat 2 files changed, 23 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/commands.py	Fri Dec 08 12:52:17 2006 -0800
+++ b/mercurial/commands.py	Fri Dec 08 12:53:51 2006 -0800
@@ -856,6 +856,10 @@
 
     Differences between files are shown using the unified diff format.
 
+    NOTE: diff may generate unexpected results for merges, as it will
+    default to comparing against the working directory's first parent
+    changeset if no revisions are specified.
+
     When two revision arguments are given, then changes are shown
     between those revisions. If only one revision is specified then
     that revision is compared to the working directory, and, when no
@@ -879,7 +883,10 @@
     Print the changeset header and diffs for one or more revisions.
 
     The information shown in the changeset header is: author,
-    changeset hash, parent and commit comment.
+    changeset hash, parent(s) and commit comment.
+
+    NOTE: export may generate unexpected diff output for merge changesets,
+    as it will compare the merge changeset against its first parent only.
 
     Output may be to a file, in which case the name of the file is
     given using a format string.  The formatting rules are as follows:
@@ -1477,6 +1484,12 @@
     non-trivial parents, user, date and time, and a summary for each
     commit. When the -v/--verbose switch is used, the list of changed
     files and full commit message is shown.
+
+    NOTE: log -p may generate unexpected diff output for merge
+    changesets, as it will compare the merge changeset against its
+    first parent only. Also, the files: list will only reflect files
+    that are different from BOTH parents.
+
     """
 
     get = util.cachefunc(lambda r: repo.changectx(r).changeset())
@@ -2174,6 +2187,11 @@
     files that match are shown.  Files that are clean or ignored, are
     not listed unless -c (clean), -i (ignored) or -A is given.
 
+    NOTE: status may appear to disagree with diff if permissions have
+    changed or a merge has occurred. The standard diff format does not
+    report permission changes and diff only reports changes relative
+    to one merge parent.
+
     If one revision is given, it is used as the base revision.
     If two revisions are given, the difference between them is shown.
 
--- a/mercurial/context.py	Fri Dec 08 12:52:17 2006 -0800
+++ b/mercurial/context.py	Fri Dec 08 12:53:51 2006 -0800
@@ -384,7 +384,10 @@
         for i, l in (("a", added), ("m", modified), ("u", unknown)):
             for f in l:
                 man[f] = man.get(copied.get(f, f), nullid) + i
-                man.set(f, util.is_exec(self._repo.wjoin(f), man.execf(f)))
+                try:
+                    man.set(f, util.is_exec(self._repo.wjoin(f), man.execf(f)))
+                except OSError:
+                    pass
 
         for f in deleted + removed:
             if f in man: