{"thread":{"id":"56005","subject":"[ANN] git-branch-list 0.1 released","startedAt":"2021-06-25T16:21:28Z","lastAt":"2021-06-25T16:21:28Z","messageCount":1,"participants":["Felipe Contreras"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"428486","messageId":"60d6027e6cf05_c746208af@natae.notmuch","threadId":"56005","inReplyTo":null,"subject":"[ANN] git-branch-list 0.1 released","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2021-06-25T16:21:18Z","receivedAt":"2021-06-25T16:21:28Z","isPatch":false,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"The current version of `git branch --list` mostly works, but it's slow and\ncumbersome. While this could easily be fixed in git itself, every patch\nthat tries to improve the user interface is de facto rejected [1].\n\nAn external command `git branch-list` is the solution.\n\nWhy is `git branch-list` better?\n\n 1. It provides useful information at all verbosity levels\n 2. It does not clutter the output with unhelpful characters\n 3. It provides a more consistent output\n 4. It sorts branches by default\n 5. It filters branches more conveniently\n 6. It tracks branches in a simpler way\n 7. It's way faster\n\n== Verbosity levels ==\n\nAt level 0:\n\n * master origin/master\n\nAt level 1:\n\n * master [origin/master] The first batch post Git 2.32\n\nWhat about the tracking information? That's orthogonal in\n`git branch-list`, and simplified:\n\n % git branch-list -t\n * master origin/master=\n\n== Performance ==\n\nUsing 100 random branches on Linux with random commits over the past\ndecade:\n\n % git branch --list --verbose\n 21.611 seconds\n\n % git branch-list\n 0.106 seconds\n\nGrab it from my GitHub repository:\n\nhttps://github.com/felipec/git-branch-list\n\nCheers.\n\n[1] https://lore.kernel.org/git/YL8KiiGXF8LdGmQ2@coredump.intra.peff.net/\n\n-- \nFelipe Contreras\n"}]}