Adds assertion to prevent error in test.
Adds a rake task test:scm:update to update test repositories if needed.
Merged r4636 from trunk.
Merged r4635 from trunk.
Merged r4634 from trunk.
Merged r4633 from trunk.
Merged r4632 from trunk.
Merged r4631 from trunk.
scm: mercurial: add unit test for copied file (#7064).
scm: mercurial: add some tests at unit and functional test.