News for hackers. Stuff that matters.
Re:Pen, a GPL Copilot for Emacs by fulafel on Friday July 02, 2021 @10:44AM (#27712154)
Interesting to see someone doing this, it often comes up that we should actually have more levels of version control granularity than merges and commits. Just need an application of AI to generate good commit messages here :)
Re:Pen, a GPL Copilot for Emacs by globular-toast on Friday July 02, 2021 @01:10PM (#27714128)
I use the "undo" functionality in my editor. In emacs it's a complete tree of changes so you can't really lose anything.
Re:Pen, a GPL Copilot for Emacs by fulafel on Friday July 02, 2021 @02:03PM (#27714694)
It's something but it's ephemeral and not shareable. You can't reconstruct how a piece of code got written weeks later, to eg recover some debug helpers you deleted without committing because you thought you were done with debugging it.

But thanks for the tip about Emacs undo tree, didn't know about that. With some add-ons you can apparently eg find undoable changes for only some region of a buffer, etc.

Re:Pen, a GPL Copilot for Emacs by karthink on Friday July 02, 2021 @08:32PM (#27718382)
> With some add-ons you can apparently eg find undoable changes for only some region of a buffer, etc.

This is built into Emacs (no add-ons needed). Calling undo with a region selected undoes changes only in that region.

Re:Pen, a GPL Copilot for Emacs by mssdvd on Friday July 02, 2021 @06:36PM (#27717748)
You can also setup undo-tree to show a diff for every change.
Re:Pen, a GPL Copilot for Emacs by tom_ on Friday July 02, 2021 @01:30PM (#27714355)
True, but that's no guarantee you'll ever be able to actually find it.
Re:Pen, a GPL Copilot for Emacs by exdsq on Friday July 02, 2021 @12:04PM (#27713267)
That could be interesting but the right structure (off the top of my head) would be a hierarchical layer - not this flat monstrosity!
Re:Pen, a GPL Copilot for Emacs by astrange on Friday July 02, 2021 @10:16PM (#27718844)
I actually disagree with this because I think you should try to have the project even vaguely work at each commit, so "git bisect" will work. But maybe each commit could be a log of keystrokes instead of a text diff.