Mercurial > hg
view tests/test-subrepo.out @ 10428:e553a425751d stable
convert: differentiate between IOError and OSError on commitctx()
The IOError exception is overloaded to mean 'this file was deleted in
the current commit'. Separate the code that handles IOError and file
deletion from general OSError exceptions. The latter are real errors,
but IOError is not always a throwable error.
This solves the accidental marking of files as 'deleted' in commits that
try to write for example in .hg/store/data revlogs that the current user
has no permission to modify (a normal OSError that should abort the
current commit).
Changed by pmezard: use getattr() to be on the safe side.
author | Giorgos Keramidas <keramida@ceid.upatras.gr> |
---|---|
date | Thu, 11 Feb 2010 23:15:42 +0200 |
parents | a19d2993385d |
children | 0bc93fa2cf2b |
line wrap: on
line source
% first revision, no sub adding a % add first sub adding a committing subrepository s % add sub sub committing subrepository s committing subrepository ss % bump sub rev committing subrepository s % leave sub dirty committing subrepository s changeset: 3:1c833a7a9e3a tag: tip user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: 4 % check caching 0 files updated, 0 files merged, 2 files removed, 0 files unresolved % restore 2 files updated, 0 files merged, 0 files removed, 0 files unresolved path s source s revision 1c833a7a9e3a4445c711aaf0f012379cd0d4034e % new branch for merge tests 1 files updated, 0 files merged, 0 files removed, 0 files unresolved adding t/t % 5 committing subrepository t created new head % 6 committing subrepository t path s source s revision e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 path t source t revision 6747d179aa9a688023c4b0cad32e4c92bb7f34ad % 7 committing subrepository t % 8 % merge tests 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 1 files updated, 0 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) path s source s revision fc627a69481fcbe5f1135069e8a3881c023e4cf5 path t source t revision 60ca1237c19474e7a3978b0dc1ca4e6f36d51382 created new head searching for copies back to rev 2 resolving manifests overwrite None partial False ancestor 1f14a2e2d3ec local f0d2028bf86d+ remote 1831e14459c4 .hgsubstate: versions differ -> m subrepo merge f0d2028bf86d+ 1831e14459c4 1f14a2e2d3ec subrepo t: other changed, get t:6747d179aa9a688023c4b0cad32e4c92bb7f34ad getting subrepo t resolving manifests overwrite True partial False ancestor 60ca1237c194+ local 60ca1237c194+ remote 6747d179aa9a t: remote is newer -> g getting t 0 files updated, 0 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) path s source s revision fc627a69481fcbe5f1135069e8a3881c023e4cf5 path t source t revision 6747d179aa9a688023c4b0cad32e4c92bb7f34ad committing subrepository t searching for copies back to rev 2 resolving manifests overwrite None partial False ancestor 1831e14459c4 local e45c8b14af55+ remote f94576341bcf .hgsubstate: versions differ -> m subrepo merge e45c8b14af55+ f94576341bcf 1831e14459c4 subrepo t: both sides changed, merge with t:7af322bc1198a32402fe903e0b7ebcfc5c9bf8f4 merging subrepo t searching for copies back to rev 2 resolving manifests overwrite None partial False ancestor 6747d179aa9a local 20a0db6fbf6c+ remote 7af322bc1198 t: versions differ -> m preserving t for resolve of t picked tool 'internal:merge' for t (binary False symlink False) merging t my t@20a0db6fbf6c+ other t@7af322bc1198 ancestor t@6747d179aa9a warning: conflicts during merge. merging t failed! 0 files updated, 0 files merged, 0 files removed, 1 files unresolved use 'hg resolve' to retry unresolved file merges or 'hg update -C' to abandon 0 files updated, 0 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) % should conflict <<<<<<< local conflict ======= t3 >>>>>>> other % clone updating to branch default pulling subrepo s requesting all changes adding changesets adding manifests adding file changes added 4 changesets with 5 changes to 3 files pulling subrepo ss requesting all changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files pulling subrepo t requesting all changes adding changesets adding manifests adding file changes added 4 changesets with 4 changes to 1 files (+1 heads) 3 files updated, 0 files merged, 0 files removed, 0 files unresolved path s source s revision fc627a69481fcbe5f1135069e8a3881c023e4cf5 path t source t revision 20a0db6fbf6c3d2836e6519a642ae929bfc67c0e % push committing subrepository t pushing ...sub/t pushing ...subrepo ss searching for changes no changes found pushing ...subrepo s searching for changes no changes found pushing ...subrepo t searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files % push -f committing subrepository s abort: push creates new remote heads! pushing ...sub/t pushing ...subrepo ss searching for changes no changes found pushing ...subrepo s searching for changes (did you forget to merge? use push -f to force) pushing ...subrepo t searching for changes no changes found searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files pushing ...sub/t pushing ...subrepo ss searching for changes no changes found pushing ...subrepo s searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files (+1 heads) pushing ...subrepo t searching for changes no changes found searching for changes no changes found % update 1 files updated, 0 files merged, 0 files removed, 0 files unresolved committing subrepository t % pull pulling ...sub/t searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files (run 'hg update' to get a working copy) pulling subrepo t searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files 1 files updated, 0 files merged, 0 files removed, 0 files unresolved blah % issue 1986 adding a marked working directory as branch br 1 files updated, 0 files merged, 0 files removed, 0 files unresolved adding b created new head 1 files updated, 0 files merged, 1 files removed, 0 files unresolved 1 files updated, 0 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) 1 files updated, 0 files merged, 0 files removed, 0 files unresolved adding c created new head 1 files updated, 0 files merged, 1 files removed, 0 files unresolved 1 files updated, 0 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) 1 files updated, 0 files merged, 1 files removed, 0 files unresolved adding .hgsub committing subrepository s marked working directory as branch br 1 files updated, 0 files merged, 0 files removed, 0 files unresolved adding b committing subrepository s 1 files updated, 0 files merged, 1 files removed, 0 files unresolved adding c created new head 2 files updated, 0 files merged, 1 files removed, 0 files unresolved 1 files updated, 0 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) 1 files updated, 0 files merged, 1 files removed, 0 files unresolved 1 files updated, 0 files merged, 0 files removed, 0 files unresolved adding d committing subrepository s created new head 2 files updated, 0 files merged, 1 files removed, 0 files unresolved 1 files updated, 0 files merged, 0 files removed, 0 files unresolved adding e committing subrepository s 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 1 files updated, 0 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit)