sageserpent-open / kineticMerge

Merge a heavily refactored codebase and stay sane.
MIT License
9 stars 1 forks source link

Support merging of files added in subdirectories that do not yet exist in our branch. #17

Closed sageserpent-open closed 9 months ago

sageserpent-open commented 9 months ago

Manual testing reveals that Kinetic Merge hangs when it attempts to merge a branch that has added files located in subdirectories that don't yet exists in our branch. This causes some rather hokey code in the Scala process library to propagate an exception right up out of a thread spawned for the process, causing the thread to die quitely and leaving Kinetic Merge as a whole hanging in wait states.

This probably a good opportunity to revisit the spike where OS-Lib was tried out. I think that can cope with manipulating paths that don't yet exist even as prefixes. While I was not convinced as to whether the spike made the code more readable overall - there were good and bad points, I think this may be the decider.

So let's revisit that spike work as part of this...

sageserpent-open commented 9 months ago

Delivered in Git commit SHA: 0496c15550cda63f47192898e5a0555bef0f65b8. Using os-lib for the implementation, although the integration tests for the application shell still use the mash of Java IO, NIO and Scala's process abstraction - didn't want to cut over both the SUT and the tests at the same time.