After successfully getting mirroring working on one client's sites (after a long hard slog!) I have hit an issue on another's which I can't see the reason for. When I set off a mirroring task for the whole site (from Home) it stalled with an error that an image didnt exist in the VPP/global directory on staging. I checked and the image was not present and I have no way to identify where it was referenced as it is in the VPP file name encoding format.
Additionally, I found that as the mirror had partially run, it did not seem to want to overwrite some pages but had instead added a new version in with a numeric suffix. So the 'AboutUs' page (which appears in the menu) was not overriden but instead a new page 'AboutUs1' was added - and appeared in the menu. Obviously this is not correct. I am at a loss to understand why it wont overwrite.
Just prior to the mirroring I had the database and VPP of the live box copied down to the staging one so that both were exactly the same - including code. We made changes on staging and then attempted the mirror.
I have seen the same sort of issue when exporting an entire site and importing it to another - the home page used to get renamed to home1.
Any ideas out there?
One difference from export/import and mirroring is that when doing export/import each page/file will always get a new identity (that is why you can import the same package several times and get new pages each time). With mirroring the identities will be kept (so a subsequent mirroring job will find an existing page and update it instead of creating a new "copy").
However if you mirror from one site to another site in an enterprise scenario (or mirror within the same site) then new identities will be created the first time a page is mirrored (that is to avoid collisions with the original page which in this case "lives" in same database).
In CMS5 the way to determine if the mirroring was set up to an enterprise or local site was to check for the url given in "Remote Site" configuration and then check that url with UriSupport.IsSiteUrlByRequestOrSettings.
From your error description I was wondering if the case is that your live site wrongly is seen as a site with shared database (with staging site) and therefore new identities are generated.