-
-
Kargo
Stop Scripting Promotions. Start Shipping with Kargo. Kargo automates promotion across dev, staging, and prod with approval gates and verification. Open source, built by the team behind Argo CD. Download now.
-
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.
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.
-
I've also built a tool to support hyper-frequent commits, automatically rolling back the commit if the build, static analysis or any tests fail. This ensures a complete history of 'good/working' builds in the vcs.
https://github.com/wtpayne/hiai/blob/master/a3_src/h70_inter...
-
I just checked, it looks like there is a VSCode plugin that does this: https://marketplace.visualstudio.com/items?itemName=xyz.loca...
Repo here: https://github.com/zabel-xyz/local-history
-
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.
-
git-autosave
An experiment in automatically backing up the working directory in a git repository whenever a file changes.
This is really cool. One drawback is that it seems to touch the index, which I believe should be avoided, since it can disrupt the users workflow. I experimented with something similar a few years ago and avoided the index. My learnings are partially documented in the repo.[1]
[1]: https://github.com/nunull/git-autosave