Revert almost all of 5be434785317; add a test
Because of file copies, we should update the manifest dict only after
committing all files.
% init foo-base
% create alpha in first repo
adding alpha
% clone foo-base to foo-work
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
% create beta in second repo
adding beta
% create gamma in first repo
adding gamma
% pull into work and merge
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
% revert to changeset 1 to simulate a failed merge
2 files updated, 0 files merged, 0 files removed, 0 files unresolved