isomerpages / isomercms-backend

A static website builder and host for the Singapore Government
5 stars 1 forks source link

fix(simple git): avoid chaining #1003

Closed kishore03109 closed 11 months ago

kishore03109 commented 11 months ago

Problem

We are facing issues with files being deleted for seemingly innocuous deletes from certain folders. simple git supports chaining, but note that each process is async, which they have have queue that is awaited But hor, the var cwd is shared, rather than attached to each process that is in the queue.

This means that at production level, we cannot afford to use their simple git’s chaining at all, and it will lead to all sorts of concurrency issues that we have no control over. I think the reason why quickie affects this is because when creates are done, they are done almost simultaneously to two branches, so while this bug always existed in production, its hard to replicate this unless two git processes with this chaining occured at the exact same time, which is exactly kinda what happens with quickie

Tests

I am able to replicate this locally when running against ~30 repos.

Before

Screenshot 2023-11-01 at 9 49 42 AM

After

Screenshot 2023-11-01 at 9 46 41 AM

kishore03109 commented 11 months ago

closing this as better fix is #1004