njoseph, to rust
@njoseph@social.masto.host avatar

Magit is one of the "killer apps" of emacs, which one might miss when using a different editor. Helix editor in my case.

gitu is a Git porelain offered in the form of a TUI app with keybindings similar to magit. It's still in active development. I've installed it using cargo for now.
https://github.com/altsem/gitu

bram85, to emacs

magit-find-file allows you to open a file at a certain revision, which could be a (relative) timestamp. Notation: HEAD@{3 days ago}.

Using these bits, I wrote a small #emacs command that displays a file at a certain moment, chosen with the built-in calendar.

(defun bram85-magit-find-file-as-of (datetime)  
 (interactive (list (org-read-date)))  
 (let ((rev (format "HEAD@{%s}" datetime)))  
 (magit-find-file rev (magit-read-file-from-rev rev "File: "))))  

#magit #git

abcdw, to emacs
@abcdw@fosstodon.org avatar

Did you know that you can do a git log just for a small part of the file?

aksharvarma, to emacs
@aksharvarma@mathstodon.xyz avatar

I always told people that is best written/edited in but didn't have a better argument for it than how well everything integrates. , pdf-tools, , etc. make it a seamless experience. I had a little bit of YASnippets going as well which made life wonderful.

That already brought things to the state of Gilles Castel's 2019 latex lecture notes in article (which I believe is famous, at least in these circles). But yesterday I found a blog post by @karthink about how to get that and more in Emacs.

LaTeX input for impatient scholars: https://karthinks.com/software/latex-input-for-impatient-scholars/

The very first demo (40 seconds) shows how to get an equation in latex that I am sure would take me over a minute to write by hand (and it would look ugly in comparison). Then I looked at the second video (45 seconds) and realized that somehow org table style editing can be used for things like matrices and arrays and what not.

Just like that, less than 2 minutes has me committed to getting all that functionality in my Emacs config. Of course, this being emacs, I can tailor it all precisely to my comfort and I'm willing to spend however long is needed to get it to that stage.

orhun, to rust
@orhun@fosstodon.org avatar

Say hi to Gitu! — A TUI Git client inspired by Magit ✨

🚀 Stage, commit and use other essential Git functions in your terminal!

🦀 Written in Rust & built with @ratatui_rs

⭐ GitHub: https://github.com/altsem/gitu

#rustlang #tui #ratatui #git #terminal #ui #magit #emacs

video/mp4

takeonrules, to emacs
@takeonrules@dice.camp avatar

A brief how to configure #Magit. And a personal reminder to read the documentation.

https://takeonrules.com/2024/03/01/quality-of-life-improvement-for-entering-and-exiting-magit/

#Emacs

sunshine, to emacs
@sunshine@urbanists.social avatar

A new blog post today on how #emacs and #magit have influenced my #git usage. I'd love to have feedback and corrections from the nice people on Mastodon!
https://signmaker.dev/refinements-from-magit

pbx, to emacs
@pbx@fosstodon.org avatar

#emacs is my org-mode editor, not my coding editor, but I've always liked the sound of #magit and have wanted to learn it for a long time. I came up with a silly hack this week to support that effort: a keybinding in VS Code that opens the current file in Emacs!

From there it's 'C-x g' and off to the races.

ynom, to emacs
@ynom@emacs.ch avatar

What do you all think of ?

It appears to be an -ish program that uses for customization.

Apparently there have been other emacs clones based on and and I guess those are called ?

Without going too into my personal details, I’m not a professional programmer and most of my experience is with a modern programming language, , and a high level programming language, .

I’ve tried learning several times by completing various programming exercises and I end up quitting because something obnoxious comes up that, from my minimal programming experience, appears to be due to elisp‘s age. Again, I’m not a pro, so this is just my amateur take.

I did a some programming challenges with which was hugely fun (mostly because of how fun it feels in emacs 😁) so I don’t think it’s the part of emacs I have a distaste for.

I’ll probably give it a serious go within the next week here and possibly report back, but I can’t imagine an emacs clone without and ChatGPT-shell will really ever become my daily driver 🙃

https://lem-project.github.io/

https://news.ycombinator.com/item?id=39397942

ctietze, to random
@ctietze@mastodon.social avatar

GitButler | Git Branching, Refined https://gitbutler.com/

Found this #git tool today, and oh boy would I like to have what "virtual branches" sounds like:

