diff --git a/mercurial/upgrade.py b/mercurial/upgrade.py index 675a925b556d873bbf249d22dbdeeca409ee213d_bWVyY3VyaWFsL3VwZ3JhZGUucHk=..3737499829246a878b66495908f988c5e7bdc061_bWVyY3VyaWFsL3VwZ3JhZGUucHk= 100644 --- a/mercurial/upgrade.py +++ b/mercurial/upgrade.py @@ -561,9 +561,10 @@ pass # create all the directories util.copyfile(oldindex, newindex) - if oldrl.opener.exists(oldrl.datafile): + copydata = oldrl.opener.exists(oldrl.datafile) + if copydata: util.copyfile(olddata, newdata) if not (unencodedname.endswith('00changelog.i') or unencodedname.endswith('00manifest.i')): destrepo.svfs.fncache.add(unencodedname) @@ -565,8 +566,10 @@ util.copyfile(olddata, newdata) if not (unencodedname.endswith('00changelog.i') or unencodedname.endswith('00manifest.i')): destrepo.svfs.fncache.add(unencodedname) + if copydata: + destrepo.svfs.fncache.add(unencodedname[:-2] + '.d') UPGRADE_CHANGELOG = object() UPGRADE_MANIFEST = object() diff --git a/tests/test-upgrade-repo.t b/tests/test-upgrade-repo.t index 675a925b556d873bbf249d22dbdeeca409ee213d_dGVzdHMvdGVzdC11cGdyYWRlLXJlcG8udA==..3737499829246a878b66495908f988c5e7bdc061_dGVzdHMvdGVzdC11cGdyYWRlLXJlcG8udA== 100644 --- a/tests/test-upgrade-repo.t +++ b/tests/test-upgrade-repo.t @@ -604,5 +604,4 @@ checking manifests crosschecking files in changesets and manifests checking files - warning: revlog 'data/f2.d' not in fncache! checked 3 changesets with 3 changes to 3 files @@ -608,6 +607,4 @@ checked 3 changesets with 3 changes to 3 files - 1 warnings encountered! - hint: run "hg debugrebuildfncache" to recover from corrupt fncache Check we can select negatively @@ -699,5 +696,4 @@ checking manifests crosschecking files in changesets and manifests checking files - warning: revlog 'data/f2.d' not in fncache! checked 3 changesets with 3 changes to 3 files @@ -703,6 +699,4 @@ checked 3 changesets with 3 changes to 3 files - 1 warnings encountered! - hint: run "hg debugrebuildfncache" to recover from corrupt fncache Check that we can select filelog only