Lazygit Versions Save

simple terminal UI for git commands

v0.31.3

2 years ago

Changelog

2f45db8f fix scrolling in sub commits panel

v0.31.2

2 years ago

Changelog

3fb478a3 add tests 5d12a6bf restore some code that was erroneously removed

v0.31.1

2 years ago

Changelog

6171690b Fix multibyte initial characters 7a464ae5 add graph algorithm ccd80a0e add menu options for log stuff f6ec7bab add some config 253504a0 associate random colours with authors 9989c963 better formatting 64578007 fix another issue with indentation 06ca71e9 fix bug 01d82749 fix commit message prefix thingo 5df0fe07 fix crash 7d946187 fix issue with indentation f91892b8 fix truncation b04b4572 fix yet another issue with indentation 9a9e3d50 more consistent rendering 7561703e move author name colouring code into its own file e122f421 only use a single initial for double sized runes 1d40d03b refactor 802cfb1a render commit graph c96496c3 show author info in rebase commits 308a3b51 some more throttling stuff 2fc14985 some refactoring in anticipation of the graph feature f704707d stream output from certain git commands in command log panel 927ee631 support aborting a merge or rebase with esc 37be9dbe support scrolling left and right 72bce201 support scrolling the list in the integrations app c47c539e support user-configurable author colours

v0.31

2 years ago

LAZYGIT NOW SHOWS A COMMIT GRAPH!

No idea why that took so long but there you go. Some new changes:

  1. the git graph now appears when you maximise the commits panel with the + key.
  2. you can scroll horizontally with shift+H and shift+L, in case that graph gets a bit out of control
  3. you can show the whole commit graph (i.e. git log --all) via the git log menu with <c-l> in the commits panel. In that menu you can also hide/show the graph
  4. we now randomly assign colors to authors so you can easily see at a glance who authored which commits. These same colors are used in the commit graph as well
  5. you can set custom author colours in the config e.g.
gui:
  authorColors:
      'Jesse Duffield': '#fa8072' # it's not pink, it's a _faded salmon_ color

Admittedly the commits pane takes a while to load if you scroll past 300 commits so that will need to be fixed in an upcoming release.

If you have any concerns/suggestions about the changes in this release please raise an issue or start a discussion

Thanks to @Ryooooooga , @Liberatys , and @mjarkk for the help

v0.30.1

2 years ago

Changelog

d4ee26d6 fix commit message prefix thingo

v0.30

2 years ago

Changelog

Features:

  • many more places where suggestions are shown as you type in a prompt. For example, when:
    • searching for a file to check its history
    • checking out a branch
    • setting a remote branch to track
    • entering a custom command
  • added support for diff3 merge conflict style (thanks @Ryooooooga )
  • files in the working tree can now be filtered by staged/unstaged with (thanks @Liberatys )
  • gui language can now be set manually with gui.language config key (thanks @Dwarven )
  • cherry picked commit colour is now customisable (thanks @samburville )
  • you can now define multiple config files to merge into one another, allowing for light/dark theming without having to duplicate other configuration (thanks @mjarkk )
  • in the staging panel you can now copy the selected lines to the clipboard (thanks @Hrily )
  • jump-to-block keybindings (default 1-5) are now configurable (thanks @samburville )

Bug fixes:

  • fixed panic when resolving merge conflicts (thanks @Ryooooooga)
  • fixed issues opening files on windows (thanks @Ryooooooga)
  • fixed bug where deleting unmerged branches caused issues when not in english (thanks @Ryooooooga)
  • fixed crash when removing tracked files (thanks @Ryooooooga)
  • better support for different encoding schemes
  • patch files are now saved in temp directory to save space (thanks @Ryooooooga)
  • fixed various crashes caused by improper quotation in git commands (thanks @Ryooooooga)
  • fixed various issues with the commit message editor
  • fixed issue where the main panel scrolled back to the top whenever lazygit refreshed
  • fixed issue where pressing tab in a confirmation panel would spawn a random panel at the edge of the application
  • fixed issue where commits panel would be empty on older git versions (thanks @Ryooooooga)
  • As part of an initiative to let the git config drive of lazygit's behaviour, pull logic has been simplified so that now the git config's setting is honoured. Highly recommended: set pull.rebase = interactive and rebase.autoSquash = true so that you can see the commits yet to be rebased when midway through pulling. Note that this means the git.pull.mode lazygit config has been removed
  • --follow-tags has been removed from git push, so if you still want that you'll need to set it in your git config with pull.followTags = true

Other Changes:

  • file tree view is now shown by default. You can switch to flat view with the backtick key
  • if you hide the command log panel from within lazygit, it will stay hidden when you open lazygit again. This spares you from having to hide it manually in your lazygit config.
  • improved chinese translation (thanks @btwise and @black-desk )
  • updates to polish translation (thanks @HTD )
  • lots of new tests added for dealing with remotes (pushing, pulling, fetching, setting upstream, etc)
  • fixed some misspellings (thanks @codesoap )

