comparison tests/test-simple-update.t @ 42522:d29db0a0c4eb

update: fix spurious unclean status bug shown by previous commit The crux of the problem is: - the dirstate is corrupted (the sizes/dates are assigned to the wrong files) - because when worker.worker is used with a return value (batchget in merge.py here), the return value when worker.worker effectively parallelizes is permuted - this is because worker.worker's partition of input and combination of output values are not inverses of one another: it split [1,2,3,4,5,6] into [[1,3,5],[2,4,6]], but combines that into [1,3,5,2,4,6]. Given that worker.worker doesn't call its function argument on contiguous chunks on the input arguments, sticking with lists means we'd need to know the relation between the inputs of worker.worker function argument (for instance, requiring that every input element is mapped to exactly one output element). It seems better to instead switch return values to dicts, which can combined reliably with a straighforward restriction. Differential Revision: https://phab.mercurial-scm.org/D6581
author Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
date Thu, 27 Jun 2019 11:39:35 +0200
parents 64a873ca7135
children 65960fe9a769
comparison
equal deleted inserted replaced
42521:64a873ca7135 42522:d29db0a0c4eb
108 0 files updated, 0 files merged, 100 files removed, 0 files unresolved 108 0 files updated, 0 files merged, 100 files removed, 0 files unresolved
109 $ hg update -v | grep 100 109 $ hg update -v | grep 100
110 getting 100 110 getting 100
111 100 files updated, 0 files merged, 0 files removed, 0 files unresolved 111 100 files updated, 0 files merged, 0 files removed, 0 files unresolved
112 $ hg status 112 $ hg status
113 M 100
114 M 11
115 M 2
116 M 21
117 M 3
118 M 4
119 M 41
120 M 5
121 M 51
122 M 54
123 M 6
124 M 61
125 M 7
126 M 71
127 M 8
128 M 81
129 M 9
130 M 91
131 113
132 $ cd .. 114 $ cd ..
133 115
134 #endif 116 #endif