During autotest quickmerge process, files are synced by rsync command with -u option like this.
rsync -n -a --no-p '--chmod=ugo=rwX' -u -i '--exclude=**.pyc' '--exclude=**.pyo' '--exclude=** -> *' '--include-from=/mnt/host/source/chromite/scripts/autotest-quickmerge-includepatterns' '--exclude=*' -L /mnt/host/source/src/third_party/autotest/files/ /build/kevin-arcnext/usr/local/build/autotest/
Today I encountered a problem where a file I modified never got synced during quickmerge, and it turned out this file got excluded by rsync's -u option because the one in the sync target dir (/build/...) has a newer timestamp than the one in the source dir (/mnt/host/source/...)
This can happen if you modify a file before running build_packages / emerge / cros_workon.
1) modify file A to A'
2) Run build_packages / emerge
3) Run cros_workon on the package that contains A
4) Run test_that
Expected : modified file A' should be sync'ed by quickmerge
Actual : file A' doesn't get sync'ed because the sync target file in /build/... has a newer timestamp (created in step 2) than the source file (modified in step 1)
Comment 1 by nya@chromium.org
, May 29 2018Owner: akes...@chromium.org
Status: Assigned (was: Untriaged)