changeset 5405:8feb33c2d153

Display symlink or executable bit with manifest -v New output looks like: 644 a 755 * b/a 644 @ l
author Patrick Mezard <pmezard@gmail.com>
date Sat, 06 Oct 2007 22:30:22 +0200
parents 67d3daa8ac42
children f11554a097c8
files mercurial/commands.py tests/test-basic.out tests/test-convert-filemap.out tests/test-convert-git.out tests/test-empty-file.out tests/test-excessive-merge.out tests/test-filebranch.out tests/test-git-import.out tests/test-issue522.out tests/test-manifest.out tests/test-merge6.out tests/test-pull.out tests/test-rawcommit1.out tests/test-simple-update.out tests/test-symlink-basic.out
diffstat 15 files changed, 84 insertions(+), 82 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -1884,8 +1884,8 @@ def manifest(ui, repo, node=None, rev=No
     The manifest is the list of files being version controlled. If no revision
     is given then the first parent of the working directory is used.
 
-    With -v flag, print file permissions. With --debug flag, print
-    file revision hashes.
+    With -v flag, print file permissions, symlink and executable bits. With 
+    --debug flag, print file revision hashes.
     """
 
     if rev and node:
@@ -1902,7 +1902,9 @@ def manifest(ui, repo, node=None, rev=No
         if ui.debugflag:
             ui.write("%40s " % hex(m[f]))
         if ui.verbose:
-            ui.write("%3s " % (m.execf(f) and "755" or "644"))
+            type = m.execf(f) and "*" or m.linkf(f) and "@" or " "
+            perm = m.execf(f) and "755" or "644"
+            ui.write("%3s %1s " % (perm, type))
         ui.write("%s\n" % f)
 
 def merge(ui, repo, node=None, force=None, rev=None):
--- a/tests/test-basic.out
+++ b/tests/test-basic.out
@@ -4,7 +4,7 @@ user:        test
 date:        Mon Jan 12 13:46:40 1970 +0000
 summary:     test
 
-b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 644 a
+b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 644   a
 a
 checking changesets
 checking manifests
--- a/tests/test-convert-filemap.out
+++ b/tests/test-convert-filemap.out
@@ -17,13 +17,13 @@ o  1 "1: add bar quux; copy foo to copie
 o  0 "0: add foo baz dir/" files: baz dir/file dir/file2 foo
 
 % final file versions in this repo:
-9463f52fe115e377cf2878d4fc548117211063f2 644 bar
-94c1be4dfde2ee8d78db8bbfcf81210813307c3d 644 baz
-6ca237634e1f6bee1b6db94292fb44f092a25842 644 copied
-3e20847584beff41d7cd16136b7331ab3d754be0 644 dir/file
-75e6d3f8328f5f6ace6bf10b98df793416a09dca 644 dir/file2
-9a7b52012991e4873687192c3e17e61ba3e837a3 644 foo
-bc3eca3f47023a3e70ca0d8cc95a22a6827db19d 644 quux
+9463f52fe115e377cf2878d4fc548117211063f2 644   bar
+94c1be4dfde2ee8d78db8bbfcf81210813307c3d 644   baz
+6ca237634e1f6bee1b6db94292fb44f092a25842 644   copied
+3e20847584beff41d7cd16136b7331ab3d754be0 644   dir/file
+75e6d3f8328f5f6ace6bf10b98df793416a09dca 644   dir/file2
+9a7b52012991e4873687192c3e17e61ba3e837a3 644   foo
+bc3eca3f47023a3e70ca0d8cc95a22a6827db19d 644   quux
 copied renamed from foo:2ed2a3912a0b24502043eae84ee4b279c18b90dd
 
 % foo: skip unwanted merges; use 1st parent in 1st merge, 2nd in 2nd
@@ -35,7 +35,7 @@ o  1 "2: change foo" files: foo
 |
 o  0 "0: add foo baz dir/" files: foo
 
-9a7b52012991e4873687192c3e17e61ba3e837a3 644 foo
+9a7b52012991e4873687192c3e17e61ba3e837a3 644   foo
 % bar: merges are not merges anymore
 o  4 "7: second merge; change bar" files: bar
 |
@@ -47,7 +47,7 @@ o  1 "3: change bar quux" files: bar
 |
 o  0 "1: add bar quux; copy foo to copied" files: bar
 
-9463f52fe115e377cf2878d4fc548117211063f2 644 bar
+9463f52fe115e377cf2878d4fc548117211063f2 644   bar
 % baz: 1st merge is not a merge anymore; 2nd still is
 o    4 "7: second merge; change bar" files: baz
 |\
@@ -59,7 +59,7 @@ o  1 "4: first merge; change bar baz" fi
 |
 o  0 "0: add foo baz dir/" files: baz
 
-94c1be4dfde2ee8d78db8bbfcf81210813307c3d 644 baz
+94c1be4dfde2ee8d78db8bbfcf81210813307c3d 644   baz
 % foo quux: we add additional merges when they are interesting
 o  8 "8: change foo" files: foo
 |
@@ -79,15 +79,15 @@ o  1 "1: add bar quux; copy foo to copie
 |
 o  0 "0: add foo baz dir/" files: foo
 
-9a7b52012991e4873687192c3e17e61ba3e837a3 644 foo
-bc3eca3f47023a3e70ca0d8cc95a22a6827db19d 644 quux
+9a7b52012991e4873687192c3e17e61ba3e837a3 644   foo
+bc3eca3f47023a3e70ca0d8cc95a22a6827db19d 644   quux
 % bar quux: partial conversion
 o  1 "3: change bar quux" files: bar quux
 |
 o  0 "1: add bar quux; copy foo to copied" files: bar quux
 
-b79105bedc55102f394e90a789c9c380117c1b4a 644 bar
-db0421cc6b685a458c8d86c7d5c004f94429ea23 644 quux
+b79105bedc55102f394e90a789c9c380117c1b4a 644   bar
+db0421cc6b685a458c8d86c7d5c004f94429ea23 644   quux
 % bar quux: complete the partial conversion
 o  4 "7: second merge; change bar" files: bar
 |
@@ -99,12 +99,12 @@ o  1 "3: change bar quux" files: bar quu
 |
 o  0 "1: add bar quux; copy foo to copied" files: bar quux
 
-9463f52fe115e377cf2878d4fc548117211063f2 644 bar
-bc3eca3f47023a3e70ca0d8cc95a22a6827db19d 644 quux
+9463f52fe115e377cf2878d4fc548117211063f2 644   bar
+bc3eca3f47023a3e70ca0d8cc95a22a6827db19d 644   quux
 % foo: partial conversion
 o  0 "0: add foo baz dir/" files: foo
 
-2ed2a3912a0b24502043eae84ee4b279c18b90dd 644 foo
+2ed2a3912a0b24502043eae84ee4b279c18b90dd 644   foo
 % foo: complete the partial conversion
 o  3 "8: change foo" files: foo
 |
@@ -114,11 +114,11 @@ o  1 "2: change foo" files: foo
 |
 o  0 "0: add foo baz dir/" files: foo
 
-9a7b52012991e4873687192c3e17e61ba3e837a3 644 foo
+9a7b52012991e4873687192c3e17e61ba3e837a3 644   foo
 % copied: copied file; source not included in new repo
 o  0 "1: add bar quux; copy foo to copied" files: copied
 
-2ed2a3912a0b24502043eae84ee4b279c18b90dd 644 copied
+2ed2a3912a0b24502043eae84ee4b279c18b90dd 644   copied
 copied not renamed
 % foo copied: copied file; source included in new repo
 o  4 "8: change foo" files: foo
@@ -131,8 +131,8 @@ o  1 "1: add bar quux; copy foo to copie
 |
 o  0 "0: add foo baz dir/" files: foo
 
-6ca237634e1f6bee1b6db94292fb44f092a25842 644 copied
-9a7b52012991e4873687192c3e17e61ba3e837a3 644 foo
+6ca237634e1f6bee1b6db94292fb44f092a25842 644   copied
+9a7b52012991e4873687192c3e17e61ba3e837a3 644   foo
 copied renamed from foo:2ed2a3912a0b24502043eae84ee4b279c18b90dd
 o  4 "8: change foo" files: foo2
 |
@@ -144,9 +144,9 @@ o  1 "1: add bar quux; copy foo to copie
 |
 o  0 "0: add foo baz dir/" files: dir2/file foo2
 
-e5e3d520be9be45937d0b06b004fadcd6c221fa2 644 copied2
-3e20847584beff41d7cd16136b7331ab3d754be0 644 dir2/file
-9a7b52012991e4873687192c3e17e61ba3e837a3 644 foo2
+e5e3d520be9be45937d0b06b004fadcd6c221fa2 644   copied2
+3e20847584beff41d7cd16136b7331ab3d754be0 644   dir2/file
+9a7b52012991e4873687192c3e17e61ba3e837a3 644   foo2
 copied2 renamed from foo2:2ed2a3912a0b24502043eae84ee4b279c18b90dd
 copied:
 foo
--- a/tests/test-convert-git.out
+++ b/tests/test-convert-git.out
@@ -44,10 +44,10 @@ o |  2 "add quux" files: quux
 |/
 o  0 "add foo" files: foo
 
-245a3b8bc653999c2b22cdabd517ccb47aecafdf 644 bar
-354ae8da6e890359ef49ade27b68bbc361f3ca88 644 baz
-9277c9cc8dd4576fc01a17939b4351e5ada93466 644 foo
-88dfeab657e8cf2cef3dec67b914f49791ae76b1 644 quux
+245a3b8bc653999c2b22cdabd517ccb47aecafdf 644   bar
+354ae8da6e890359ef49ade27b68bbc361f3ca88 644   baz
+9277c9cc8dd4576fc01a17939b4351e5ada93466 644   foo
+88dfeab657e8cf2cef3dec67b914f49791ae76b1 644   quux
 % foo bar baz: octopus merge
 o    8 "Discard change to foo" files: foo
 |\
@@ -67,9 +67,9 @@ o | |  3 "add baz" files: baz
 |/
 o  0 "add foo" files: foo
 
-245a3b8bc653999c2b22cdabd517ccb47aecafdf 644 bar
-354ae8da6e890359ef49ade27b68bbc361f3ca88 644 baz
-9277c9cc8dd4576fc01a17939b4351e5ada93466 644 foo
+245a3b8bc653999c2b22cdabd517ccb47aecafdf 644   bar
+354ae8da6e890359ef49ade27b68bbc361f3ca88 644   baz
+9277c9cc8dd4576fc01a17939b4351e5ada93466 644   foo
 % foo baz quux: only some parents of an octopus merge; "discard" a head
 o  6 "Discard change to foo" files: foo
 |
@@ -85,6 +85,6 @@ o |  1 "change foo" files: foo
 |/
 o  0 "add foo" files: foo
 
-354ae8da6e890359ef49ade27b68bbc361f3ca88 644 baz
-9277c9cc8dd4576fc01a17939b4351e5ada93466 644 foo
-88dfeab657e8cf2cef3dec67b914f49791ae76b1 644 quux
+354ae8da6e890359ef49ade27b68bbc361f3ca88 644   baz
+9277c9cc8dd4576fc01a17939b4351e5ada93466 644   foo
+88dfeab657e8cf2cef3dec67b914f49791ae76b1 644   quux
--- a/tests/test-empty-file.out
+++ b/tests/test-empty-file.out
@@ -14,6 +14,6 @@ summary:     add empty2
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 (branch merge, don't forget to commit)
 M empty2
-b80de5d138758541c5f05265ad144ab9fa86d1db 644 empty1
-b80de5d138758541c5f05265ad144ab9fa86d1db 644 empty2
-b80de5d138758541c5f05265ad144ab9fa86d1db 644 empty3
+b80de5d138758541c5f05265ad144ab9fa86d1db 644   empty1
+b80de5d138758541c5f05265ad144ab9fa86d1db 644   empty2
+b80de5d138758541c5f05265ad144ab9fa86d1db 644   empty3
--- a/tests/test-excessive-merge.out
+++ b/tests/test-excessive-merge.out
@@ -43,17 +43,17 @@ summary:     test
      4       275      29      3       4 f6c172c6198c 448a8c5e42f1 7c5dc2e857f2
 
 1
-79d7492df40aa0fa093ec4209be78043c181f094 644 a
-2ed2a3912a0b24502043eae84ee4b279c18b90dd 644 b
+79d7492df40aa0fa093ec4209be78043c181f094 644   a
+2ed2a3912a0b24502043eae84ee4b279c18b90dd 644   b
 2
-2ed2a3912a0b24502043eae84ee4b279c18b90dd 644 a
-79d7492df40aa0fa093ec4209be78043c181f094 644 b
+2ed2a3912a0b24502043eae84ee4b279c18b90dd 644   a
+79d7492df40aa0fa093ec4209be78043c181f094 644   b
 3
-79d7492df40aa0fa093ec4209be78043c181f094 644 a
-79d7492df40aa0fa093ec4209be78043c181f094 644 b
+79d7492df40aa0fa093ec4209be78043c181f094 644   a
+79d7492df40aa0fa093ec4209be78043c181f094 644   b
 4
-79d7492df40aa0fa093ec4209be78043c181f094 644 a
-79d7492df40aa0fa093ec4209be78043c181f094 644 b
+79d7492df40aa0fa093ec4209be78043c181f094 644   a
+79d7492df40aa0fa093ec4209be78043c181f094 644   b
 
    rev    offset  length   base linkrev nodeid       p1           p2
      0         0       5      0       0 2ed2a3912a0b 000000000000 000000000000
--- a/tests/test-filebranch.out
+++ b/tests/test-filebranch.out
@@ -60,10 +60,10 @@ quux: we shouldn't have a merge here
      0         0       3      0       0 b8e02f643373 000000000000 000000000000
      1         3       5      1       3 6128c0f33108 b8e02f643373 000000000000
 manifest entries should match tips of all files
-33d1fb69067a0139622a3fa3b7ba1cdb1367972e 644 bar
-2ffeddde1b65b4827f6746174a145474129fa2ce 644 baz
-aa27919ee4303cfd575e1fb932dd64d75aa08be4 644 foo
-6128c0f33108e8cfbb4e0824d13ae48b466d7280 644 quux
+33d1fb69067a0139622a3fa3b7ba1cdb1367972e 644   bar
+2ffeddde1b65b4827f6746174a145474129fa2ce 644   baz
+aa27919ee4303cfd575e1fb932dd64d75aa08be4 644   foo
+6128c0f33108e8cfbb4e0824d13ae48b466d7280 644   quux
 everything should be clean now
 checking changesets
 checking manifests
--- a/tests/test-git-import.out
+++ b/tests/test-git-import.out
@@ -55,11 +55,11 @@ a
 % binary files and regular patch hunks
 applying patch from stdin
 foo
-045c85ba38952325e126c70962cc0f9d9077bc67 644 binary
+045c85ba38952325e126c70962cc0f9d9077bc67 644   binary
 % many binary files
 applying patch from stdin
-045c85ba38952325e126c70962cc0f9d9077bc67 644 mbinary1
-a874b471193996e7cb034bb301cac7bdaf3e3f46 644 mbinary2
+045c85ba38952325e126c70962cc0f9d9077bc67 644   mbinary1
+a874b471193996e7cb034bb301cac7bdaf3e3f46 644   mbinary2
 % filenames with spaces
 applying patch from stdin
 foo
--- a/tests/test-issue522.out
+++ b/tests/test-issue522.out
@@ -13,7 +13,7 @@ 1 files updated, 0 files merged, 0 files
 (branch merge, don't forget to commit)
 n   0         -2 unset             foo
 M foo
-c6fc755d7e68f49f880599da29f15add41f42f5a 644 foo
+c6fc755d7e68f49f880599da29f15add41f42f5a 644   foo
    rev    offset  length   base linkrev nodeid       p1           p2
      0         0       5      0       0 2ed2a3912a0b 000000000000 000000000000
      1         5       9      1       1 6f4310b00b9a 2ed2a3912a0b 000000000000
--- a/tests/test-manifest.out
+++ b/tests/test-manifest.out
@@ -2,10 +2,10 @@ adding a
 adding b/a
 a
 b/a
-644 a
-644 b/a
-b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 644 a
-b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 644 b/a
+644   a
+644   b/a
+b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 644   a
+b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 644   b/a
 a
 a
 b/a
--- a/tests/test-merge6.out
+++ b/tests/test-merge6.out
@@ -11,7 +11,7 @@ added 1 changesets with 1 changes to 1 f
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 (branch merge, don't forget to commit)
 bar should remain deleted.
-f9b0e817f6a48de3564c6b2957687c5e7297c5a0 644 foo
+f9b0e817f6a48de3564c6b2957687c5e7297c5a0 644   foo
 pulling from ../A2
 searching for changes
 adding changesets
@@ -22,4 +22,4 @@ added 1 changesets with 0 changes to 0 f
 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
 (branch merge, don't forget to commit)
 bar should remain deleted.
-f9b0e817f6a48de3564c6b2957687c5e7297c5a0 644 foo
+f9b0e817f6a48de3564c6b2957687c5e7297c5a0 644   foo
--- a/tests/test-pull.out
+++ b/tests/test-pull.out
@@ -17,7 +17,7 @@ checking files
 1 files, 1 changesets, 1 total revisions
 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
 foo
-2ed2a3912a0b24502043eae84ee4b279c18b90dd 644 foo
+2ed2a3912a0b24502043eae84ee4b279c18b90dd 644   foo
 pulling from http://localhost/
 searching for changes
 no changes found
--- a/tests/test-rawcommit1.out
+++ b/tests/test-rawcommit1.out
@@ -1,9 +1,9 @@
-05f9e54f4c9b86b09099803d8b49a50edcb4eaab 644 a
-54837d97f2932a8194e69745a280a2c11e61ff9c 644 b
+05f9e54f4c9b86b09099803d8b49a50edcb4eaab 644   a
+54837d97f2932a8194e69745a280a2c11e61ff9c 644   b
 (the rawcommit command is deprecated)
-05f9e54f4c9b86b09099803d8b49a50edcb4eaab 644 a
-54837d97f2932a8194e69745a280a2c11e61ff9c 644 b
-76d5e637cbec1bcc04a5a3fa4bcc7d13f6847c00 644 c
+05f9e54f4c9b86b09099803d8b49a50edcb4eaab 644   a
+54837d97f2932a8194e69745a280a2c11e61ff9c 644   b
+76d5e637cbec1bcc04a5a3fa4bcc7d13f6847c00 644   c
 changeset:   2:e110db3db549
 tag:         tip
 user:        test
@@ -14,8 +14,8 @@ 2
 
 
 (the rawcommit command is deprecated)
-05f9e54f4c9b86b09099803d8b49a50edcb4eaab 644 a
-76d5e637cbec1bcc04a5a3fa4bcc7d13f6847c00 644 c
+05f9e54f4c9b86b09099803d8b49a50edcb4eaab 644   a
+76d5e637cbec1bcc04a5a3fa4bcc7d13f6847c00 644   c
 changeset:   3:20652cf30cc0
 tag:         tip
 user:        test
@@ -26,8 +26,8 @@ 3
 
 
 (the rawcommit command is deprecated)
-d6e3c4976c13feb1728cd3ac851abaf7256a5c23 644 a
-76d5e637cbec1bcc04a5a3fa4bcc7d13f6847c00 644 c
+d6e3c4976c13feb1728cd3ac851abaf7256a5c23 644   a
+76d5e637cbec1bcc04a5a3fa4bcc7d13f6847c00 644   c
 changeset:   4:42556b925639
 tag:         tip
 user:        test
@@ -38,9 +38,9 @@ 4
 
 
 (the rawcommit command is deprecated)
-05f9e54f4c9b86b09099803d8b49a50edcb4eaab 644 a
-54837d97f2932a8194e69745a280a2c11e61ff9c 644 b
-3570202ceac2b52517df64ebd0a062cb0d8fe33a 644 c
+05f9e54f4c9b86b09099803d8b49a50edcb4eaab 644   a
+54837d97f2932a8194e69745a280a2c11e61ff9c 644   b
+3570202ceac2b52517df64ebd0a062cb0d8fe33a 644   c
 changeset:   4:42556b925639
 user:        test
 date:        Mon Jan 12 13:46:40 1970 +0000
@@ -50,8 +50,8 @@ 4
 
 
 (the rawcommit command is deprecated)
-d6e3c4976c13feb1728cd3ac851abaf7256a5c23 644 a
-76d5e637cbec1bcc04a5a3fa4bcc7d13f6847c00 644 c
+d6e3c4976c13feb1728cd3ac851abaf7256a5c23 644   a
+76d5e637cbec1bcc04a5a3fa4bcc7d13f6847c00 644   c
 changeset:   6:8a0c9254b0ab
 tag:         tip
 parent:      4:42556b925639
@@ -63,8 +63,8 @@ 6
 
 
 (the rawcommit command is deprecated)
-d6e3c4976c13feb1728cd3ac851abaf7256a5c23 644 a
-76d5e637cbec1bcc04a5a3fa4bcc7d13f6847c00 644 c
+d6e3c4976c13feb1728cd3ac851abaf7256a5c23 644   a
+76d5e637cbec1bcc04a5a3fa4bcc7d13f6847c00 644   c
 changeset:   7:a5a6e1f312b9
 tag:         tip
 user:        test
--- a/tests/test-simple-update.out
+++ b/tests/test-simple-update.out
@@ -21,4 +21,4 @@ 1 files, 2 changesets, 2 total revisions
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 foo
 bar
-6f4310b00b9a147241b071a60c28a650827fb03d 644 foo
+6f4310b00b9a147241b071a60c28a650827fb03d 644   foo
--- a/tests/test-symlink-basic.out
+++ b/tests/test-symlink-basic.out
@@ -8,7 +8,7 @@ description:
 add symlink
 
 
-2564acbe54bbbedfbf608479340b359f04597f80 644 dangling
+2564acbe54bbbedfbf608479340b359f04597f80 644 @ dangling
 % rev 0:
 dangling -> nothing
 % rev 1: