Looks interesting but FWIW I think Magit is really nice for this (among other things) so I personally probably won’t switch, but maybe it’ll be useful for people who don’t use Emacs. It’s also good to know that there’s an equivalent for Mercurial, ‘cause I miss Magit when I work on Mercurial repositories.
Magit is good for Emacs users or people who prefer doing all things in their editor of choice. I prefer using my editor (which is vim, by the way) for editing things, and committing/diffing/etc from the command line.
There’s tig, but I personally find it much less intuitive than crecord.
I wouldn’t say core Git has similar built-ins. Sure, you can do interactive selection (and editing) of hunks to commit/stage/unstage/stash, but that is not Crecord’s innovation: Mercurial and Git both already had Commit this? [yes/no/etc]?-style interactive selection when crecord was created. Crecord’s innovation is its interface. Here, have all three interfaces (crecord, old-style-Mercurial, old-and-current-style Git) side-by-side.
NB: Please don’t interpret this as ‘nobody else has done this / done this first’. Others have mentioned Magit, f.ex. I merely say crecord is an improvement over core Git’s hunk selection interface. It was an improvement over core Mercurial’s hunk selection interface, too – so much so that it is now in core.
Crecord. Plain text doesn’t do it justice, go look at the
screenshot.
Yep. totally. The interface is much slicker than text based navigation. My comment was to inform people that might not know git had interactive modes for its commands
Correct me if I’m wrong, but weren’t the crecord/record extensions and the --interactive option for hg commit originally intended to simulate Git’s staging area? The design was derived, IIRC, from darcs, but the intention was to essentially allow users to select which parts of the changes should be included in the next commit (which Git’s index does).
I really like git gui.
There are two things I would change though:
Fix the weird GUI, control focus changes inexplicably after staging changes, ong other issues.
Either change the text view to be editable before staging, or add a button to launch meld with “HEAD”, “ My changes” and “My changes that are really about to be staged and I can make slight adjustments such as removing an extra new line”. I need this as I often find myself alt tabbing back to my editor, fixing something and then refreshing in git gui
Another option would be a “ Open this document in your editor” button.
There is TortoiseSVN and TortoiseGit as well and yes, they are definitely better than git gui.
I should have said “On Linux git gui is good enough, it does hide the implementation details and advanced features, but it mostly keeps beginners like me productive and unconfused” :)
Well, I know there’s TortoiseGit, but it’s a direct port of TortoiseSVN which I find not nearly as good as TortoiseHg, which in fact is a totally unrelated tool, sharing only a bit of the name.
Of course, things like this:
Gitg/gitk/git-cola all look more like the 3rd one for showing history at least.
To use TortoiseSVN/Git without going mental bananas you really have to customise the menu by adding the power user items that are actually very useful and then removing all the random rubbish that no one ever uses. They could both really do with some saner defaults :)
I didn’t realise TortoiseHg was that different to TortoiseSVN/Git.
Looks interesting but FWIW I think Magit is really nice for this (among other things) so I personally probably won’t switch, but maybe it’ll be useful for people who don’t use Emacs. It’s also good to know that there’s an equivalent for Mercurial, ‘cause I miss Magit when I work on Mercurial repositories.
agree with @0, magit is much better :)
Magit is good for Emacs users or people who prefer doing all things in their editor of choice. I prefer using my editor (which is vim, by the way) for editing things, and committing/diffing/etc from the command line.
There’s tig, but I personally find it much less intuitive than crecord.
For those curious,
git
has similar built-ins but nothing that allows for staging/unstaging all in 1 command. The corresponding commands:I wouldn’t say core Git has similar built-ins. Sure, you can do interactive selection (and editing) of hunks to commit/stage/unstage/stash, but that is not Crecord’s innovation: Mercurial and Git both already had
Commit this? [yes/no/etc]?
-style interactive selection when crecord was created. Crecord’s innovation is its interface. Here, have all three interfaces (crecord, old-style-Mercurial, old-and-current-style Git) side-by-side.NB: Please don’t interpret this as ‘nobody else has done this / done this first’. Others have mentioned Magit, f.ex. I merely say crecord is an improvement over core Git’s hunk selection interface. It was an improvement over core Mercurial’s hunk selection interface, too – so much so that it is now in core.
Crecord. Plain text doesn’t do it justice, go look at the screenshot.
Mercurial, prior to 3.4 (2015-05-01) – that’s when crecord was moved into core.
Git
Yep. totally. The interface is much slicker than text based navigation. My comment was to inform people that might not know
git
had interactive modes for its commandsYou could also use https://github.com/jreybert/vimagit
See also
git add -i
.Correct me if I’m wrong, but weren’t the
crecord
/record
extensions and the--interactive
option forhg commit
originally intended to simulate Git’s staging area? The design was derived, IIRC, from darcs, but the intention was to essentially allow users to select which parts of the changes should be included in the next commit (which Git’s index does).Right, this is a nice curses interface for that, which git lacks. Think of this as a way nicer “git add -p”.
I really like git gui.
There are two things I would change though:
Fix the weird GUI, control focus changes inexplicably after staging changes, ong other issues.
Either change the text view to be editable before staging, or add a button to launch meld with “HEAD”, “ My changes” and “My changes that are really about to be staged and I can make slight adjustments such as removing an extra new line”. I need this as I often find myself alt tabbing back to my editor, fixing something and then refreshing in git gui Another option would be a “ Open this document in your editor” button.
I really dislike git gui. Probably because I used TortoiseHg for Mercurial, which is better than anything else I’ve seen so far. But it’s hg only.
There is TortoiseSVN and TortoiseGit as well and yes, they are definitely better than git gui.
I should have said “On Linux git gui is good enough, it does hide the implementation details and advanced features, but it mostly keeps beginners like me productive and unconfused” :)
Well, I know there’s TortoiseGit, but it’s a direct port of TortoiseSVN which I find not nearly as good as TortoiseHg, which in fact is a totally unrelated tool, sharing only a bit of the name. Of course, things like this:
https://tortoisegit.org/docs/tortoisegit/images/RevisionGraph.png or this:
https://tortoisegit.org/docs/tortoisegit/images/ContextMenuDirControl.png
are better than nothing, but still, compared to
http://tortoisehg.bitbucket.org/img/vt_history.png
I find them pretty ugly.
Gitg/gitk/git-cola all look more like the 3rd one for showing history at least.
To use TortoiseSVN/Git without going mental bananas you really have to customise the menu by adding the power user items that are actually very useful and then removing all the random rubbish that no one ever uses. They could both really do with some saner defaults :)
I didn’t realise TortoiseHg was that different to TortoiseSVN/Git.