obsolete: refactor writemarkers to only encode them
The function is now able to write the version header as necessary. The function
now yield bytes to be written to a stream.
This should ease later use of this function for wireprotocol based exchanged.
Prepare the public use of the writemarker by wireprotocol function.
$ hg init
$ echo This is file a1 > a
$ echo This is file b1 > b
$ hg add a b
$ hg commit -m "commit #0"
$ echo This is file b22 > b
$ hg commit -m "comment #1"
$ hg update 0
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ rm b
$ hg commit -A -m "comment #2"
removing b
created new head
$ hg update 1
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg update
abort: crosses branches (merge branches or update --check to force update)
[255]
$ hg update -c
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ mv a c
In theory, we shouldn't need the "-y" below, but it prevents this test
from hanging when "hg update" erroneously prompts the user for "keep
or delete".
Should abort:
$ hg update -y 1
abort: crosses branches (merge branches or use --clean to discard changes)
[255]
$ mv c a
Should succeed:
$ hg update -y 1
1 files updated, 0 files merged, 0 files removed, 0 files unresolved