diff --git a/mercurial/manifest.py b/mercurial/manifest.py
index ba5f20450b10c4ca1f89dca10c1d8a68a7d129ee_bWVyY3VyaWFsL21hbmlmZXN0LnB5..2a31433a59bafbf94f3d2f9a8895f0ed710ddfa0_bWVyY3VyaWFsL21hbmlmZXN0LnB5 100644
--- a/mercurial/manifest.py
+++ b/mercurial/manifest.py
@@ -617,7 +617,7 @@
 
     def setflag(self, f, flags):
         """Set the flags (symlink, executable) for path f."""
-        assert 'd' not in flags
+        assert 't' not in flags
         self._load()
         dir, subpath = _splittopdir(f)
         if dir:
@@ -815,7 +815,7 @@
 
     def parse(self, text, readsubtree):
         for f, n, fl in _parse(text):
-            if fl == 'd':
+            if fl == 't':
                 f = f + '/'
                 self._dirs[f] = readsubtree(self._subpath(f), n)
             elif '/' in f:
@@ -846,7 +846,7 @@
         """
         self._load()
         flags = self.flags
-        dirs = [(d[:-1], self._dirs[d]._node, 'd') for d in self._dirs]
+        dirs = [(d[:-1], self._dirs[d]._node, 't') for d in self._dirs]
         files = [(f, self._files[f], flags(f)) for f in self._files]
         return _text(sorted(dirs + files), usemanifestv2)
 
diff --git a/tests/test-treemanifest.t b/tests/test-treemanifest.t
index ba5f20450b10c4ca1f89dca10c1d8a68a7d129ee_dGVzdHMvdGVzdC10cmVlbWFuaWZlc3QudA==..2a31433a59bafbf94f3d2f9a8895f0ed710ddfa0_dGVzdHMvdGVzdC10cmVlbWFuaWZlc3QudA== 100644
--- a/tests/test-treemanifest.t
+++ b/tests/test-treemanifest.t
@@ -32,7 +32,7 @@
   $ hg debugdata -m 1
   a\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe (esc)
   b\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe (esc)
-  dir1\x008b3ffd73f901e83304c83d33132c8e774ceac44ed (esc)
+  dir1\x008b3ffd73f901e83304c83d33132c8e774ceac44et (esc)
   e\x00b8e02f6433738021a065f94175c7cd23db5f05be (esc)
   $ hg debugdata --dir dir1 0
   a\x00b8e02f6433738021a065f94175c7cd23db5f05be (esc)
@@ -124,11 +124,11 @@
   $ hg debugindex --dir dir1
      rev    offset  length  delta linkrev nodeid       p1           p2
        0         0      54     -1       1 8b3ffd73f901 000000000000 000000000000
-       1        54      68      0       2 b66d046c644f 8b3ffd73f901 000000000000
-       2       122      12      1       4 b87265673c8a b66d046c644f 000000000000
-       3       134      55      1       5 aa5d3adcec72 b66d046c644f 000000000000
-       4       189      55      1       6 e29b066b91ad b66d046c644f 000000000000
-       5       244      55      4       7 a120ce2b83f5 e29b066b91ad aa5d3adcec72
+       1        54      68      0       2 68e9d057c5a8 8b3ffd73f901 000000000000
+       2       122      12      1       4 4698198d2624 68e9d057c5a8 000000000000
+       3       134      55      1       5 44844058ccce 68e9d057c5a8 000000000000
+       4       189      55      1       6 bf3d9b744927 68e9d057c5a8 000000000000
+       5       244      55      4       7 dde7c0af2a03 bf3d9b744927 44844058ccce
 
 Merge keeping directory from parent 1 does not create revlog entry. (Note that
 dir1's manifest does change, but only because dir1/a's filelog changes.)
@@ -259,8 +259,8 @@
        1        80      83      0       1 f3376063c255 40536115ed9e 000000000000
        2       163      89      0       2 5d9b9da231a2 40536115ed9e 000000000000
        3       252      83      2       3 d17d663cbd8a 5d9b9da231a2 f3376063c255
-       4       335     124      1       4 c05a51345f86 f3376063c255 000000000000
-       5       459     124      2       5 82594b1f557d 5d9b9da231a2 f3376063c255
+       4       335     124      1       4 51e32a8c60ee f3376063c255 000000000000
+       5       459     126      2       5 cc5baa78b230 5d9b9da231a2 f3376063c255
 
 
 Status across flat/tree boundary should work
@@ -275,9 +275,9 @@
 
   $ hg debugindex .hg/store/meta/dir1/00manifest.i
      rev    offset  length  delta linkrev nodeid       p1           p2
-       0         0     125     -1       4 63c9c0557d24 000000000000 000000000000
-       1       125     109      0       5 23d12a1f6e0e 000000000000 000000000000
+       0         0     127     -1       4 064927a0648a 000000000000 000000000000
+       1       127     111      0       5 25ecb8cb8618 000000000000 000000000000
   $ echo 2 > dir1/a
   $ hg --config experimental.treemanifest=False ci -qm 'modify dir1/a'
   $ hg debugindex .hg/store/meta/dir1/00manifest.i
      rev    offset  length  delta linkrev nodeid       p1           p2
@@ -280,10 +280,10 @@
   $ echo 2 > dir1/a
   $ hg --config experimental.treemanifest=False ci -qm 'modify dir1/a'
   $ hg debugindex .hg/store/meta/dir1/00manifest.i
      rev    offset  length  delta linkrev nodeid       p1           p2
-       0         0     125     -1       4 63c9c0557d24 000000000000 000000000000
-       1       125     109      0       5 23d12a1f6e0e 000000000000 000000000000
-       2       234      55      1       6 3cb2d87b4250 23d12a1f6e0e 000000000000
+       0         0     127     -1       4 064927a0648a 000000000000 000000000000
+       1       127     111      0       5 25ecb8cb8618 000000000000 000000000000
+       2       238      55      1       6 5b16163a30c6 25ecb8cb8618 000000000000
 
 Create deeper repo with tree manifests.