Add -p to incoming and outgoing commands to show patch
authorTK Soh <teekaysoh@yahoo.com>
Thu, 01 Sep 2005 09:11:25 -0700
changeset 1192 6e165de907c5
parent 1191 77a0c7528c2f
child 1193 04d1ca8ae9ec
Add -p to incoming and outgoing commands to show patch
doc/hg.1.txt
mercurial/commands.py
--- a/doc/hg.1.txt	Thu Sep 01 09:08:21 2005 -0700
+++ b/doc/hg.1.txt	Thu Sep 01 09:11:25 2005 -0700
@@ -266,13 +266,16 @@
 
     aliases: patch
 
-incoming [source]::
+incoming [-p] [source]::
     Show new changesets found in the specified repo or the default
     pull repo. These are the changesets that would be pulled if a pull
     was requested.
 
     Currently only local repositories are supported.
 
+    options:
+    -p, --patch           show patch
+
     aliases: in
 
 init [dest]::
@@ -327,11 +330,14 @@
     The manifest is the list of files being version controlled. If no revision
     is given then the tip is used.
 
-outgoing [dest]:: 
+outgoing [-p] [dest]:: 
     Show changesets not found in the specified destination repo or the
     default push repo. These are the changesets that would be pushed
     if a push was requested.
 
+    options:
+    -p, --patch           show patch
+
     aliases: out
 
 parents::
--- a/mercurial/commands.py	Thu Sep 01 09:08:21 2005 -0700
+++ b/mercurial/commands.py	Thu Sep 01 09:11:25 2005 -0700
@@ -1064,7 +1064,7 @@
             addremove(ui, repo, *files)
         repo.commit(files, message, user)
 
-def incoming(ui, repo, source="default"):
+def incoming(ui, repo, source="default", **opts):
     """show new changesets found in source"""
     source = ui.expandpath(source)
     other = hg.repository(ui, source)
@@ -1079,6 +1079,10 @@
     o.reverse()
     for n in o:
         show_changeset(ui, other, changenode=n)
+        if opts['patch']:
+            prev = other.changelog.parents(n)[0]
+            dodiff(ui, ui, other, prev, n)
+            ui.write("\n")
 
 def init(ui, dest="."):
     """create a new repository in the given directory"""
@@ -1160,7 +1164,7 @@
     for f in files:
         ui.write("%40s %3s %s\n" % (hex(m[f]), mf[f] and "755" or "644", f))
 
-def outgoing(ui, repo, dest="default-push"):
+def outgoing(ui, repo, dest="default-push", **opts):
     """show changesets not found in destination"""
     dest = ui.expandpath(dest)
     other = hg.repository(ui, dest)
@@ -1169,6 +1173,10 @@
     o.reverse()
     for n in o:
         show_changeset(ui, repo, changenode=n)
+        if opts['patch']:
+            prev = repo.changelog.parents(n)[0]
+            dodiff(ui, ui, repo, prev, n)
+            ui.write("\n")
 
 def parents(ui, repo, rev=None):
     """show the parents of the working dir or revision"""
@@ -1663,7 +1671,9 @@
           ('b', 'base', "", 'base path'),
           ('m', 'mail-like', None, 'apply a patch that looks like email')],
          "hg import [-f] [-p NUM] [-b BASE] PATCH..."),
-    "incoming|in": (incoming, [], 'hg incoming [SOURCE]'),
+    "incoming|in": (incoming, 
+         [('p', 'patch', None, 'show patch')],
+         'hg incoming [-p] [SOURCE]'),
     "^init": (init, [], 'hg init [DEST]'),
     "locate":
         (locate,
@@ -1681,7 +1691,9 @@
           ('p', 'patch', None, 'show patch')],
          'hg log [-I] [-X] [-r REV]... [-p] [FILE]'),
     "manifest": (manifest, [], 'hg manifest [REV]'),
-    "outgoing|out": (outgoing, [], 'hg outgoing [DEST]'),
+    "outgoing|out": (outgoing, 
+         [('p', 'patch', None, 'show patch')],
+         'hg outgoing [-p] [DEST]'),
     "parents": (parents, [], 'hg parents [REV]'),
     "paths": (paths, [], 'hg paths [NAME]'),
     "^pull":