Ref T13591. Fixes a few issues with the recent updates here discovered in more thorough testing.
- Maniphest Tasks
- T13591: Importing repositories may incorrectly queue some tasks at "PRIORITY_COMMIT"
- rP1da94dcf499e: Correct some issues around IMPORTED_PERMANENT in RefEngine
- Stopped the daemons.
- Created a new copy of Phabricator in Diffusion.
- Pulled it with bin/repository pull ....
- Got 17,278 commits on disk with git log --all --format=%H.
- Set permanent refs to "master".
- Discovered it with bin/repository discover ....
- This took 31.5s and inserted 17,278 tasks.
- Verified that all tasks have priority 4,000 (PRIORITY_IMPORT).
- Observed that 16,799 commits have IMPORTED_PERMANENT and 479 commits do not.
- This matches git log master --format=%H exactly.
- Ran bin/repository refs .... Expected no changes and saw no changes.
- Ran bin/worker execute --active for a minute or two. It processed all the impermanent changes first (since bin/worker is LIFO and these are supposed to process last).
- Ran bin/repository refs. Expected no changes and saw no changes.
- Marked all refs as permanent.
- Starting state: 16,009 message tasks, all at priority 4000.
- Ran bin/repository refs, expecting 479 new tasks at priority 4000.
- Saw count rise to 16,488 as expected.
- Saw all the new tasks have priority 4000 and all commits now have the IMPORTED_PERMANENT flag.