ashmrtn 108c243e54
Implement selective subtree pruning (#4133)
Determine if a subtree has any directory object changes and if it
doesn't skip traversing that subtree during hierarchy merging.
"Directory object changes" for a subtree are defined as:
  * moving/renaming a directory within the subtree
  * deleting a directory in the subtree
  * moving a directory into the subtree
  * creating a directory in the subtree
  * moving a directory out of the subtree

The resulting snapshot still contains all data in the
pruned subtree.

---

#### Does this PR need a docs update or release note?

- [x]  Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [ ]  No

#### Type of change

- [x] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Issue(s)

* #4117

#### Test Plan

- [ ] 💪 Manual
- [x]  Unit test
- [x] 💚 E2E
2023-09-20 01:56:44 +00:00
..
2023-09-19 09:46:54 +00:00