dirstate: hide internal vars
Add an __iter__ method so commands don't need to poke at _map.
# basic operation
adding a
reverting a
changeset 2:b38a34ddfd9f backs out changeset 1:a820f4f40a57
a
# file that was removed is recreated
adding a
adding a
changeset 2:44cd84c7349a backs out changeset 1:76862dcce372
content
# backout of backout is as if nothing happened
removing a
changeset 3:0dd8a0ed5e99 backs out changeset 2:44cd84c7349a
cat: a: No such file or directory
# backout with merge
adding a
reverting a
changeset 3:6c77ecc28460 backs out changeset 1:314f55b1bf23
merging with changeset 2:b66ea5b77abb
merging a
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
line 1
# backout should not back out subsequent changesets
adding a
adding b
reverting a
changeset 3:4cbb1e70196a backs out changeset 1:22bca4c721e5
the backout changeset is a new head - do not forget to merge
(use "backout --merge" if you want to auto-merge)
adding a
adding b
adding c
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
adding d
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
# backout of merge should fail
abort: cannot back out a merge changeset without --parent
# backout of merge with bad parent should fail
abort: cb9a9f314b8b is not a parent of b2f3bb92043e
# backout of non-merge with parent should fail
abort: cannot use --parent on non-merge changeset
# backout with valid parent should be ok
removing d
changeset 5:11fbd9be634c backs out changeset 4:b2f3bb92043e
rolling back last transaction
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
removing c
changeset 5:1a5f1a63bf2c backs out changeset 4:b2f3bb92043e