Spotting a bug that has nothing to do with my current work?
Instead of checking out main again with a bugfix branch, do it directly without actually wrestling branch changes.

I really like that with #Magit I can "donate" and "harvest" commits, so I do that instead, but you can run into conflicts when rebasing after moving commits around

ctietze, to emacs
@ctietze@mastodon.social avatar

#Emacs and #magit users, have you figured out a way to tweak merge conflict/diff views so that the versions have more meaningful names?

E.g. merging foo into master, showing labels like "changes to be applied from foo" and "base from master" would be amazing.

HaraldKi, to linux German
@HaraldKi@nrw.social avatar

For software development I use #linux.
For version control I use #git.
To control git I use #magit in #emacs.
To start magit out of a #bash for the current project I use:

% type magit
magit is a function
magit ()
{
emacsclient -e "(kill-all-magit-buffers)" -e "(magit-status "$PWD")"
}
where kill-all-magit-buffers is based on this: https://stackoverflow.com/a/44119606/2954288

thanks @tarsius for magit

jameshowell, to random
@jameshowell@emacs.ch avatar

TIL about #difftastic, a richly semantic diff that integrates well with #magit. Holy amazeballs. Thank you, @wilfredh!

https://github.com/Wilfred/difftastic

seperis, to random

So I'm assuming whoever designed git hates everyone or at least everyone who likes terminal? Or at least went about everything as weirdly complicated as possible?

It took me way too much googling to figure out how to do something that--by any sane standard--should be idiot proof.

Panic: figuring out how to create, edit, and push a new branch from my machine to my fork, seperis-image-builder and not image-builder. There is a canceled pull in image-builder, that's how close it came.

bignose,
@bignose@fosstodon.org avatar

@seperis The best #Git "porcelain" I've found, by far, is #Magit: https://magit.vc/

So good, that it's worth learning #Emacs in order to get the nicest and most coherent Git UI around :D

inthehands, to random
@inthehands@hachyderm.io avatar

Any recommendations for a git tool that:

  • runs on macOS, and
  • does a really nice job of the •commit• workflow: showing the diff, selecting changes to commit, maybe selecting individual lines.

I don’t care about anything fancier that commits — not even branches! I have tools I like for all that stuff.

I’m just looking for a nice UI for viewing and selecting uncommitted changes, something better than the clunky “stage / unstage” buttons that are the norm.

dr_renormalizer,

@inthehands I'm not a software dev, or even a heavy-user of git (by which I mean doing things like rebasing and dealing with merge conflicts), but I've been using Magit on #Emacs: https://emacsair.me/2017/09/01/magit-walk-through/