v0.29

2 years ago

Credits

@Ryooooooga @black-desk @mrgarelli @boehs @FoamScience @mjarkk @danielebra @waffleboot @Krismix1 @jesseduffield

Changelog

107503c9 :art: alternative syntax 31bcd632 :art: observe the error, if there is one ae2496cf :art: prefer the long switch over the short one for easier reading b80fafef :art: properly ignore the result 7ae106d4 :art: run formatter 22a6771e :art: run go fmt against the file directly ftw 2ac33bb8 :art: split out platform-dependent logging for compile-time selection 533817bd :bug: should be TailLogs 2b4048eb :bug: shouldn't hammer the file continually, have a nap instead 3dc3174d :fire: remove erroneous user_config fields 35f1ccdb :recycle: temporarily bypass ignore whitespace for diff view instead of turning the toggle off completely 13048055 :sparkles: always show whitespace in diffs when entering line-by-line staging a9f04d39 :sparkles: facilitate toggling whitespace in the diff view with a hotkey (c-w by default) 16dcc8f4 :sparkles: implement feedback when toggling whitespace aa9ef12d :sparkles: make log-watching work on windows 53ea7df6 :truck: move only the platform-specific part of log tailing into platform-specific files 92cc6e88 :truck: move whitespace toggle out of quitting.go eb10ddfc :white_check_mark: add a test around ignoring whitespace 3f965373 :white_check_mark: update test to pass in default ignore-whitespace flag (false) e8e4fa59 Add color functions to templates funcMaps 0c2d90a4 Add comment 9daa47fb Add docs for menuFromCommand prompts 3802b563 Add error message if target branch not found with prompt d65c0188 Add integration test f1ced553 Add option to format filter matches to menuFromCommand prompts d18c8c8d Add prompt type: menuFromCommand 01e4467d Add test cases for pull mode 148bf2c0 Add test for GenerateMenuCandidates from Custom Commands 755cc9f8 Add tests 4fca89bc Allow hex theme colors 77e9ee64 Apply suggestions from @mjarkk for menyFromCommands 0a63f701 Apply suggestions from code review f70435a2 Better format error catching in menuFromCommand prompts 9a087d04 Change the way file statuses are loaded b92ff3ee Consider first match only in menuFromCommand prompt f2645da1 Extract git service URL formatting to a separate method b28569a5 Fix a format issue f96674b2 Fix error when filename contains -> bccf203a Fix menu item color a553f7fb Fix staged renamed file with unstaged changes displays incorrectly in Files view #1408 d073932c Fix stash submodule #1436 63cb304a Fix translations, make formatter happy 0c3132c6 Fix typo in random tip b4e6850f Fix wrong ff-only configuration 0e6598ad Implement pull request options menu ea136e4e Improve code quality a8ec044f Make menuFromCommand format menu items and their description 0aad68ac Merge branch 'btwise-master' 83834a2c Merge pull request #1373 from danielebra/master b363b755 Merge pull request #1387 from mjarkk/parse-emoji-2 1573a449 Merge pull request #1389 from mjarkk/parse-emoji-update-docs c005b0d9 Merge pull request #1390 from FoamScience/menu_from_cmd eec20b84 Merge pull request #1392 from mjarkk/parcally-fix-1385 9b57b73f Merge pull request #1395 from mjarkk/allow-hex-theme-colors f4874bbb Merge pull request #1396 from mjarkk/fix-1385 04e474aa Merge pull request #1401 from jesseduffield/switch-text-color-library de5133ff Merge pull request #1402 from jesseduffield/ci-build-less-binaries 3c78ba7e Merge pull request #1409 from jesseduffield/jesse-switch-text-color-library 5d1a9639 Merge pull request #1416 from FoamScience/feature_menuOptions fd8cb6e6 Merge pull request #1419 from mrgarelli/1418_bug_tests_ForceSetColorLevel a3a14e9f Merge pull request #1423 from FoamScience/feature/colorsInMenuFromCommand 2eeff125 Merge pull request #1432 from black-desk/moved-submodule a2ee5214 Merge pull request #1433 from black-desk/fix-space-in-filename 6c415d13 Merge pull request #1434 from Ryooooooga/feature/fix-quote-in-filename 617e8a05 Merge pull request #1437 from Ryooooooga/feature/fix-submodule-update c878f34f Merge pull request #1438 from Ryooooooga/feature/rename-files-with-modification f8db3592 Merge pull request #1440 from Ryooooooga/feature/quote-git-C-path 906ec30c Minor changes to menuFromCommand prompts 58ddbae4 Minor refactor d7865b38 Read pull mode from git configuration c57a0077 Read pull mode from gitconfig lazily edfb0a26 Refactor code around handleCustomCommandKeybinding d5ec0fdc Remove doubled string formatting in pull request URL generation a2f7fcd7 Remove unused constant 46e500dc Revert "Read pull mode from git configuration" dcd3b7c0 Show only labels in menuFromCommand prompts 7588d529 ShowTotal flag 3db40a79 Sperate gh action build step b5d8849c Support match colors in labelFormat entry in menuFromCommand prompts 79848087 Switch to github.com/gookit/color for terminal colors 40f10c33 Update config.md b590397d Update docs 7d1b76a3 Update dutch.go fb69bfd2 Update english.go 6e579dc6 Update localized Keybinding file 66d735ac Update pkg/commands/files.go 1aa45b01 Update tests 0c135515 Use parent view for tab navigation 39c85770 Use static context a13e919d add chinese for i18n 028cb2be add extra quoting for shell cmd string on linux a3b820fb add missing universal keybindings to doc 7b19c5ad add parse github emoji to docs e58376f9 add tests for TemplateFuncMapAddColors 0662733a add tests for color changes f8f596d0 add tests for open file cmd on linux bfc98812 added changes that should fail the ci on windows 3a0a9ec3 branches check for split parts length d626bcac color fixups fc76b44b correctly show files with special chars in commit 37700908 fix checkout file command 488c43aa fix crash when double quotes in filename #1433 d51b065f fix empty patch panel when spaces in filename bb4fe265 fix moved submodule b21ac990 fix submodule command escaping #1436 0740409f fix test 2b9df0ea fix up cheatsheet 46c146a8 fixed test failing due to ForceSetColorLevel in pkg/gui/style/style_test.go 713fae3e format code 17770b9f go mod vendor 4969e9ce gofmt 123d6241 make import explicit e798aa4b more color tests 0bc0e4ac more efficient b81bac3d more i18n 9fdf92b2 more refactoring 23285eab more resilient test 62393cf2 more treeish files ce7cbe58 naming change fc066d2f parse github emoji config option 550c0fd4 refactor 93bf691f refactoring 1183de15 revert changes from bfc9881 d1134daa review fixes: PR URL refactoring, target branch selection prompt 117c0bd4 simplify code a bit fb395bca support reverting merge commits b7b30191 update cheatsheet ec82f809 update keybindings

