git-citoolis a very cool GUI for picking what changes you want to commit, write the commit message, commit, push to a remote repository, and more. I love this little application. It lets me go through my changes in any order, go back to Emacs and fix any mistakes without losing my commit message or the list of changes I've already marked for commit. Love it.
gitklets me visualize the repository history. All the patches, all the branches, all the diffs, all the commit logs, easily accessible within a few clicks. It's quite fast too.
- Another useful feature
git-citoolhas is a history browser that lets me browse my repository and see each file's history, which patches change which lines, navigate through the various past states of a file, etc.
And, of course, Git has all those great characteristics of a distributed VCS. I've missed some things from Darcs though:
- For smaller changes I prefer
darcs recordover having to reach for the mouse with
git-add -iisn't as nice.
darcs revertallows me to revert individual hunks within a file, with a nice interface too.
darcs unrecordallow me to get rid of patches without having to generate a reversion patch (which is what Git does if the patch you want to revert is not the very latest patch). Also, they keep any local changes untouched.
darcs pulllets me pull only the patches I want from another repository. I haven't found a way to do that in Git.
- Darcs's no effort spontaneous branches are a joy. No need for explicit branch creation. You just create copies of your trees and move individual patches around whenever you feel like doing so. This way you can easily, say, merge only some of the changes from one branch into another, quickly discard a branch, etc.
Darcs has well-known performance issues, I've watched it sit forever trying to apply some patch. This hasn't been a great problem for me with the small projects I usually work on though, so I don't really regard that as a bit advantage of Git's.
For me, it's the tools. I have moved some of my stuff over to Git but I still like a lot of aspects of Darcs's workflow. Perhaps some more experience with Git will change my mind, or perhaps Darcs-Git will be the VCS really cool kids will be using in the future. We'll see.