File lazygit.changes of Package lazygit
-------------------------------------------------------------------
Sat Jun 07 02:45:51 UTC 2025 - Jeff Kowalczyk <jkowalczyk@suse.com>
- Update to version 0.52.0:
* Remove the pick vs. pull hack
* Optionally pass disabled commands on to next handler
* Cleanup: restructure code for clarity
* Bump gocui and adapt lazygit code
* Fix wrong inactive highlight when switching between repos
* Add integration test for resetting to upstream branch with duplicate name
* Use full refname instead of short to prevent disambiguation with tag
* Add integration tests showing resetting to duplicate named tags and branches
* Add FullRefName to all reset menus
* Print default option when prompting to create a new git repo
* Make PR template mention that PR titles will be used in release notes
* Replace literal with ConfigFilename constant
* Use branchPrefix on moving commits to a new branch
* Add a function to suggest a branch name based on branchPrefix
* Fix branch selection jumping back on background fetch
* Kill background fetch when it requests a passphrase
* Pass cmdObj instead of task to processOutput
* Bump gocui
* Add user config gui.addRootItemInFileTree
* Pass common.Common to file trees instead of just the Log
-------------------------------------------------------------------
Mon May 26 13:54:30 UTC 2025 - Jan Kužílek <jan.kuzilek@suse.com>
- Update to version 0.51.1:
* Use PTY also with credentialStrategy=FAIL
* Add ContextMgr.NextInStack and use it to access side panel of focused main view
* Cleanup: pass target context to focusMainView directly
* Fix crash when clicking in the status view
* Make home and end keys work in prompts
* Bump gocui
* Render the main view only for the side context that it belongs to
* Include migration changes in the error message if we can't log them
* Log a list of migration changes to the console
* Make RenameYamlKey return a bool
* Cleanup: remove redundant if statement
* Print migration hints only when GUI hasn't started yet
* Add tests for migrating null keybindings to <disabled>
* Add tests for migration of renamed keys
* Cleanup: return didChange bool from computeMigratedConfig
* Cleanup: fix formatting of test cases
* Cleanup: flip conditions for less indentation
* Cleanup: use assert.NoError
* Bump generics dependency
* Fix possible crash with auto-forwarding branches
* Split behavior of rendering allBranchesLogCmd and switching to next cmd
* Clear preserved commit message when entering CommitEditorPanel
* Rename OnCommitSuccess to ClearPreservedCommitMessage
* Remove the if statement from OnCommitSuccess
* Remove the call to OnCommitSuccess from tag creation
* Add an alternate keybinding (default <c-s>) for ConfirmInEditor
* Make '>' first jump to the beginning of the branch, and only then to the first commit
* Remove unused keybinding handler
* Add custom patch command "Move patch into new commit before the original commit"
* Use 'break' instead of 'edit' for BeginInteractiveRebaseForCommit with merge commit
* Add test for rewording a merge commit
* Regression test for moving custom patch to new commit from last commit of a stacked branch
* Regression test for renaming the last commit of a stacked branch
* Shorten commit hash in custom patch menu
* Cleanup: remove unnecessary setup steps
* reword documentation for git.autoForwardBranches
* Migrate deprecated AllBranchesLogCmd to AllBranchesLogCmds
* Move Loader to presentation package
* Move NewDummyCommon to pkg/common
* Add breaking change notice about 'stream: true' being converted to not use a pty any more
* Combine customCommand's subprocess, stream, and showOutput fields into a single output enum
* Add yaml_utils.RemoveKey
* Remove unused function UpdateYamlValue
* Add separate UsePty flag for CmdObj
* Rename getCmdHandler to getCmdHandlerPty, and add getCmdHandlerNonPty
* Remove ICmdObj interface
* Validate custom commands in sub menus
* Add test demonstrating missing validation for custom commands in sub menus
* Add comments in tests to explain what they test
* Store fromPos/toPos as 16-bit ints, and reorder fields for better packing
* Store TextStyle in Pipe struct as pointer
* Store Pipe objects by value in slice of Pipes
* Simplify equalHashes
* Store fromHash/toHash in Pipe struct as pointers
* Pack the models.Commit struct a little tighter
* Store Commit.Parents in the pool too
* Make Commit.Parents a getter for an unexported parents field
* Store Commit.Hash by pointer (kept in a pool of hashes)
* Make Commit.Hash a getter for an unexported hash field
* Rewrite generateCommits to avoid write access to commit.Parents
* Cleanup: use IsMerge instead of counting Parents
* Simplify code and fix comment
* Fix confusing variable name
* Remove unused function
* Modernize benchmarks
* Bump git-todo-parser
* fix wording of random tip
* Strip the '+' and '-' characters when copying parts of a diff to the clipboard
* Remove space after rebase todo
* Disallow creating custom patches when the diff context size is 0
* Fix nvim-remote commands for fish shell
* Fix race condition when starting several command tasks in quick succession
* Allow closing issues via github actions
* Add Debian installation instructions alongside Ubuntu
* Allow changing diff context size and rename threshold when main view is focused
* Update config docs and schema
* Add new command "Move commits to new branch"
* Add free-standing function IsWorkingTreeDirty
* Remove MergeAndRebaseHelper's dependency on RefsHelper
* Use Model().Branches[0] instead of refsHelper.GetCheckedOutRef() in MergeAndRebaseHelper
* Cleanup: remove unnecessary indirection
* Add a breaking changes hint for the new auto-forward behavior
* Add config for auto-forwarding branches after fetching
* Inline fetchAux into call site
* Remove double Refresh
* Re-render focused main view on refresh if needed
* Allow clicking in the respective other main view to switch focus to it
* Allow clicking in focused main view to go to staging
* Allow clicking in main view to focus it
* Read all lines from task when starting to search
* Make the main view searchable
* Read all lines from task when jumping to bottom
* Use readLines channel only for command tasks
* Add navigation keybindings to focused main view
* Update keybindings, config docs, and schema
* Allow focussing the main view
* Add class MainContext
* Always render diffs to the main/secondary context pair, even for files
* Add IGuiCommon.GetViewBufferManagerForView
* Remove utils.Clamp, use lo.Clamp instead
* Bump gocui
* Remove the "YOU ARE HERE" marker
* Add section headers for rebase todos, cherry-picks, reverts, and actual commits
* Add new commit status StatusCherryPickingOrReverting
* Fix view selection running out of sync with list selection when view isn't focused
* Support range selection for reverting commits
* Inline afterRevertCommit
* Remove the "Select parent commit" prompt when reverting a merge commit
* Allow cherry-picking merge commits
* Remove unused cherry-picking code in daemon
* Use "git cherry-pick" for implementing copy/paste of commits
* Reference original commits in CherryPicking mode instead of synthesizing new ones
* Disallow any changes to commits or todos when cherry-picking or reverting
* Fix the bug described in the previous commit
* Add test demonstrating problem with revert (or cherry-pick) during a rebase
* Add test to check that an "edit" entry correctly shows a conflict
* Show todos (and conflicting commit) for cherry-pick and revert
* Simplify the MergeRebasingCommits call in GetCommits (slightly)
* Show original todo action instead of "conflict", and show `<-- CONFLICT` instead
* Use commit.IsTODO instead of comparing Status against models.StatusRebasing
* Remove unused enum entry StatusSelected
* Add DisabledReason for rebase options when not rebasing or merging
* Check for conflicts after reverting a commit
* Add test for reverting a commit that conflicts
* Mention which command is continued in PromptToContinueRebase
* Make WorkingTreeState a struct, and add cherry-picking and reverting states
* Move types/enums/enums.go to working_tree_state.go
* Add test for a special situation in rebases involving empty commits
* Centralize logic regarding WorkingTreeState close to its definition
* Rename RebaseMode to WorkingTreeState
* Simplify the RebaseMode enum
* Use WorkingTreeState instead of RebaseMode in CommitLoader
* Remove rebaseMode field from TestGetCommits scenario
* Don't wait for debugger in daemon mode
* Rerender views if necessary when scrolling horizontally
* Fix truncating branches to the right edge of the view when scrolled to the left
* README.md: Update Sponsors
- Packaging improvements:
* Add version to binary via Go linker ldflags, refs boo#1241105.
Necessary for correct output with --version:
commit=v0.51.1, build date=, build source=binaryRelease, version=0.51.1, os=linux, arch=amd64, git version=2.49.0
before change:
commit=, build date=, build source=unknown, version=unversioned, os=linux, arch=amd64, git version=2.49.0
-------------------------------------------------------------------
Tue Apr 15 09:57:43 UTC 2025 - Antonio Larrosa <alarrosa@suse.com>
- Update to version 0.49.0:
* Skip date check when release worfklow is manually invoked
* Escape special characters when git-ignoring files
* Add test that shows problems with git-ignoring files with special characters
* Fix crash when dragging from below the end of the diff upwards and then staging the range
* Refactor: extract function clampLineIdx
* Update translation files from crowdin
* fix: update vscode color to logo color
* Add a command to select all commits of the current branch
* Show "hooks disabled" in title bar of commit message editor
* Cleanup: don't render the commit length when typing in the description
* Prefill the commit subject with the skipHook prefix when pressing `w`
* Use dario.cat/mergo instead of github.com/imdario/mergo
* Bump go-git
* Add `runCommand` function to Go template syntax
* Move test from commit to branch
* Print which git version we are using for running integration tests
* Remove conditional code related to git earlier than 2.22
* Remove canUsePushTrack parameter of obtainBranches function
* Bump minimum required git version to 2.22
* Provide conflict resolution dialogs for non-textual conflicts
* Allow chaining of FileSystem methods
* Better main view display for conflicing files
* Fix the bug described in the previous commit
* Add test demonstrating problem with main view display when pressing `e` in a stack of branches
* Add pageUp/pageDown/top/bottom keybindings to focused command log panel
* Add pageUp/pageDown/top/bottom keybindings to confirmation panel
* Cleanup: remove unused interfaces for helpers
* Cleanup: get rid of the variadic parameter of ContextMgr.Push
* Enable AutoRenderHyperLinks for the tooltip view
* Bump gocui
* Update kidpix link in README to active url
* Add a breaking changes entry for using shell aliases
* Add config os.shellFunctionsFile
* Reorder configs in OSConfig
* Revert commits related to using an interactive shell for running shell commands
* Update disabled message
* Add integration test
* Fix discarding submodule changes in nested folders
* Cleanup: rename predicate params (test -> predicate)
* Bump generics dependency
* Fix display of renamed files
* Add test showing problem with the display of renamed files
* feat: Implement range stash drop
* Fix race with PTYs in integration tests
* Cleanup: remove pointless `if` statement
* Corrected interactive rebase keybinds example in README.md
* Add "Absolute path" item to the file view's copy menu
* Fix the bug mentioned in the previous commit
* Add test for checking out a file from a range selection of commits
* Add test for checking out a file from a commit
* Fix double '#' on hexadecimal colors
* Let users to define custom icons and color for files on the config file
* Add newlines for correct markdown
* Allow passing refresh scope to WithGpgHandling
* fix: Make tag operation use GPG helper to run signing in sub-process
* refactor: Express WithGpgHelper with a config key parameter
* refactor: Make commit.gpgSign match official capitalization
* refactor: Rename UsingGpg to make room for Gpg Tag logic
* Add in missing "deprecated" yaml tags
* Remove deprecated configs from auto generated config.md
* Include empty arrays and maps in the generated Config.md
* Add comments with more information
* Remove text that is now unused
* Commit without pre-commit hooks is independent on prefix
* feat(submodules): add method to bulk init and update submodules
* Specify a go release minor version
* Add a root item ("/") if files at top level have changed
* Make Node.path private
* Use Path directly instead of GetPath getter inside the filetree package
* Use GetPath accessor outside of filetree package
* Rename Name to Path in File and CommitFile
* Cleanup: make integration test assertions for files panel more specific
* Fix postFilterTest to actually do what it says
* Add a "Content of selected file" entry to the copy menu for commit files
* Drop the git config cache when getting focus
* Cleanup: remove more unnecessary type arguments
* Revert "Skip post-checkout hook when discarding changes"
* Support home and end as alternatives to '<' and '>'
* Commit only tracked files in tracked only filter view
* Show staged but untracked files in tracked only filter view
* Add hint to not copy the whole defaults section into the config file
* Ignore commit prefixes with an empty pattern
* URL encode gitlab brackets to make consistent with branch names
* Add an integration test for a config with a negative refspec
* Update to go 1.24
* Add acme editor preset
* Fix release schedule again
* Set tab titles after reloading user config
* Set view titles in configureViewProperties rather than createAllViews
* Cleanup: standardize on accessing translations via gui.c.Tr
* Fix layout of options view for non-english languages
* Use Rewording instead of Committing when rewording the head commit
* Use a WithWaitingStatus for rewording a non-head commit
* Avoid double Refresh when rewording the head commit
* Don't call OnCommitSuccess in handleReword
* Support fish when running shell command
* Remove unnecessary type arguments
* Remove unused functions
* Validate properties of customCommand when commandMenu is used
* Add commandMenu property to custom commands
* Extract a method CustomCommand.GetDescription
* Change customCommand fields to pointers
* Don't set showOutput explicitly
* Fix a small mistake in Custom_Command_Keybindings.md
* Fix wrong comment
* Migrate to only doing marshalling twice, and compare via deep copy
* Set up benchmark on migration
* Fix release script once again
* Fix release script
* Remove obsolete filtering from setComment
* Filter out [dev] comments earlier
* Add launch config for debugging the schema generation
* Skip post-checkout hook when discarding changes
* Improve the error message when users have gpg signing turned on
* Change side panel width calculation to work for larger numbers
* Improve release workflow
* Filter out [dev] comments when generating config doc
* Use refs in jsonschema userconfig generator
* Make commit prefixes migration only return true if it enters if statement
* Change TestCommitPrefixMigrations to compare only strings
* Change test to use named struct fields instead of positional fields
* Use indentation of 2 when rewriting auto-migrated config file
* docs: Add reference to confirmation key to intro message
* Disable global keybinds while popups are active
* Fix auto-release schedule
* Fix race condition with reselecting the focused branch and rendering
* Update README.md
* Replace --include-untracked with -u in stash show command for compatibility and update failing tests
* Add --include-untracked flag to stash show command
* Validate keys of custom commands
* Validate that Universal.JumpToBlock array has 5 elements
* Validate keybindings
* Add a few missing keybindings to docs/keybindings/Custom_Keybindings.md
* Move labelByKey to config package
* Add a gui.tabWidth config
* Add a tabWidth parameter to WrapViewLinesToWidth to match gocui
* Bump gocui
* Add a "Copy to clipboard" menu to the Commit Files panel
* Cleanup: simplify and tighten test expectations related to clipboard
* Fix description of showFileTree
* feat: Support multiple commit prefixes
* Add option to copy commit message body
* Use personal access token to push tag
* Fix issue where latest tag wasn't obtained early enough in auto-release script
* README.md: Update Sponsors
* Suppress error logs when killing process on Windows
* Don't try killing processes if we already know the command finished
* Update translations from Crowdin
* Change update_language_files.sh script to rename pt-PT to pt
* Add some more information to pkg/i18n/translations/README.md
* Fix json schema for context of CustomCommand
* fix: properly detect icon for BAZEL and WORKSPACE files
* Handle pasting multi-line commit messages
* Bump gocui
* Swap position of checkout-commit and checkout-branch menu items
* go-deadlock version bump to fix crash with go 1.23
* Bump gocui
* Fix possible crash when deleting a branch while filtering is active
* Improve and adapt commit persistence test-cases
* Implement reboot-resistant commit message persistence
* Show filter state in top right corner of Files panel frame
* Show current files filter as radio buttons
* Allow user to switch filter when showing only conflicts
* Allow user to filter the files view to only show untracked files
* Fix incorrect stash diff after rename
* Disable staging and unstaging lines or hunks when the diff context size is 0
* Fix tag truncated when copying to clipboard
* Improve error reporting on config migration
* Show confirmation menu when trying to amend changes while there are conflicts
* Fix flicker when showing the status of a background fetch
* Extract the inner part of WithWaitingStatus as a synchronous variant of it
* Add option to delete local and remote tag
* Rename NoTags to CommitHasNoTags
* Integration tests for copy tags to clipboard
* Add copy commit tags to clipboard toast message
* Document copy tag keybinding
* Copy Tags to clipboard
* Show background fetch status in bottom line
* Remove call to Render()
* Expose {{.SelectedCommitRange}} to custom commands
* Fix checking out a different branch while pushing a branch for the first time
* Only avoid the blank line at end of view if view is not editable
* Bump gocui
* Add '--' to 'git rev-list' to disambiguate branch name from path
-------------------------------------------------------------------
Sun Feb 09 10:57:01 UTC 2025 - andrea.manzini@suse.com
- Update to version 0.45.2:
* Bump dependencies
* Improve undo action to restore files upon undoing a commit
* Collapse/expand all files in tree
* Add ability to configure branch color patterns
* Remove the automatic coloring of certain branch names
* Automatically cut release each month
* Standardise on 'screen mode' name
* Use interactive shell for running shell commands only if shell is bash or zsh
* Fix `micro` editor preset
* Add number of commits to cherry-pick confirmation prompt
* Adjust line number for working copy when editing a line
* Combine GetPathDiff and GetAllDiff into one command (GetDiff)
* Cleanup: use the upstream local variable consistently
* Fix resetting or rebasing a branch to its upstream when the upstream branch name is different
* Extend reset/rebase test to use upstream branch name that is different from local one
* Show the <a-enter> keybinding at bottom of commit description view
* Disable KeybindingsMenu using a DisabledReason when a panel is open
* Don't show error toast for disabled keybindings if DisabledReason text is empty
* Tweak file icons
* docs: qlarify commit message prefix mechanics
* provide section for openLink
* Add worktree option to fast forwarding operation
* update documentation to describe use of custom commands without keys specified.
* Default to half-screen mode when filtering files or using the git-arg CLI arg
* Add screen-mode command line argument
* Update instructions for using OSC52 with tmux
* Set repology table to 3 columns
* Use HEX colors on file icons instead of C256 colors
* Update chinese translation for pull requests
* Allow on prem Azure DevOps Server pull request
* Allow to switch branches in Commit View
* Stylize and correct the NixOS section in README.md
* Add vision and design principles doc
* Fix hang when returning from shell command
* Don't preserve commit message when it's unchanged from initial message
* Extend commitPrefix test to cancel without changing the commmit message
* Add user config to enable line wrapping in the staging view
* Rewrap patch when view width changes
* Handle wrapped lines in patch explorer state
* Return arrays with line indices from WrapViewLinesToWidth
* Convert tabs to spaces in WrapViewLinesToWidth
* Refactor: move wrapMessageToWidth to utils/lines.go
* Fix: set state to nil when patch building view loses focus
* Fix several bugs in wrapMessageToWidth
* Fix moving a commit across a branch boundary in a stack
* Fix moving a commit across an exec todo
* Allow deleting a merge commit
* Simplify finding rebase todos
* Make equalHash more correct
* Disable dropping merge commits if it's not a single selection
* Disable fixup/squash for merge commits
* Disable moving merge commits
* fix(config): allBranchesLogCmd description typo
* reorder keybinds to main/down, main/up, secondary/down, secondary/up
* remove duplicate secondary MouseWheelUp keybind
* Add user config gui.showNumstatInFilesView
* Fix opening links containing ampersands (&) in WSL
* Fix opening files with explorer in WSL
* add missing default sort order in commits panel
* Respect the diff context size when showing a range diff
* Cleanup: move adding --ignore-all-space arg to DiffCmdObj
* Improve editing a commit
* Extract helper methods
* Filter out merge commits when generating todo changes in InteractiveRebase
* Cleanup: remove a no-op Focus() call
* Allow deleting a range selection of branches
* Extract test helper function checkRemoteBranches
* Pass a remote branch to ConfirmDeleteRemote
* Extract variables
* Fix mouse wheel scrolling of custom patch view
* Remove unused texts
* Remove unused field gui.IsNewRepo
* Simplify startBackgroundFetch
* Let schema/config.json end with a line feed
* pkg/gui: Allow user to select remote and branch when creating a PR
* use unsigned integer in test and fix CI/linter complaint
* add test case for decreasing Diff Context length to zero
* use an unsigned_64 for DiffContextSize and add saturated add/subtract
* ci: update `upload-artifact` and `download-artifact` actions to v4
* Add new filter to only show tracked files in Files panel
* Fixes to lazygit Ubuntu install instructions in README.md
* Add config option to disable tab switching with jump keys
* Fix installation for Ubuntu in README.md
* Cleanup: remove isFocused parameter from GetContentToRender and related methods
* Don't render staging view when it loses focus
* Change NewRenderStringWith{out}ScrollTask to reuse the task key of the existing task
* Fix pressing shift-down after clicking in diff view
* Fix clicking multiple times in an integration test
* Allow pasting commits more than once
* Wrap an overly long line
* Get rid of error return value of PostRefreshUpdate and a few related ones
* Fix many file icons
* Fix ForEachLineInFile to not lose the last line if it doesn't end with a LF
* Add regression test for resolving conflicts in a file without a trailing LF
* Extract helper function for easier testing
* Use AutoRenderHyperLinks in confirmation view
* Use AutoRenderHyperLinks in main views
* Turn on AutoRenderHyperLinks in the Command Log panel
* Add a menu item to delete both local and remote branch at once
* Better local branch delete confirmation
* Fix bug with deleting remote branch whose name doesn't match local branch
* Add question marks to questions
* Remove unused texts
* Remove obsolete TODO comment
* Fix copying commit author to clipboard
* Add performance improvements section to release notes
* Fix crash when viewing the divergence of a branch which is up to date with its upstream
* Use map to quickly find children in BuildTreeFromFiles
* Add options for disabling switching to the Files panel after popping or applying a stash
* Create fixup commit at end of its branch when there's a stack of branches
* Extract helper function for getting the hash of the last commit made
* Add changeToFixup field to MoveFixupCommitDown
* Generate keybindings
* Update language files from Crowdin
* Switch to Files panel after popping a stash
* Add Zed to user_config.go and schema
* Add Zed to docs/Config.md
* Add Zed support to editor_presets.go
* Add integration tests for checkout/new branch with autostash
* Offer autostash option when creating new branch
* Simplify CheckoutRef
* Don't allow opening a menu while the search or filter prompt is open
* Ask to auto-stage unstaged files when continuing a rebase after resolving conflicts
* Add config git.autoStageResolvedConflicts
* Actually look for conflict markers in GetHasInlineMergeConflicts
* Add a simple integration test for non-sticky range diff
* Cleanup: remove now unused ListControllerTrait from SwitchToDiffFilesController
* Use non-sticky range diff when entering commit files panel
* Extract a method CommitFilesContext.ReInit
* Show diff for range selection in commits and sub-commits panel
* Add ShortRefName to Ref interface
* Add --stat -p to diff args in diffing mode
* Add prefix to main view diff when in diffing mode
* Bugfix: properly set title of subcommits panel when refreshing
* Bugfix: don't allow dropping patches from a custom patch that was made in diffing mode
* Bugfix: more comprehensive check whether custom patch must be reset
* Extract helper function currentFromToReverseForPatchBuilding
* Cleanup: remove unnecessary viewFiles indirection
* Cleanup: remove diffFilesContext field of SwitchToDiffFilesController
* Cleanup: remove unused translated text
* [DATALAD RUNCMD] run codespell throughout fixing typos automagically
* [DATALAD RUNCMD] Do interactive fixing of some ambigous typos
* [DATALAD RUNCMD] Do interactive fixing of some ambigous typos
* custom skips for codespell
* Add rudimentary codespell config
* Add github action to codespell master on push and PRs
* Do not git ignore .codespellrc
* Remove error return value from functions that always return nil
* Ignore return values of fmt.Scanln
* Remove "double" formatting
* Use print instead of printf when there are no arguments
* Use format arguments instead of concatenating strings
* Fix cancelled autostash resulting in stuck inline status
* Add missing closing quote
* Set main views to underline hyperlinks only on mouse hover
* Fix rendering regression introduced in #3839
* Fix loading customCommands from per-repo config file
* Add a test that shows how per-repo config file replaces customCommands
* Fix wrong test assertion text
* Allow using `<`/`>` and `,`/`.` in sticky range select mode in patch explorer
* Cleanup: move SetLineSelectMode into AdjustSelectedLineIdx
* Don't return model search results for commits when we don't have columnPositions
* Return nil columnPositions when not rendering anything
* Fix early exit condition
* Call ReApplySearch after layout
* Make searching available in the filtered commits list
* Scroll views up if needed to show all their content
* Use our new hyperlink support in the information view
* Fix Decolorise to also strip hyperlinks
* Remove now unused function handleGenericClick
* Use our new hyperlink support in confirmations
* Use our new hyperlink support in the status panel
* Add function to render a hyperlink
* Add documentation about delta --hyperlinks
* Set an openHyperlink function on gocui
* Make it possible to scroll the commit description with the mouse wheel
* Allow switching between commit message and description by clicking
* Cleanup: use the right context for CommitDescriptionController.Context()
* Don't stage already staged deleted items
* Improve fixup commits script
* Specifying branch name source from refs/heads for fast forwarding
* Add checkbox to PR template to make sure UserConfig entries can be hot-reloaded
* Add dev documentation about using UserConfig
* Add information about per-repo config files to Config.md
* Show a confirmation when changing a config that can't be auto-reloaded
* Reload changed user config files on terminal focus
* Make custom commands reload when switching repos
* Re-determine existing main branches if mainBranches config changed
* Store Common instead of just the list of configured main branches in MainBranches
* Make gui.commitLength hot-reloadable
* Make gui.statusPanelView config hot-reloadable
* Move initialization of global gocui properties to onUserConfigLoaded
* Set custom author and branch colors and nerd font version after loading user config
* Reinitialize gui.ShowExtrasWindow after loading user config
* Initialize translation set after reading user config
* Support per-repo config files
* Make common.UserConfig an atomic.Pointer for safe concurrent access
* Change direct access to Common.UserConfig to a getter
* Save changed user config back to disk in integration tests
* Introduce ConfigFile struct
* Split createAllViews
* Remove return value of Gui.setColorScheme
* Remove pointless reloading of UserConfig
* Make fields of AppConfig private
* Use getters for AppState and UserConfig instead of accessing the fields directly
* Use filepath instead of path for file path operations
* Fix pressing escape after clicking in diff view
* Set SelectedPath to SelectedCommitFilePath in CommitFiles context
* Expose SelectedCommit to custom commands, deprecate Selected{Local,Reflog,Sub}Commit
* Remove bool return value of GetParentContext()
* Rename "Custom Command" to "Shell Command"
* Add new integration tests folder "shell_commands"
* When using the panel jump keys and the target panel is already active, switch tabs
* Use an interactive shell for running custom commands
* Extract helper function quotedCommandString
* Allow rewording for last commit using GPG
* Adding guard to not do reword under git_commands when using gpg
* Fix lack of icon assignation when extension don't match capitalization
* Ignore GetRepoPaths error when launching
* Support multiple contexts within one command, add tests, update doc
* Add a unit test case for global context
* Add a readme file for the JSON files in pkg/i18n/translations
* Extend check for fixups
* Use extended regex rather than perl regex in the git call
* Make checkout action work with forks
* Reapply "Check for fixup commits on CI"
-------------------------------------------------------------------
Thu Aug 01 13:47:05 UTC 2024 - andrea.manzini@suse.com
- Update to version 0.43.1:
* Fix language auto-detection
* Support setting the similarity threshold for detecting renames
* Add icons for some git remotes
* Add icons for some file extensions
* Add icons for some file names
* Ensure branch name matches pattern before replace
* Allow cycling between multiple log commands
* Add Token credential request handling
* docs: Add flox install
* Fix multi selection stage/discard not working for files with substrings
* Allow setting a default name when creating new branches
* Add bicep & bicepparam icons
* Update tracking behaviour for branches created from remote branches
* Add script to update translation files from Crowdin
* Remove unused TranslationSet entries
* Fix loading translation set json files on Windows
* Make opening git difftool more consistent
* Provide two config keys for configuring the author length in commits view
* Turn off the highlight of the suggestions panel when it loses focus
* Fix clicking outside of the commit description panel or suggestions panel
* Add command to paste commit message from clipboard
* Highlight inactive selection in bold
* Don't redraw remote branches view when its width changes
* Show radio buttons in the show log graph and commit sort order menus
* Show radio buttons in the sort order menu for branches
* Support showing checkboxes or radio buttons in menus
* Always show the "Discard unchanged changes" menu item
* Fix custom patch operations on added files
* Run PTY tasks after layout so that they get the correct view size
* Fix possible off-by-one error wrt PTY size
* Add prompt to the remote branch checkout menu
* Add menu prompt
* Extract function wrapMessageToWidth
* Fix truncation of long branch names containing non-ASCII characters
* Use actual ellipsis character instead of ... to truncate strings
* Render the view when scrolling with the wheel
* Only render visible portion of the screen for commits view
* Simplify ListContextTrait.FocusLine
* Log memory usage every 10s
* Use model searching in commits (and sub-commits) view
* Fix searching in the divergence (left/right) view
* Add user config gui.commitAuthorFormat
* Fix reporting of unexpected selections in integration tests
* Suspend lazygit when continuing a rebase with exec todos
* Show "exec" todos in the list of rebase todos
* Disregard master commits when finding base commit for fixup
* feat: support range selection for commit attributes amend
* feat: let the staging secondary panel change view mode
* fix: typo in `IsVisible` assertion string
* Include demos when running integration tests with go test
* Don't wait in integration tests when running in headless mode
* fix: update rebase_onto demo test to match new rebase menu title
* Add some developer documentation about profiling
* Add -profile command line flag
* Add command "Rebase onto base branch" to rebase menu
* Remove target branch from title of rebase menu
* Always show rebase menu, even when rebasing is not possible
* Make "Rebase" show up with "..." in the keybindings menu
* Add command "View divergence from base branch"
* Show divergence from base branch in branches list
* Remove ColoredBranchStatus and branchStatusColor
* Add GetBaseBranch function
* Make GetMergeBase a method of ExistingMainBranches
* Factor out CommitLoader.mainBranches into its own class, and store it in Model
* Remove the cache invalidation logic from getMergeBase
* Add HEAD: when referencing upstream branch
* Add design document for "Find base commit for fixup"
* Make "Find base commit for fixup" work with hunks with only added lines
* Extract a function findCommit
* Return errors from blameDeletedLines instead of just logging them
* Also return hunks with only added lines from parseDiff
* Make parseDiff a non-member function so that we can test it more easily
* Rename deletedLineInfo to hunk
* Add user config `expandedSidePanelWeight`
* Use --force instead of --force-with-lease when remote is not stored locally
* Rename Force to ForceWithLease
* Ask to force push if server rejected the update, if remote not stored locally
* Don't force-push if the remote branch is not stored locally
* Fix boolean config keys not appearing in the generated Config.md
* Remove an outdated comment
* Refresh branches and reflog independently when sorting branches by date
* Fix tooltip of fixup command
* Fix calculation of tooltip height
* Add `lint` to make target
* Add `copyloopvar` to enabled linters
* Add property outputTitle to CustomCommand
* feat: focus on local commits view after moving code into new commit
* Remove hint about Config.md from PR template
* Make Keybindings definition in UserConfig struct last
* Add default lazygit config generator for Config.md from JSON schema
* Set default value for WindowSize config to pass validation
-------------------------------------------------------------------
Sun May 19 13:38:17 UTC 2024 - Jeff Kowalczyk <jkowalczyk@suse.com>
- Update to version 0.42.0:
* Correctly request force-pushing in triangular workflows
* Add ahead/behind information for @{push}
* Rename Pushables/Pullables to AheadForPull/BehindForPull
* Add test demonstrating the problem with force-pushing in a triangular workflow
* Rename PushBranch to PushBranchAndSetUpstream
* Create shims for all model classes in SessionStateLoader
* Remove redundant variable dedeclarations
* Bump go version to 1.22
* Show delete/edit keybindings in suggestions subtitle if available
* Allow editing a custom command from the suggestions list by pressing 'e'
* Support deleting items from the custom commands history
* improve `nvim-remote` mode
* Attempt #2 at preventing codacy coverage step from running on forks
* Only run code coverage report on non-fork branches
* Fix stashing partialy staged files for git version >= 2.35.0
* Use ScanLinesAndTruncateWhenLongerThanBuffer instead of bufio.ScanLines
* Put subject last in git log's prettyFormat
* Implement ScanLinesAndTruncateWhenLongerThanBuffer
* Handle scanner error in RunAndProcessLines
* Add tests for clicking in status side panel
* Fix clicking in status side panel
* Fix deadlock reporting
* Add commitPrefix for defining a prefix for any project
* Enable the commit graph in the divergence view
* chore: fix some comments and typos
* Refactor `pkg/gui/presentation/commits.go` slightly to be consistent
* Add config option for length of commit hash displayed in commits view
* Support external diff command in diffing mode
* Use git.paging.colorArg in diffing mode diff
* Cleanup: use separate Arg calls for unrelated arguments
* chore: use errors.New to replace fmt.Errorf with no parameters.
* Drop update-ref commands at the top of the rebase-todo file
* Add tests demonstrating undesired behavior with update-ref todos for copied branches
* Switch git-todo-parser from fsmiamoto original repo to stefanhaller's fork
* Remove TODO.* from .gitignore
* Fix amend to operation not working with non-HEAD merge commit
* pkg: fix some typos
* Remove ErrorMsg
* Rename Error() to ErrorHandler()
* Return error from RefreshOptions.Then
* Log errors from refresh instead of showing them in a panel
* Make OnWorker callback return an error
* Clean up error handling of WithWaitingStatus and WithWaitingStatusSync
* Remove calls to Error()
* Set ErrorHandler
* Bump gocui
* Remove PopupHandler index and mutex
* README.md: Update Sponsors
* exclude sponsors PRs from release notes
* sponsors.yml: Create PR instead of trying to push to a protected branch
* Support both Sha and Hash on commits in custom commands
* Add integration test that accesses commit properties in a custom command
* improve korean translation
* renaming variable to CommitHash
* standardize 'Commit Sha' to 'Commit Hash'
* Dynamic copyright year
* UserConfig validation
* Add StatusPanelView config
* Fix stderr redirection
* TERM: remove TERM variable hard-coded value set
* Replace min/max helpers with built-in min/max
* pkg: fix some comment
* Add `SpinnerConfig`
* fixup! Introduce a yaml_utils.Walk function
* Remove our yaml fork
* Migrate null keybindings to "<disabled>"
* Introduce a yaml_utils.Walk function
* Underline links in confirmation panels
* Make links clickable in confirmation panels
* Make HandleGenericClick a little smarter
* Extract a function HandleGenericClick
* Cleanup: don't mess with globals in tests without resetting them
* Fix schema link in Config.md
* Fix rewording signed commits when the log.showsignature git config is true
* Fix the "Add to .git/info/exclude" command in submodules or worktrees
* Add a test that demonstrates the problem
* Cleanup: simplify return statements
* Cleanup: remove pointless condition and error message
* Keep the same commit selected when exiting filtering mode
* Fix crash when filtering the keybindings menu
* Update Busy.md
* Fix deleting update-ref todos
* Cleanup: update outdated comment
* Extend delete_update_ref_todo test to actually test what it was supposed to
* Cleanup: fix typo in test comment
* Set the `TERM` env variable
* Update README.md
* Fix inline status removal when recording demos
* Update interactive rebase demo
-------------------------------------------------------------------
Sat Mar 23 13:22:23 UTC 2024 - Jeff Kowalczyk <jkowalczyk@suse.com>
- Update to version 0.41.0:
* Fix container detection
* Change CopiedToClipboard text to start lower-case
* Change toast for copying sha to clipboard to include what was copied
* Change log message for copying sha to the clipboard to include "full"
* Add config to truncate commit hashes when copying them to the clipboard
* Make it easy to create "amend!" commits
* Remove CreateFixupCommitDescription as it's identical to CreateFixupCommit
* Support editing multiple files at once using range selection
* When creating a new remote, select it and fetch it
* Make links in status view clickable, and underline them
* Make the links in the status panel point to the current version rather than master
* Always prompt to return from subprocess if there was an error
* Add NixOs installation instructions README.md
* Improve translations for zh_TW
* Fix disabling the switch-to-editor menu item if unavailable
* Always show the "Press <c-o> to open menu" help text in the commit panel
* Add missing translations for polish
* Get rid of the retain-sort-order-when-filtering logic again
* Rename FuzzySearchFunc to FilterFunc
* Rename FuzzySearch to FilterStrings
* Default to substring filtering, add option to go back to fuzzy filtering
* Don't sort the results of fuzzy.Find
* Refresh after creating local branch, before checking it out
* Show inline waiting status when checking out a local branch
* Show the same menu when pressing space on a remote branch
* When checking out a remote branch by name, ask the user how
* Don't ask to force-push if the remote rejected updates
* Set mode to none when calling SetSelectionRangeAndMode with empty non-sticky range
* Allow deleting update-ref todos
* Extract a findTodo helper function
* Allow moving update-ref todos up/down
* Store full ref in Name field of update-ref commits
* Refactor: pass Todo to moveTodoUp/Down instead of Sha and Action
* Handle mouse-wheel scrolling in confirmation panel
* Show popup message with breaking changes on startup
* Add integration test
* Add commit menu entry "Add co-author"
* Add a commit menu to the commit message panel
* Extract functions AddCoAuthorToMessage and AddCoAuthorToDescription
* Make test assertion more specific
* Make keybindings for the "Amend attribute" menu configurable
* Internationalize the tooltips of the "Amend commit attributes" menu
* Add forgotten keybindings to Config.md
* Update sponsors in readme
* Add integration test
* Remove hard line breaks when rewording commits
* Replace DOS linefeeds with Unix line feeds when loading a commit message
* Save and restore the unwrapped description
* Add config for soft-wrapping the commit message body
* Bump gocui
* Keep the same line selected after squashing fixup commits
* Extract common code to a helper method
* Move selection down by one after creating a fixup commit
* Extend squash_fixups_in_current_branch test to check the selection
* Add test for creating a fixup commit and squashing fixups
* Support setting a range of commits to "edit" outside of a rebase
* Show all submodules recursively
* Pass entire submodule to UpdateUrl instead of name and path separately
* Fix deleting submodule where name and path are different
* Add test to check that the git dir for a deleted submodule was removed
* Extend submodule tests to use a submodule where name and path are different
* Don't strike out reserved keys in menus
* Remove support for old-style non-interactive rebases
* Break git.merging.args config into separate arguments on whitespace
* Add a test that demonstrates a bug with multiple args in git.merging.args config
* Don't show branch head on rebase todos if the rebase.updateRefs config is on
* Rename showBranchMarkerForHeadCommit parameter to hasRebaseUpdateRefsConfig
* Add test demonstrating the current (undesired) behavior
* Provide two helix presets, one for "helix" and one for "hx"
* Make ctrl-f available in staging view
* Fix linter warnings
* Add author filtering to commit view
* Add tooltips for reset menu items
* Change "git reset" default to --mixed
* Update Config.md
* Change log path to state dir
* Use $XDG_STATE_DIR for state.yml
* Switch to github.com/adrg/xdg
* Add integration test
* Set diff.noprefix=false for all other diff commands too
* Fix problems with patches if `git diff` was customized with config.
* Don't omit section headers when filtering the keybindings menu
* Optionally keep sort order stable when filtering lists
* Bump required go version to 1.21
* Fix number of lines to read from a task initially for the right scroll bar size
* Fix order problems when saving custom commands history
* Simplify saving app state
* Redraw commits view when showGraph setting changes
* Deprecate git.log.showGraph and git.log.order config
* Avoid crash when hitting enter on an update-ref todo
* Fix a problem with refreshing while an update-ref todo is selected
* Fix range select bug
* Clean up test case
* Support range select removing files from a commit
* Change default of git.log.showGraph to 'always'
* Disallow cherry-picking merge commits
* Disallow cherry-picking update-ref todos
* Cleanup: remove unused method
* Fix cherrypick demo
* Clear cherry-picked commits after pasting
* Use slimmer scrollbars
* Add command to squash all fixups in the current branch
* Fix main view refresh after adding the first file to a custom patch
* Support selecting file range in patch builder
* Warn users when attempting to cherry pick with old key
* Reduce the chance of race condition with list cursor
* Display more keybindings on-screen
* Show mode-specific keybinding suggestions
* Ensure file view length is never returned as -1
* Improve keybinding descriptions
* Render keybinding cheatsheet as markdown table
* Keep same selection range when quick-starting an interactive rebase
* Add tests for preserving the selection when pressing 'i'
* Rename MinMax to SortRange
* Add shortcuts for filtering files by status
* Remove unused text FetchingRemoteStatus
* Use inline status for fetching remotes
* Pass absolute file paths to all editor commands
* Fix error message for selected lines
* Support range select for staging/discarding files
* Move file discard action into files controller
* Refactor repo_paths.go to use git rev-parse
* Make range selections created with the mouse non-sticky
* Disallow updating non-standard TODO lines when rebasing
* Support range select in rebase actions
* Better assertion logic for line selection
* Set groundwork for better disabled reasons with range select
* Add config setting to suppress showing file icons
* Show unstaged file names in default colour
* Keep same branch selected when refreshing branches
* Add test showing how branch should stay selected after fetching (but doesn't yet)
* Show unacknowledged toast message upon integration test failure
* Disable range-select in menu and suggestions view
* Enforce single-item selection in various actions
* Support select range for cherry pick
* Add SetSelection function for list contexts and use it in most places
* Remove 'v' menu keys
* Clear range select upon pressing 'escape'
* Standardise display of range selection across views
* Support non-sticky range selection in patch explorer views
* Add range selection ability on list contexts
* Stop hiding debug vscode launch tasks
* Fix exit code of run_integration_tests.sh when capturing code coverage data
* Don't try to shorten branch names that are already 3 characters or less
* Do not include keybindings from another view in keybindings menu
* Double the duration of error toasts
* Allow showing Disabled errors as error panel instead of toast
* Make DisabledReason a struct
* Use ErrorToast instead of error panel when invoking a disabled command
* Add ErrorToast function
* Make it mandatory to acknowledge toasts in tests
* Make it possible to handle toasts in integration tests
* Do not perform IO work when getting disabled reason with local commits
* Update README to add backticks to key
* Update codebase guide
* Add ability to start an interactive rebase onto an appropriate base
* Pass -f as single arg in integration test
* Set working directory in lazygit test command
* Update codebase guide
* Add codebase guide
* Obtain remote URL by calling "ls-remote --get-url" instead of using git config
* Allow multiple fetch commands (or fetch and pull) to run concurrently
* Extract a function fetchCommandBuilder
* Add a method GitVersion.IsAtLeast
* Warn when there are hunks with only added lines
* Add command to find base commit for creating a fixup
* Add config setting for side panel location (left or top) in half screen mode
* Preserve the commit message correctly even if the description has blank lines
* Add test demonstrating a bug with preserving the commit message
* Simplify GetCommitMessage
* Update cheat sheets and json schema
* Add command to open git difftool
* Fix checking out a tag when a branch with the same name exists
* Add test demonstrating the problem
* Replace copy SHA with copy subject on commit 'y s'
* Show a friendly error message when starting lazygit from a non-existent cwd
* Add integration test for local branch sort order
* Add a sort order menu for local branches
* chore: use null char as a stash entries divider during loading
* feat: add age on stash lines
* Add integration test for remote branch sort order
* Implement a sort order menu for remote branches
* fix(config): add yaml struct tag to `CustomCommandPrompt.[]Options`
* Fall back to WithWaitingStatus if item is scrolled out of view
* Fall back to WithWaitingStatus if view showing the item is not visible
* Return only visible views from TopViewInWindow
* Add WithWaitingStatusSync for reverting commits
* Use WithWaitingStatusSync for move commit up/down
* Add WithWaitingStatusSync
* Add tests for window arrangement code
* Refactor window arrangement helper to use pure function
* Layout the bottom line view using spacer views
* fix: MacOS default path misspelling
* chore: update jsonschema
* chore: update cheatsheets
* feat: introduce a copy menu into the file view
* Add UserConfig jsonschema generation script
* Add invopop/jsonschema fork
* Add coverage arg for integration tests
* Use args struct for RunTests
* Use a PTY when calling external diff command
* Add "go mod tidy" check to CI
* Fix go.mod file (go-difflib dependency should be indirect)
* Update README.md to contain new information to install it on gentoo
* Fix unsetting upstream when it doesn't exist
* Introduce failing "UnsetUpstream" test
* Rename integration test "ResetUpstream"
* fixed typo in test description
* Add Warp link to readme
* Add Codacy badge
* Update Stacked_Branches.md
* Advise against raising pull requests from master branch
* create iconProperties struct and convert iconMaps to use iconProperties
* Advise developers to use a nerd font in their editor
* Truncate long branch names to make branch status visible
* Make the window a little wider for headless integration tests
* Make it possible to set the nerd fonts version to "off"
* Pass "now" into utils.Loader
* Remove special code to rerender views on screen mode change
* Rerender certain views when their width changes
* Add 'lvim' editor preset for lunarvim
* When refreshing models, re-apply active filter for the corresponding view
* Fix crash when trying to filter the list of remotes
* Update wording in disable keybindings test
* Add disabled compat for user config (#2833)
* Avoid rendering branches view twice when refreshing
* Remove sync mutex
* Disallow pulling/pushing a branch while the branch is pushed or pulled
* Disallow checking out another branch while the current one is being pulled
* Add inline status for pushing tags and deleting remote tags
* Add inline status for pushing/pulling/fast-forwarding branches
* Add WithInlineStatus helper function
* Add GetItemOperation/SetItemOperation/ClearItemOperation to IStateAccessor
* Don't report errors from within a WithWaitingStatus
* Remove redundant `len` check
* adjust the text to received review comments
* Add Micro editor preset
* Band-aid fix for submodule/reset.go test failure
* commmit - enhance docs for keybinding 'c' for local branch
* Add ability to force portrait mode
* add gofumpt to workspace settings
* Update PR template to use go generate command
* Ignore deprecation checks in linter
* Add comments in user config struct
* Change Makefile to build non-optimized
* Make test_list_generator.go print what it's doing
* Use go:generate for generating cheatsheets
* Generalize the CI check for the test list to all auto-generated files
* Disable deadlock reporting when debugging an integration test
* Disable the 40-second timeout for integration tests when debugging
* Use constant for WAIT_FOR_DEBUGGER env var
* Build lazygit without optimizations and inlining when debugging
* respect and env vars
* Pass MAKECMDGOALS to make integration-test-tui
* Print race detector logs after running a test with -race
* Support -race arg when running integration tests to turn on go's race detector
* Allow passing multiple flags to the cli runner
* Fix minor resource leak in runCmdHeadless
* Don't select current search result when showing search status
* feat: add a menu to rebase current branch to a target branch upstream
* chore: rename branch upstream view options method
* Shorten the waiting status for fast-forwarding a branch
* Remove unused WithLoaderPanel code
* Use WithWaitingStatus instead of WithLoaderPanel for pull/push/fetch
* Add constant for LoaderAnimationInterval
* Remove unused class FakePopupHandler
* Add integration test for deleting a remote branch with credentials prompt
* When pausing a task during a waiting status, hide the status while paused
* Extract WaitingStatusHandle
* Extract StatusManager.addStatus method
* Add search history
* Allow cherry-picking commits during a rebase
* Add StatusCommands.IsInNormalRebase and IsInInteractiveRebase
* Disabled paste when there are no copied commits
* Use DisabledReason for commits panel commands
* Use DisabledReason for rebasing a branch onto itself
* Add Enabled func to Binding
* Use DisabledReason for upstream options items
* Use DisabledReason when deleting branches is not possible
* Add DisabledReason field to MenuItem
* Use UpstreamBranch for opening pull requests
* Rename test/results to test/_results
* fix: use `Error` method to handle the commit url copy from unknown service
* Provide a simple way to debug an integration test
* Add debug configuration to attach to a running lazygit process
* Change "make run" to do a build and then launch lazygit
* Hide system goroutines in callstack
* Format launch.json with Prettier
* Add coauthor (#2)
* Change the default of the "gui.borders" config to "rounded"
* feat: add jump-to-panel label setting
* feat: add a menu to reset current branch to a target branch upstream
* chore: rename "Set/Unset upstream" menu to "Upstream Options"
* Replace whitespace with '-' when renaming a branch
* Move diff context size from UserConfig to AppState
* Load defaults for AppState before reading from yaml
* Extract a SaveAppStateAndLogError function
* Don't pass ignoreWhitespace to git commands
* Add AppState to common.Common
* Fix keybinding for editing config file
* Add support for external diff commands (e.g. difftastic)
* Add explicit --no-ext-diff arg to CommitCommands.ShowCmdObj
* Improve prompts when amending commits
* Fix escape not cancelling filter mode, but closing the menu instead
* Don't show toasts when running integration tests
* Ensure committable files for "amend to" and "create fixup commit"
* Extract a WithEnsureCommitableFiles function
* Add integration test for the new divergence log
* Add DoesNotContainAnyOf matcher
* Add "Show divergence from upstream" entry to Upstream menu in branches panel
* Extract a SubCommitsHelper from SwitchToSubCommitsController
* Remove sub_commits_context's Title method
* Add option RefToShowDivergenceFrom to GetCommitsOptions
* Don't return commits from setCommitMergedStatuses
* Remove the magenta color on menu items that open a menu
* Add sections (local, global) to the keybindings menu
* Add option to add sections to menus
* Add a mechanism to insert non-model items into list contexts
* Make columnPositions include entries for removed columns
* Make RenderDisplayStrings return the column positions
* Take removed columns into account when applying column alignments
* Add failing test demonstrating bug with column alignments and removed columns
* Change RenderDisplayStrings to return a slice of strings
* Cleanup: use slices.Delete to delete elements from a slice
* Add tests for renderLines
* Extract a ListRenderer struct
* Call getDisplayStrings with a valid range of model indices
* Extract a renderLines function
* Change length parameter of getDisplayStrings to endIdx
* Add instruction in PR template to start PRs with an imperative
* Add Winget to installation guide
* Add Winget to installation guide
* Support custom keybindings for confirm discard
* Select same commit again after pressing "e" to edit a commit
* Call Then function only after everything is done
* Panic when trying to use RefreshOptions.Then with mode ASYNC
* Add assertion to show the problem
* Allow port in webDomain for services config values
* upgrade golangci/golangci-lint-action to v3.7.0
* upgrade actions/setup-go to v4 and remove actions/cache for go cache
* upgrade goreleaser/goreleaser-action to v4
* upgrade JamesIves/github-sponsors-readme-action to v1.2.2
* Add integration test
* Mention ctrl+o binding in commit message sub title
* Add key binding for switching from the commit message panel to an editor
* Remove obsolete comment
* Add scrollOffEnabled config
* Pass UserConfig to checkScrollUp/Down instead of just the scrollOffMargin
* Add tests for scroll-off margin of zero
* Fix section levels
* Add git flow description in readme
* Fix the commit graph display after selection jumps in commits view
* Add unit test
* Fix arg order to asserts
* Clean before convertion?
* Stylistic changes
* Clean path
* Improve error message
* Fix yellow/red coloring while rebasing
* Fix the blue sha color of todo commits while rebasing
* Add Makefile
* Add emacs-keybinds for word navigation
* Add ScrollOffMargin user config
* Stop cycling hunks when reaching the end
* If selected line is outside, move it to the middle of the view
* Fix typo in comment
* Add features to table of contents
* Add demo for diffing two commits
* Factor out common config setup functions in demo package
* Show commit mark before showing extra info
* Add commit graph demo
* Add rebase from marked base commit test
* Add undo demo
* Allow deleting remote tags/branches from local tag/branch views (#2738)
* Fix bug in LineNumberOfLine
* Add test case for LineNumberOfLine()
* If OpenLink errors, show a dialog instead
* use 'suspend' instead of 'editInTerminal' internally
* Use soft wrapping in config doc
* Add nvim-remote editor preset
* Honour editInTerminal value when opening a worktree folder
* Reset origin when clearing view
* Add a Click() primitive to the integration test library
* Add zh-TW to docs/Config.md
* feat(doc): better JSON schema usage explanation
* feat(doc): mention JSON schema
* added termux installation
* added svelte and mdx
* Corrected 'zh' to 'zh-CN' in lazygit docs for proper localization
* Add instructions for openSUSE
-------------------------------------------------------------------
Sat Mar 23 13:05:41 UTC 2024 - Jeff Kowalczyk <jkowalczyk@suse.com>
- Packaging improvments:
* Update to BuildRequires: golang(API) >= 1.21 matching go.mod
* Drop autosetup -n arg only needed when archive and package
name differ
* Build PIE with pattern that may become recommended procedure:
%%ifnarch ppc64 GOFLAGS="-buildmode=pie" %%endif go build
A go toolchain buildmode default config would be preferable
but none exist at this time.
-------------------------------------------------------------------
Mon Aug 07 18:51:31 UTC 2023 - jkowalczyk@suse.com
- Update to version 0.40.2:
* Fix seg-fault when opening submodule in nested folder
-------------------------------------------------------------------
Mon Aug 07 18:51:07 UTC 2023 - jkowalczyk@suse.com
- Update to version 0.40.1:
* Support bare worktrees where worktree does not have its own .git file
* Test bare repos with dotfile setup
* Use nerdfont version 3
* Don't run the check-required-label check on master
* 👽️ update worktree icons for NerdFont V3
* Bump gocui
-------------------------------------------------------------------
Sat Aug 05 14:42:22 UTC 2023 - jkowalczyk@suse.com
- Update to version 0.40.0:
* Fix confirmation view sizing
* Add custom patch demo
* Add worktree demo
* Add custom command demo
* Add undo/redo demo
* Add demo for staging lines
* Add demo for amending old commit
* Add demo for filtering branches
* Support mp4 videos for demos
* Remove file watcher code
* Refresh when the terminal window gets the focus
* Bump gocui
* Point tcell at stefanhaller's fork
* Appease linter
* Increase timeout for linter
* Fix focus issue
* Wait in demo after setting caption
* Add explosion animation when nuking working tree
* Output correct path in demo record script
* Start in fullscreen when passing a git arg
* Adds EditRebaseFromBaseCommit log message to i18n
* Wraps rebase func with WithWaitingStatus to show loader when rebasing
* Moves log related translations into its own Tr.Log. namespace
* Moves hard coded strings for LogCommand to i18n.
* Create demo output dir if it doesn't already exist
* Add demo test variant
* Log error when saving app state fails after showing/hiding command log
* Move IgnoreWhitespaceInDiffView to AppState, and persist it when it changes
* Show correct keybindings in force-push prompt
* Allow force-tagging if tag exists
* Add a "Mark commit as base commit for rebase" command
* Cleanup: remove extra OutsideFilterMode guard
* Add documentation for working with stacked branches
* Don't show branch marker for head commit unless updateRefs config is on
* Don't show branch heads in reflog subcommits
* Visualize local branch heads in commits panel
* Store full sha in branch model
* Add CheckedOutBranch to Model struct
* Make bisect/basic.go test more concrete
* Add author short names to commits in test
* Improve updateRef test
* Remove the old experimentalShowBranchHeads mechanism and config
* Fix merge status of commits when update-ref command is present
* Add tests for setCommitMergedStatuses
* Make setCommitMergedStatuses a non-member function
* Remove secureexec package
* Standardise on using lo for slice functions
* Use double dash for disambuating path in editor templates
* Fix flakey worktree tests
* Write unit tests with the help of afero
* Fix bug where worktree view would take over window upon switching branches
* Use forward-slashes on windows
* Add more i18n for worktrees
* Use fields rather than methods on worktrees
* Centralise logic for obtaining repo paths
* Remove IO logic from presentation code for worktrees
* Add test for opening lazygit in the worktree of a bare repo
* Fix test by making branches appear deterministically
* Allow entering a submodule by pressing space
* Allow entering a worktree by pressing enter
* Update repo switch logic
* Add test for retained context focus when switching worktrees
* Support fastforwarding worktree
* Add more worktree tests
* Add worktree tests for removing/detaching
* Add worktree integration tests
* Remove worktree version guards
* Show loader when switching worktrees
* Support older versions of git when fetching worktrees
* Safer fetching of linked worktree paths
* Move worktrees tab to files window
* Change directory to worktree if given as an argument
* Support opening worktree in editor
* Properly render worktrees in files panel
* Better logic for knowing which repo we're in
* Only show worktree in status panel if not the main worktree and worktrees are supported
* Hide worktree functionality on old git versions
* Associate branches with worktrees even when mid-rebase
* Assume that the base of a worktree can be checked out
* i18n for worktrees
* Don't quit on error
* Allow opening worktree in editor
* Show base ref suggestions when creating worktree
* Refresh work trees when discarding file changes
* Checkout worktree when creating from worktree view
* Use 'M' for months in branches panel
* Fix filtering logic in worktrees view
* Support creating worktrees from refs
* Log when directory is changed
* Handle deleting branch attached to worktree
* Don't touch repo stack when switching worktrees
* Move status panel presentation logic into presentation package
* Land in the same panel when switching to a worktree
* Move current worktree to top of list
* Prompt to switch to worktree when branch is checked out by other worktree
* Update worktree model
* Alert when attempting to enter the current worktree
* Basic support for adding a worktree
* Put all worktree i18n strings together Use tabwriter to align worktree panel contents
* Improve worktree panel
* Style missing worktree as red and display better error
* Hide worktrees in the worktree panel if they point at a non-existing filesystem location
* Update status to differentiate the main vs linked worktrees
* Support for deleting a worktree
* Initial addition of support for worktrees
* When bisecting, always mark the current commit as good/bad, not the selected
* Add bisect menu entry that lets you choose bisect terms
* feat: add os.copyToClipboardCmd to allow for a custom command
* Fix the x/exp dependency
* Support random order of command execution in unit tests
* Have staging refresh wait for files to refresh first
* Speed up refresh using concurrency and wait groups
* Refactor reflog commit loader
* Speed up remote loader
* Use wait groups to speed up commit loading
* Log duration of post-refresh-update call
* Log duration of commands
* Log duration of refresh
* Show error when trying to open patch menu with an empty patch
* bring back yaml library fork
-------------------------------------------------------------------
Mon Jul 24 13:30:02 UTC 2023 - jkowalczyk@suse.com
- Update to version 0.39.4:
* Updated README.md
* Revert "Fix flakey pull_merge_conflict test"
* README.md: Add Gentoo installation documentation
* Could not type special characters on non-english keyboards
* Prompt for commit message when moving a custom patch to a new commit
-------------------------------------------------------------------
Mon Jul 24 13:29:46 UTC 2023 - jkowalczyk@suse.com
- Update to version 0.39.3:
* Fix crash caused by simultaneous read/write of scanner buffer
* Better word wrap
* Update README.md
* Better tag creation UX
* Use fuzzy search when filtering a view
* Keep track of authors across local commits and branch commits for suggestions
-------------------------------------------------------------------
Mon Jul 24 13:27:53 UTC 2023 - Jeff Kowalczyk <jkowalczyk@suse.com>
- Add basic %check to run packaged executable binary --help
-------------------------------------------------------------------
Sat Jul 22 00:42:30 UTC 2023 - jkowalczyk@suse.com
- Update to version 0.39.2:
* Fix rendering to main view on windows
-------------------------------------------------------------------
Fri Jul 21 12:14:13 UTC 2023 - jkowalczyk@suse.com
- Update to version 0.39.1:
* Fix goreleaser
-------------------------------------------------------------------
Fri Jul 21 12:13:50 UTC 2023 - jkowalczyk@suse.com
- Update to version 0.39.0:
* Only apply right-alignment on first column of keybindings menu
* Add test for crashing on empty menu
* Fix crash on empty menu
* Add missing label to label checker
* Update release notes config and add CI check
-------------------------------------------------------------------
Fri Jul 21 12:09:21 UTC 2023 - jkowalczyk@suse.com
- Packaging improvements:
* Use _service mode manual as better alias name than disabled
* Remove _service set_version arg basename not needed
* Fix package name in top comment was copy-paste typo
* Remove %define goflags not unused
* Remove %define sname not needed as %name is fine in this case
* Change group to Development/Tools/Version Control
* Remove export GOFLAGS not needed as this is a normal go build
* Simplify package description with more helpful language
-------------------------------------------------------------------
Sat Jun 10 09:50:24 UTC 2023 - Pavel Dostál <pdostal@suse.com>
- Update to lazygit-v0.38.2:
* update open docs by @jesseduffield in #2588
* Only use --empty=keep option with git versions that support it by @stefanhaller in #2585