# HG changeset patch # User Patrick Mezard # Date 1191702622 -7200 # Node ID 8feb33c2d15344b08cce08477c20cbbc77f8961a # Parent 67d3daa8ac42c01e270fb1daf4a8e70c4eba4d28 Display symlink or executable bit with manifest -v New output looks like: 644 a 755 * b/a 644 @ l diff --git a/mercurial/commands.py b/mercurial/commands.py --- 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): diff --git a/tests/test-basic.out b/tests/test-basic.out --- 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 diff --git a/tests/test-convert-filemap.out b/tests/test-convert-filemap.out --- 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 diff --git a/tests/test-convert-git.out b/tests/test-convert-git.out --- 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 diff --git a/tests/test-empty-file.out b/tests/test-empty-file.out --- 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 diff --git a/tests/test-excessive-merge.out b/tests/test-excessive-merge.out --- 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 diff --git a/tests/test-filebranch.out b/tests/test-filebranch.out --- 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 diff --git a/tests/test-git-import.out b/tests/test-git-import.out --- 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 diff --git a/tests/test-issue522.out b/tests/test-issue522.out --- 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 diff --git a/tests/test-manifest.out b/tests/test-manifest.out --- 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 diff --git a/tests/test-merge6.out b/tests/test-merge6.out --- 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 diff --git a/tests/test-pull.out b/tests/test-pull.out --- 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 diff --git a/tests/test-rawcommit1.out b/tests/test-rawcommit1.out --- 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 diff --git a/tests/test-simple-update.out b/tests/test-simple-update.out --- 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 diff --git a/tests/test-symlink-basic.out b/tests/test-symlink-basic.out --- 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: