.hgignore
author Sushil khanchi <sushilkhanchi97@gmail.com>
Sun, 29 Dec 2019 23:59:41 +0530
changeset 5239 13152b2fe8f7
parent 3376 aad37ffd7d58
child 5224 0a6aee4b4947
permissions -rw-r--r--
evolve: refactor content-divergence resolution logic > What is the case we are looking at? This is about refactoring the part of content-div resolution logic where it decides which cset should be relocated and where. > What is a "topologicial common ancestors" vs a "greatest common ancestors"? `tca` is an ancestor which we can decide/find by looking at the at graph visually for e.g ``` c3(*) c4(*) | | c2(x) c1(x) c5 | / \ | / c0 ``` (c5 is the successor of c2 and c1) now here, `tca` of c3 and c4 is: c0 `gca` of c3 and c4 is: c5 > What is the new top-level logic/behavior that makes it better? The old code had some unnecessary edge cases just because we were using `gca`, since it can point to a revision that is not a topological ancestor. For e.g see b779b40f996e Eventually, the code around this was getting messy unnecessarily. So I looked into it and found a simple and more robust approach. And in new code, it is simple and straightforward (and easy to understand), where we handle the following 4 cases when solving content-div: 1) when both are on the same parent => (no need to do anything special, and simply proceed) 2) both are on the different parent but a) `tca` is the parent of one of them or b) there is no non-obsolete revision between `tca` and one of the divergent cset. => (relocate one to the other side and proceed) 3) both are on different parents and `tca` is not the parent of any of them and there is at least one non-obsolete cset between tca and both the divergent cset i.e (tca::div1) and (tca::div2) both the ranges have at least one non-obs revision. => (this is the case which we don't handle yet, but the solution would be to prompt the user to choose an evolve destination.) 4) both are in the parent-child relation => (both are merged and new cset will be based on the successor of `tca`) Changes in test-evolve-issue5958.t demonstrate that new code also covered case4 because in a resolution of "two divergent csets with parent-child relation" there should be one cset as a result and no orphan revs (as you can see there was an orphan before this patch).
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
149
03f314e32058 import some doc
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     1
syntax: re
03f314e32058 import some doc
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     2
/figures/[^/]+\.png$
242
1fc4299ca8e2 [doc] change doc generation directory
Pierre-Yves.David@ens-lyon.org
parents: 233
diff changeset
     3
^html/
262
4675d9c6c66b .hgignore: add .rej/.err/.orig and emacs tmp files
Patrick Mezard <patrick@mezard.eu>
parents: 242
diff changeset
     4
\.pyc$
4675d9c6c66b .hgignore: add .rej/.err/.orig and emacs tmp files
Patrick Mezard <patrick@mezard.eu>
parents: 242
diff changeset
     5
~$
391
92adb5b34a04 .hgignore: ignore vi swap files
Patrick Mezard <patrick@mezard.eu>
parents: 262
diff changeset
     6
\.swp$
262
4675d9c6c66b .hgignore: add .rej/.err/.orig and emacs tmp files
Patrick Mezard <patrick@mezard.eu>
parents: 242
diff changeset
     7
\.orig$
4675d9c6c66b .hgignore: add .rej/.err/.orig and emacs tmp files
Patrick Mezard <patrick@mezard.eu>
parents: 242
diff changeset
     8
\.rej$
3203
34d5c97a3dee hgignore: fix .err matching patterns
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2080
diff changeset
     9
^tests/.*\.err$
422
cc8038e3bc23 hgignore: ignore the "common" tests/easy_run.sh file
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 391
diff changeset
    10
^tests/easy_run.sh$
495
53ad6062f7cc Ignore build directory
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 422
diff changeset
    11
^build/
2080
b26a1f061ac8 hgignore: also ignore the 'dist' directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2020
diff changeset
    12
^dist/
524
ba0a3d0f942f pkg: add proper MANIFEST.in
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 495
diff changeset
    13
^MANIFEST$
526
6194f7ee85dd hgignore: ignore compiled tutorials
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 524
diff changeset
    14
^docs/tutorials/.*\.rst$
557
41688ca951e7 doc: add a logo
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 526
diff changeset
    15
\.ico$
1674
854421a48e0c hgignore: add an ignore rule for test timing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 557
diff changeset
    16
tests/\.testtimes
3376
aad37ffd7d58 doc: import the training support
Boris Feld <boris.feld@octobus.net>
parents: 3203
diff changeset
    17
aad37ffd7d58 doc: import the training support
Boris Feld <boris.feld@octobus.net>
parents: 3203
diff changeset
    18
^docs/training/graphs/
aad37ffd7d58 doc: import the training support
Boris Feld <boris.feld@octobus.net>
parents: 3203
diff changeset
    19
^docs/training/html/
aad37ffd7d58 doc: import the training support
Boris Feld <boris.feld@octobus.net>
parents: 3203
diff changeset
    20
^docs/training/index.html
aad37ffd7d58 doc: import the training support
Boris Feld <boris.feld@octobus.net>
parents: 3203
diff changeset
    21
^docs/training/graphviz-images/
aad37ffd7d58 doc: import the training support
Boris Feld <boris.feld@octobus.net>
parents: 3203
diff changeset
    22
^docs/training/img/
aad37ffd7d58 doc: import the training support
Boris Feld <boris.feld@octobus.net>
parents: 3203
diff changeset
    23
^docs/training/output/
aad37ffd7d58 doc: import the training support
Boris Feld <boris.feld@octobus.net>
parents: 3203
diff changeset
    24
^docs/training/pandocfilters/