Comments (4)
I built the tool after wasting a day or so because I didn't commit often enough and lost my work. I suppose it's a matter of perspective as to what is more harmful. Given that a simple tool now exists that eliminates an entire class of errors/waste, it seems irresponsible to not use it, but that's just my perspective.
When presented with a failure, I tend to take a kaizen approach — rather than assigning blame, I try to find a systemic change that eliminates the possibility of the failure from happening in the future. It's why I like typesafe languages like Rust, they offer lots of avenues for preventing entire classes of mistakes. Dura takes care of an entire class of mistakes that happens infrequently enough that most people can't rationalize the time to automate a fix, but would gladly brew install
a fix.
from dura.
One could go about removing most automations from their life is they chose to. My suggestion would be if you don't personally find software neccessary, and you do not have a requirement to use it, don't use it.
Just to be clear though, this is not a replacement/automation for git commit. It's using Git as a local backup tool.
from dura.
You could do something like this every 20 mins -- or just run it before you do something crazy. But there are still ways where you could mess up your git index or your office could collapse. There is likely more assurance in pushing your code to multiple git servers located in different countries using Tower of Hanoi rotation
git add . && git stash push --keep-index
from dura.
When I was using Jetbains IDEs like PyCharm, they have a Local History feature that works in a very similar way to dura. It saved me countless times! In these instances for me, it wasn't about saving frequently, it's been more often due to getting a rebase or a force push wrong and losing work; often when working on multiple different computers. Sometimes you don't even know you've lost work until later when you're staring at the screen thinking, "I'm sure I already fixed this...". Now that I'm back in a vim-centric dev mode, I want that safety net again. I certainly don't want to commit more frequently to my actual dev branch, because I want to use the git staging index to control what goes into each commit. (Yes there are ways to redo the commits after the fact etc etc). I really like the dura model of working like backups and staying out of the way of the main repo.
from dura.
Related Issues (20)
- Update: Upgrade clap to V3.1.6 & replace deprecated code in main.rs HOT 2
- Dura doesn't create any branches on github codespaces HOT 2
- brew install dura HOT 4
- Error: UnbornBranch HOT 6
- Update clap
- Data Corruption: Don't allow dura to run as root
- Ubuntu install instructions HOT 2
- High CPU utilization while idle HOT 5
- Chronological git log HOT 2
- feature request: remove old dura branches periodically HOT 1
- support install linux and macOS with brew HOT 15
- `dura checkout` command HOT 6
- Tests broken HOT 3
- Binaries built by Github are not working HOT 6
- Prevent pushin dura branches to remote HOT 4
- stabilize config loading HOT 2
- Dura fails to capture anything if a worktree is present as a subdir of the working directory HOT 4
- Make dura branch names more informative HOT 3
- Feature Request: `dura status` command HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dura.