blob: 3c961c6773eeb5319023e6226c13009b37e65c00 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
diff --git a/src/copy.ml b/src/copy.ml
index b9e10f6..19c2370 100644
--- copy.ml
+++ copy.ml
@@ -1004,7 +1004,14 @@ let recursively fspathFrom pathFrom fspathTo pathTo =
let ch = Os.childrenOf fspathFrom pFrom in
Safelist.iter
(fun n -> copy (Path.child pFrom n) (Path.child pTo n)) ch
- | `ABSENT -> assert false in
+ | `ABSENT ->
+ (* BCP 4/16: Was "assert false", but this causes unison to
+ crash when (1) the copyonconflict preference is used, (2)
+ there is a conflict between a deletion and a change, and
+ (3) the change is propagated on top of the deletion. Seems
+ better to silently ignore the copy request. *)
+ ()
+ in
debug (fun () -> Util.msg " Copying recursively %s / %s\n"
(Fspath.toDebugString fspathFrom) (Path.toString pathFrom));
copy pathFrom pathTo;
|