X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fmatita%2FmatitaSync.ml;h=b54c67790c46ea4618cd964062ea16a8c6cf8e85;hb=b11d278a26840884692cdfb89e168081134d293f;hp=374b47870324175c04295ba1e8d749589d2def4c;hpb=6857e22b8a58162893119f7747c5848031fd59ce;p=helm.git diff --git a/helm/matita/matitaSync.ml b/helm/matita/matitaSync.ml index 374b47870..b54c67790 100644 --- a/helm/matita/matitaSync.ml +++ b/helm/matita/matitaSync.ml @@ -34,7 +34,16 @@ let alias_diff ~from status = if not (Map.mem domain_item from.aliases) then Map.add domain_item codomain_item acc else - acc) + begin + try + let description1 = fst(Map.find domain_item from.aliases) in + let description2 = fst(Map.find domain_item status.aliases) in + if description1 <> description2 then + Map.add domain_item codomain_item acc + else + acc + with Not_found -> acc + end) status.aliases Map.empty let set_proof_aliases status aliases = @@ -83,7 +92,7 @@ let add_aliases_for_object status suri = | Cic.CurrentProof _ -> assert false let paths_and_uris_of_obj uri status = - let basedir = get_string_option status "basedir" in + let basedir = get_string_option status "basedir" ^ "/xml" in let innertypesuri = UriManager.innertypesuri_of_uri uri in let bodyuri = UriManager.bodyuri_of_uri uri in let innertypesfilename = Str.replace_first (Str.regexp "^cic:") "" @@ -178,15 +187,13 @@ let delta_status status1 status2 = let remove_coercion uri = CoercDb.remove_coercion (fun (_,_,u) -> UriManager.eq u uri) -let safe_remove fname = if Sys.file_exists fname then Sys.remove fname - let time_travel ~present ~past = let list_of_objs_to_remove = List.rev (delta_status past present) in (* List.rev is just for the debugging code, which otherwise may list both * something.ind and something.ind#xpointer ... (ask Enrico :-) *) let debug_list = ref [] in List.iter (fun (uri,p) -> - safe_remove p; + MatitaMisc.safe_remove p; remove_coercion uri; (try CicEnvironment.remove_obj uri @@ -224,7 +231,7 @@ let time_travel ~present ~past = MatitaLog.debug "l2:"; List.iter MatitaLog.debug l2 -let remove uri = +let remove ~verbose uri = let derived_uris_of_uri uri = UriManager.innertypesuri_of_uri uri :: (match UriManager.bodyuri_of_uri uri with @@ -239,10 +246,10 @@ let remove uri = List.iter (fun uri -> (try - MatitaLog.debug ("Removing: " ^ UriManager.string_of_uri uri); - safe_remove (Http_getter.resolve' uri) + if verbose then + MatitaLog.debug ("Removing: " ^ UriManager.string_of_uri uri); + MatitaMisc.safe_remove (Http_getter.resolve' uri) with Http_getter_types.Key_not_found _ -> ()); remove_coercion uri; ignore (MatitaDb.remove_uri uri)) to_remove -