Evgeny Kotkov wrote on Fri, Jan 28, 2022 at 01:58:43 +0300:
> Also, I tend to think that DRY doesn't really apply here, because a status
> walk and a textbase sync are essentially different operations that just
> happen to have something in common internally.  For example, a textbase
> sync doesn't have to follow the tree structure and can be implemented
> with an arbitrarily ordered walk over NODES.

If we iterate NODES in an arbitrary order, we'll lose the benefit of
cache locality of the OS filesystem's page cache.  To avoid that, we can
do a depth-first walk.  Is there a reason not to?

% sqlite3 .svn/wc.db  "SELECT local_relpath FROM nodes WHERE checksum IS NOT 
NULL ORDER BY checksum;" | head 
subversion/libsvn_diff/diff4.c
subversion/bindings/javahl/src/org/tigris/subversion/javahl/CommitMessage.java
notes/subversion-diagram.graffle
tools/dist/release.py
tools/hook-scripts/validate-extensions.py
subversion/mod_dav_svn/reports/log.c
tools/dev/iz/ff2csv.py
subversion/libsvn_fs_x/util.c
subversion/libsvn_ra/util.c
subversion/bindings/javahl/native/ExternalItem.hpp

Cheers,

Daniel

Reply via email to