v0.28.2

2 years ago

Changelog

44f7fc6f Add global binding to open recent repos 472288c8 Add user config to change the sort order of tags 3258c24f Better english for Configuring File Editing. 05a23f0e Discard value after END marker e7c657fb Docs for EditCommand. 60468d2e Edit command as user OS config option e478c254 Handle alternate merge conflict format; add tests fd38ad80 More generic merge conflict detection 6ccf58c2 README: deprecate Ubuntu PPA 94b52af6 Remove config, make default sort order descending bc044c64 Remove origin prefix when creating local branch based from origin cb78cf7d Simplify sorting of git tags by using git's functions f92fcfbb cd: remove ppa job f91adf02 fix lbl scrolling d502c43a fix tests 0df02dac minor changes f71b23b8 more explicit 90983aae not importing regexp 6d91661d prevent closure issue 258eedb3 refactor

v0.28.1

3 years ago

Changelog

9190e9be Fix englishIntroPopupMessage typo in english.go

v0.28

3 years ago

lazygit 0.28 Release notes

Thanks to everybody who filled out the survey at: - https://forms.gle/AdFEuLy2dikcmK4F7

It's still open so if you want to leave feedback about lazygit please click the link!

Okay what's new in this release?

Command Log Panel

image

Concerned that you have no idea what git commands lazygit is running under the hood? Even I was starting to wonder myself. Well now there's a command log panel which tells you exactly what's going on. Paradoxically, this makes lazygit a valuable resource for learning how to use git on the command line.

The panel is shrunk to a single row when your terminal pane is small enough so that you have some more space. If there's more room it will be a little larger. You can maximise it by clicking it or pressing '@' and switching to it. You can also hide it for the current session through the menu that comes up when you hit '@'.

If you want to hide it permanently you can add the following to your config (which you can edit by pressing 'o' while the status panel is focused):

gui:
  showCommandLog: false

You can also change the default size of the panel (in its semi-enlarged form) like so:

gui:
  commandLogSize: 10

Random Tip

image

Some responses to the above survey mentioned features that would be cool to add... which already existed! So we're seeing how we go with a random tip that is shown in the command log panel when lazygit is opened, providing general tips for using lazygit so that the user can get a little more familiar with the app. If you find this annoying, you can disable it like so:

gui:
  showRandomTip: false

Admittedly if the random tip spans several lines and you only have a one-line-high command log, you're gonna need to scroll up. Not too sure how to get around that one.

Ask Question Button

image

If you're lost and want to ask a question, any question, you can now click the 'Ask Question' button at the bottom right of the app. It will take you to the discussions page of the lazygit repo.

File sorting

We now bubble tracked files to the top when in flat file mode again. So first you'll see files with merge conflicts, then tracked files, then untracked files.

Bug fixes

  • when you open a panel for editing text, the cursor now appears at the end, not the start, of the text.
  • when using an east-asian character encoding, the rendering of frames is no longer broken