It's made using git very simple for me. I generally just update notes and dotfiles, and my workflow is something like:

  • Do "M-x magit" (which I've bound to my "F6" key)
  • Enter the path to the repository I'm interested in, and get a magit buffer
  • Scroll to the files listed under the "Unstaged changes" headline
  • Hit "S" on the ones I want to stage for a commit (or I can even just select individual changes within a single file that I want to stage)
  • Scroll to "Stage changes", remove unwanted changes in the commit if necessary (by hitting "S") and then committing the changes by doing "C-c C-c"
  • Typing out a commit message and doing "C-c C-c" again
  • Hitting "P" to push my changes to my chosen remote.

You can also do things like "magit-log" within a file etc.

#magit

Mehrad, to random
@Mehrad@fosstodon.org avatar

There are some software that we need to preserve, meaning both keeping them under development and also keep them as community-driven projects.

I'll list here the projects I think that should be preserved, and I invite you all to comment the projects you think are essential to be on the list (please provide URL as well)

My list for now:
@AntennaPod
@kde applications
• Emacs
@neovim
@joplinapp

🔂 Boosting is highly appreciated

heikkiket,

@Mehrad

I'd say

...and many others could be listed as well! Am I mistaken btw? Is there a title here that's not a community driven project?

lauren, to random
@lauren@mastodon.laurenweinstein.org avatar

I am largely unconvinced that it would be possible to create a much more confusing syntax for the "rsync" command even if that were the explicit goal.

stsquad,
@stsquad@mastodon.org.uk avatar

@slackline @lauren dried-sync-transient sits on top of dired-rsync for those who prefer a #magit like interface to the underlying #rsync command (allowing you to tweak a few vars). However I'm fine with just using plain dired-rsync - full disclosure I'm the original author so unsurprisingly it suites my workflow ;-)

rap1ds, to emacs
@rap1ds@mastodon.social avatar

TIL magit-commit-absorb, which wraps git-absorb (https://github.com/tummychow/git-absorb), which takes your uncommitted changes and "absorbs" them in recent commits, e.g., when you run a linter and fix the errors that should've been fixed in earlier commits.

Sounds useful, gonna try it out soon.

#emacs #magit #git

holgerschurig,

@rap1ds How is this different (workflow wise) from using "git commit -a" (amend) ?

Personally, I often even go a step further: I make several commits, and then use #magit's interactive rebase to fold these little changes into the suiting commits. Because more often ttan not they don't belong into the ssme commit.

People with inferior editors can still use "git rebase -i" :-)

greg, to emacs
@greg@gregnewman.io avatar

@takeonrules just watched your talk. Excellent! “the interface for VS Code's commit is trash" is so true! #magit #emacs

tarsius, to emacs

I've just released Transient v0.5.0. https://emacsair.me/2023/11/28/transient-0.5/ #emacs #magit 🥳​

fomosapien, to emacs

#emacs does it better:

magit-rebase-interactive

a.k.a r i in the #magit transient.

Complex multi-commit #git rebasing could hardly be simpler. Magit really is the Emacs "killer app".

#emacsdoesitbetter

ramin_hal9001, to emacs
@ramin_hal9001@emacs.ch avatar

#Magit is too easy to use sometimes: almost lost an important bug fix to a hard reset

I was trying to reset just one file, for that you press X f but I absentmindedly pushed X h instead which deleted all changes. Fortunately #Emacs saved me, I was able to remember all of the files I had changed, visit each of those buffers and press C-/ (undo) in each of them to recover my work. The correct copy of my files were on the Undo stack. I can see why some people love those backup files with the tilde characters at the end of the file name.

But then again, #Emacs , or rather #Magit was the problem to begin with. Is there any way to configure it to ask for confirmation before doing a hard reset?

publicvoit, to Podcast German
@publicvoit@graz.social avatar

@stdevel machte mit @fabrik42 @knoppi und mir eine spannende Episode zu und .

Auch der kam durchaus öfters vor.

Wenn du noch nicht viel über die Themen weißt oder noch unschlüssig bist, solltest du dir das mal anhören - gibt einen guten Überblick über diese ziemlich ausgereiften Powertools.

https://focusonlinux.podigee.io/70-emacs

:emacs: :orgmode:

rauldux,
@rauldux@mastodon.social avatar

@kkarhan @stdevel

Ohje,
>weil von -Philosophen gefanboyed wird

emacs ist über 40 Jahre alt, da hat zum Glück noch niemand mit Wörtern wie gefanboyed und bloatware argumentiert.

Mit einer Office Suite hat das mal gar nichts zu tun. Was du gerne StallmanOS bezeichnest wurde vom GNU Initiator zum Leben erweckt und GNU steht für Gnu's NOT! Unix. Nur so.

, und alleine machen Emacs schon großartig.

- alles kann, nichts muss. Du entscheidest selbst.

b0rk, (edited ) to random
@b0rk@jvns.ca avatar

been thinking about this very common git workflow and how git doesn't do much to help you ensure that if you're using this workflow:

a) you never commit to your local main branch directly
b) you regularly pull from origin/main to keep your local main branch up to date

you just need to be careful

branch protection on github/gitlab helps with this, but I don't think there's much in git itself

ericsfraga,
@ericsfraga@fediscience.org avatar

@meliache @petes_bread_eqn_xls @b0rk #TIL #magit has a spin-off command. Wish I'd known about this sooner as it would have saved me a lot of (unnecessary) grief. Thank you!

#Emacs

  • All
  • Subscribed
  • Moderated
  • Favorites
  • provamag3
  • rosin
  • ngwrru68w68
  • Durango
  • DreamBathrooms
  • mdbf
  • magazineikmin
  • thenastyranch
  • Youngstown
  • khanakhh
  • slotface
  • everett
  • vwfavf
  • kavyap
  • megavids
  • osvaldo12
  • GTA5RPClips
  • ethstaker
  • tacticalgear
  • InstantRegret
  • cisconetworking
  • cubers
  • tester
  • anitta
  • modclub
  • Leos
  • normalnudes
  • JUstTest
  • All magazines