darcs

Patch 1228 reimplement getPatches with less code (and 2 more)

Title reimplement getPatches with less code (and 2 more)
Superseder Nosy List gh
Related Issues
Status accepted Assigned To
Milestone

Created on 2014-11-16.23:15:36 by gh, last changed 2015-02-12.17:49:18 by gh.

Files
File name Status Uploaded Type Edit Remove
patch-preview.txt gh, 2014-11-16.23:15:35 text/x-darcs-patch
patch-preview.txt gh, 2014-11-17.00:09:48 text/x-darcs-patch
reimplement-getpatches-with-less-code.dpatch gh, 2014-11-16.23:15:35 application/x-darcs-patch
reimplement-getpatches-with-less-code.dpatch gh, 2014-11-17.00:09:48 application/x-darcs-patch
unnamed gh, 2014-11-16.23:15:35
unnamed gh, 2014-11-17.00:09:48
See mailing list archives for discussion on individual patches.
Messages
msg17828 (view) Author: gh Date: 2014-11-16.23:15:35
Patches to make patch index more understandable and more robust.

The first patch directly concerns annotate. It changes the algorithm
that filters patches. New algorithm is much clearer than the old one.
The old algorithm has an advantage
when you annotate a file for which there are many patches after the last
patch that modified it, while the new algorithm has to
scan the whole history always. But with the old algorithm (and PI indexing)
there was a whole round trip of Int-to-patchId-to-Int done at each annotate.

The second patch removes all indexing when storing PI on disk. this makes the
code simpler and on-disk size bigger. but also is changes the infomap
(file -> patch) into a bloom filter, that is we only store the first Word32 of
patch hashes and tolerate false positives. this enables this particular file
to come back to its original size, and has the promise of being faster
to look into.

Third patch adds a version to the file of patch index that is read first.

3 patches for repository http://darcs.net:

patch f6fae3dd7bd4aeb22f373a96918e47a19b702e04
Author: Guillaume Hoffmann <guillaumh@gmail.com>
Date:   Thu Nov 13 18:07:42 ART 2014
  * reimplement getPatches with less code

patch d595d7c22d1e8839444b948f0b79f535d403da07
Author: Guillaume Hoffmann <guillaumh@gmail.com>
Date:   Sun Nov 16 18:43:30 ART 2014
  * no longer use indexing for on-disk patch index, make infomap a bloom filter

patch 0ae7bc74865b8d8bed458808853b6c71acd63c52
Author: Guillaume Hoffmann <guillaumh@gmail.com>
Date:   Sun Nov 16 20:10:10 ART 2014
  * resolve issue2418: add and check on-disk patch index version
Attachments
msg17829 (view) Author: gh Date: 2014-11-17.00:09:48
Fix a bug in the second patch,
because we no longer remove from InfoMap.

3 patches for repository http://darcs.net:

patch f6fae3dd7bd4aeb22f373a96918e47a19b702e04
Author: Guillaume Hoffmann <guillaumh@gmail.com>
Date:   Thu Nov 13 18:07:42 ART 2014
  * reimplement getPatches with less code

patch ffaec0f83f415b9c20e11e0c55f1bf0425346d0f
Author: Guillaume Hoffmann <guillaumh@gmail.com>
Date:   Sun Nov 16 20:53:54 ART 2014
  * no longer use indexing for on-disk patch index, make infomap a bloom filter

patch 5e71c20efc9a62d464da16f2ca43b19d81a42829
Author: Guillaume Hoffmann <guillaumh@gmail.com>
Date:   Sun Nov 16 21:06:05 ART 2014
  * resolve issue2418: add and check on-disk patch index version
Attachments
msg18090 (view) Author: gh Date: 2015-02-12.17:49:18
Self accept along with other patch index patches (goes to branch 2.10).
History
Date User Action Args
2014-11-16 23:15:36ghcreate
2014-11-16 23:16:07ghsetstatus: needs-screening -> needs-review
2014-11-17 00:09:48ghsetfiles: + patch-preview.txt, reimplement-getpatches-with-less-code.dpatch, unnamed
messages: + msg17829
2015-02-12 17:49:18ghsetstatus: needs-review -> accepted
messages: + msg18090