Comment by procrastitron
4 years ago
I built a similar tool a couple of years ago here: https://github.com/google/git-sync-changes
Both save uncommitted changes in a hidden ref.
Based on the README, the differences seem to be:
1. dura runs as a daemon while git-sync-changes is a one shot execution.
2. dura saves locally, while git-sync-changes syncs with a remote repo.
3. dura only does the save and the restore is manual, whereas git-sync-changes does both steps automatically.
I’m glad to see more people exploring this space. I think there’s a lot of untapped potential in tracking pending changes similarly to how we track committed changes.
Oh wow, this seems pretty similar to this thing I wrote: https://github.com/unqueued/git-cache-tag
Which saves all uncommitted changes to a tag.
I wrote it because I wanted to have a complete snapshot of a build context. Sometimes composer or npm can't be relied upon to reproduce dependencies in the state they used to be, or I just want a cache of artifacts. It has been pretty handy.
Do you have any comparison with https://www.sparkleshare.org/ too?
Thanks for the pointer; I had never heard of sparkleshare before.
It sounds like it addresses roughly the same use case, but I couldn’t find any technical details about it in its docs in order to see how it compares.