File lazygit.changes of Package lazygit
-------------------------------------------------------------------
Sun Sep 07 00:19:47 UTC 2025 - Scott Bradnick <scott.bradnick@suse.com>
- Update to version 0.55.0+git20250906.0d5a4101:
* Update README.md
* Update README.md
* Update README.md
* README.md: Update Sponsors
* Update README.md
* Update translations from crowdin
* Remove keybindings for menu items that are the same as the menu confirm key
* Add separate keybindings for confirmMenu and confirmSuggestion
* Hard-code "enter" for adding lines in integration tests
* Fix <enter> keybinding for switching to a worktree
* Hard-code "enter" for search prompt
* Hard-code "enter" for editable prompts
* Update cheatsheets for the previous commit
* Refactor: add a separate Prompt view
* Bump git-todo-parser
* docs(VISION): fix "Dicoverability" typo
* Log hashes when dropping/popping stashes
* Fix command log for stash commands
* Add hash field to models.StashEntry
* Cleanup: bring stash loader test up to date
* Fix dropping a range of stashes in filtered mode
* Add test demonstrating problem with dropping stashes in filtering mode
* Cleanup: remove unnecessary ToggleRangeSelect
* Don't auto-forward branches that are checked out by another worktree
* Add test for auto-forwarding branches that are checked out by another worktree
* Add a user config for using git's external diff command for paging
* Add breaking changes notice about git.paging.useConfig option
* Remove the git.paging.useConfig option
* Use external diff command in stashes panel
* Run label check workflow only on label events and open pr event
* Enhance PR/Issue templates readability
* Run `go generate ./...`
* Add "CopyToClipboard" command to `ConfirmationController`
* Cleanup: remove unnecessary code in test
* Update donation wording so that it's clear there's no strings attached
* Add a breaking changes notice for the changed keybinding
* Update cheatsheets, config docs, and schema
* Implement suspending the app using ctrl-z
* Extract methods suspend/resume on Gui struct
* Rebind redo from <c-z> to Z
* Cleanup: remove stale comment
* Clean up build tags
* Don't append "Disabled: " to menu tooltip if disabled reason is empty
* Show "Close/Cancel: <esc>" for menus like we do for confirmations
* Show context-specific labels for <esc> in staging and patch building view
* Show escape binding for staging and patch building in the status bar
* Move global escape handler to before the keybindings menu handler
* Show context-specific labels for the global <esc> binding
* Rename ModeStatus.Description to InfoLabel
* Avoid showing <esc> in options map when it doesn't do anything
* Cleanup: remove dead code
* Avoid duplicate key bindings in options map
* Show "Exit back to side panel" in options status bar for focused main view
* fix(hosting_service): support Azure DevOps vs-ssh.visualstudio.com SSH remotes
* test: TDD - support Azure DevOps vs-ssh.visualstudio.com SSH remotes
* Allow filterable contexts to customize the filter label
* Allow filtering for keybindings by prepending filter string with '@'
* Allow filtered lists to preprocess the filter string
* Strengthen text expectation
* Fix right-alignment of divergence from base branch for branch checked out in a worktree
* docs: Add installation with gah
* Pass only Git-tracked Go files to gofumpt
-------------------------------------------------------------------
Mon Aug 11 16:58:27 UTC 2025 - Scott Bradnick <scott.bradnick@suse.com>
- Update to version 0.54.2+git20250811.b1382da9:
* Improve CPU usage when flicking through large diffs
* Fix delay with flicking through files or commits when git diff is very slow
* Cleanup: move UpdateWindowTitle to platform-specific source files
* Change color of github tag and homebrew badges to blue
* Update github tag badge
* Update homebrew link
* Update the badge of golangci-lint in `README.md`
* Update `CONTRIBUTING.md` to clarify translation contribution process
* Trim trailing newlines when showing confirmations
* Cleanup: remove duplicate test case
* Fix the useHunkModeInStagingView hint in the breaking changes message
* Stop bumping our homebrew formula
-------------------------------------------------------------------
Wed Aug 06 14:19:26 UTC 2025 - Scott Bradnick <scott.bradnick@suse.com>
- Update to version 0.54.1+git20250806.c08903e3:
* Stop updating Jesse's homebrew tap
* Create a user-specific temp dir to avoid permission problems on multi-user machines
* Updated Fedora section in the README.md file.
-------------------------------------------------------------------
Mon Aug 04 15:44:10 UTC 2025 - Scott Bradnick <scott.bradnick@suse.com>
- Update to version 0.54.0+git20250802.5175798c:
* README.md: Update Sponsors
* Update translations from Crowdin
* Add breaking changes notice about hunk mode being the default now
* Cleanup: whitespace
* Show hint about hunk staging mode being the default now, and how to switch to line mode
* Cleanup: rely on zero values for initialization
* Enable hunk staging mode by default
* Change the "toggle hunk selection" binding description to be dynamic
* Add support for dynamic binding descriptions
* Add a GetShortDescription() method to Binding
* Cleanup: better receiver name
* Remove the kill package dependency
* Close the pty instead of killing the process for runAndDetectCredentialRequest
* Don't kill processes in RunAndProcessLines
* Don't kill tasks when we no longer need them
* Close a task's stdout pipe when we are done with it
* Create temp directories inside a "lazygit" folder rather than top-level in /tmp
* Don't exit after handling daemon mode
* Improve .gitignoring debug executables
* Use a better approach for determining pushed and merge statuses
* Change GetCommitsOptions.RefForPushedStatus to a models.Ref
* Move the Ref interface from gui/types to models
* Cleanup: remove the ignoringWarnings hack from GetMergeBase
* Draw divergence from base branch right-aligned in branches view
* refactor: use slices.Equal to simplify code
* Stage only tracked files when staging all in filter-by-tracked-files view
* Add test demonstrating the problem
* Make the minimum required git version a placeholder in the error text
* Revert "Add IsAnnotated field to models.Tag struct"
* Use a different way to check if a tag is annotated
* Add tests for tag information rendering
* Fix index out of bounds panic when repository has massive tag lists
* Move parentHashes and divergence fields before extraInfo in git log format
* Cleanup: use nil for empty slice
* Allow rewording and dropping commits in filtering mode
* Extract helper function for integration test
* Inline the OutsideFilterMode guard into every binding
* Show the key for focusing the main view ("[0]" by default) in the main view title prefix
* Fix display of panel jump keys for disabled bindings
* Allow focusing the main view for the status panel
* Move the "Focus main view" command to the global section of the keybindings menu
* Make LabelFromKey return an empty string for unset keys
* Include commands without keybinding in options menu
* Don't use hunk mode for added or deleted files
* Add a test case for a deleted file to TestParseAndFormatPlain
* Fix showing range diff across a rename when filtering by path
* Add test for range diff across rename
* Fix showing diffs for renamed file when filtering by path
* Refactor commit loading and reflog commit loading to extract shared code
* Always append -- to git show command
* Remove unnecessary setSubCommits indirection
* Fix showing only filtered reflog entries when filtering by path
* Use the non-filtered reflog for undoing
* Don't get reflog commits twice unnecessarily in filtering mode
* Cleanup: simplify git arguments for reflog loading
* Add test that demonstrates problem with showing filtered history of file with renames
* Make stash filtering work when filtering on a folder
* Make stash loading work in filtering mode
* Revert "chore: use null char as a stash entries divider during loading"
* Add integration test for filtering the stashes list by file path
* Refresh all affected scopes when entering/exiting filtering
* Allow passing SUB_COMMITS scope to Refresh when no subcommits view is showing
* Fix visual regression when exiting filtering mode
* Remove unnecessary golangci-lint install step from dev-container Dockerfile
* Remove unused script lint.sh
* Use a better way of pinning the version of golangci-lint
* Support Alt+Backspace for word deletion in text areas
* Fix `--amend` when the commit message is empty
* Add confirmation for nuking the working tree
* Fix `last branch` to `previous branch` in `TranslationSet.CheckoutByNameTooltip`
* Update cheatsheets and schema
* Add new command "Checkout previous branch"
* Fix search results being off by two lines during rebase or in divergence view
* Make prepareConversionArrays a little more concurrency safe
* Allow double-clicking suggestions
* Allow switching between confirmation and suggestions by clicking
* Extract helper function
* Allow scrolling background views with the mouse wheel when a popup is showing
* Cleanup: use FocusedView property for mouse bindings
* Make conditions easier to understand
* Exclude "." from file path suggestions
* Remove outdated comment
* Add proper double-click handling for list views
* Assert that only one controller can set click or render functions on a BaseContext
* Allow more than one controller to attach OnFocus/OnFocusLost functions
* Cleanup: use nil for empty slice
* Remove GetOnRenderToMain, GetOnFocus, and GetOnFocusLost from BaseContext
* Bump gocui
* Fix more unstable tests
* Fix stale main view content when entering/exiting filtering view
* Fix unstable tests
* Add a prompt for the sort order menus for branches
* Add tooltips for commit log menu
* Add configuration hints to existing tooltips
* Add breaking changes entry for the changed sort order for branches
* Add enum validation for Git.Log.Order and Git.Log.ShowGraph
* Un-deprecate UserConfig.Git.Log.Order and ShowGraph
* Move LocalBranchSortOrder and RemoteBranchSortOrder to user config
* Add missing validation tests
* Move DiffContextSize and RenameSimilarityThreshold to user config
* Move IgnoreWhitespaceInDiffView to user config
* Fix keybinding display for local branches sort order to indicate it's a menu
* Remove git version specific code for versions we no longer support
* Remove obsolete git version restrictions
* Remove obsolete tests
* Bump minimum required git version to 2.32
* Remove obsolete git version restriction in test
* Add confirmation for hard reset when there are uncommitted changes
* Use ConfirmIf where applicable
* Add convenience function ConfirmIf
* Remove deprecated edit configs
* Use non-deprecated 'OS.Open' config in OpenFile test on Windows
* Remove unused TranslationSet fields
* Fix wrong text being used in error message
* Remove some unused code
* Fix scrolling hunk into view when selecting next hunk
* Cleanup: remove unused method Focus from PatchExplorerContext
* Cleanup: fix comment
* Bring back files from vendor directory that we accidentally excluded
* Clean up .gitignore
* Remove the homebrew tap from the readme
* Make it run at 8am instead of in the middle of the night
* Create annotated tags
* Make the release workflow run only from stefanhaller's fork
* Set a default shell for all jobs
* Update goreleaser to v2
* README.md: Update Sponsors
* Remove redundant curlies
* Properly use sponsors PR token
* Use fine-grained sponsors PR token
* Try using PAT on sponsors CI
* Update the peter-evans/create-pull-request action to v7
* Move `if` to job level so that the entire thing doesn't run in forks
* Raise sponsors PRs as a draft
* fix: broken markdown by replace \n into <md>
-------------------------------------------------------------------
Sat Jul 05 06:20:45 UTC 2025 - Scott Bradnick <scott.bradnick@suse.com>
- Update to version 0.53.0+git20250704.bc4b50f8:
* Escape out of hunk mode only if it was turned on by the user
* Add user config to use hunk mode by default when entering staging view
* Cleanup: rename a badly named function
* In hunk staging mode, select blocks of changes rather than actual hunks
* Don't generate test list before running integration test
* Update translations from Crowdin
* Collapse selection after deleting a range of stashes
* Collapse selection after deleting a range of remote branches
* Fix collapsing the range selection after deleting branches
* Move to next stageable line after adding a line to a custom patch
* Toggle only added/deleted lines in patch building view
* Export PatchLine.isChange
* Render only + and - lines as included in a patch
* Auto-stash if necessary when reverting commits
* Remove unnecessary refresh
* Adjust selection after cherry-picking commits
* Add selection assertions to cherry-pick tests
* Use sync waiting status for cherry-picking
* Auto-stash if necessary when cherry-picking commits
* Remove unused text StashPrefix
* Use a better name for the auto-stash for moving a custom patch to index
* Use a better name for the auto-stash for creating a new branch
* Use a better name for the auto-stash for checking out a branch
* Use a better name for the auto-stash for undo
* Use abbreviated hash in undo confirmations
* Exclude vendor directory from linting
* Stage affected unstaged files when applying or reverting a patch
* Add tests for applying a patch when there's a modified file
* Drop stash when successfully unstashing files after moving patch to index
* Add test for moving patch to index when there's a modified file
* Cleanup: implement AllFilesInPatch using lo.Keys
* Show stash title in main view for selected stash entry
* Cleanup: add NewRunPtyTaskWithPrefix funxtion instead of setting Prefix manually
* Use async refresh rather than manual OnWorker call
* Change Refresh to not return an error
* Remove another unnecessary refresh
* Remove unnecessary refresh
* Cleanup: remove pointless error handling
* Fix formatting of a keyboard shortcut in the README.md
* Enable revive linter, and fix a bunch of warnings
* Enable errorlint linter, and fix warnings
* Enable intrange linter, and fix warnings
* Enable nolintlint linter, and fix warnings
* Update VS Code settings to enable staticcheck linter
* Update VS Code settings to use golangci-lint v2
* Update .golangci.yml to use version 2
* Fix warning QF1003: could use tagged switch
* Fix warning QF1004: could use strings.ReplaceAll instead
* Make stashEntryFromLine a free-standing function
* Fix warning ST1016: methods on the same type should have the same receiver name
* Fix warning ST1016: methods on the same type should have the same receiver name
* Provide a script to lint the whole working copy, and update make lint to use it
* Show tag information for selected tag
* Add IsAnnotated field to models.Tag struct
* Fix the CurrentBranchName function
* Cleanup: turn around error condition
* Add a test showing undesired branch icon at head commit
* Bump github.com/cloudflare/circl from 1.6.0 to 1.6.1
* fix: show GPG error before entering commit editor
* Add credential prompts for PKCS11-based SSH keys
* Fix DEFAULT_REMOTE_ICON character code
* Fix moving a custom patch from the very first commit of the history to a later commit
* Instantiate other mutexes by value
* Instantiate Mutexes's fields by value
* add bold style for border
* Add unambigious refs/ prefix to all stash references
* Add option to disable warning when amending last commit
-------------------------------------------------------------------
Sun Jun 08 02:38:38 UTC 2025 - Scott Bradnick <scott.bradnick@suse.com>
- Update to version 0.52.0+git20250605.aa331e52:
* 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
-------------------------------------------------------------------
Fri May 23 14:10:30 UTC 2025 - Scott Bradnick <scott.bradnick@suse.com>
- Update to version 0.51.1+git20250523.da32b59e:
* Use PTY also with credentialStrategy=FAIL
-------------------------------------------------------------------
Thu May 22 13:42:38 UTC 2025 - Scott Bradnick <scott.bradnick@suse.com>
- Update to version 0.51.0+git20250522.6705428a:
* 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
-------------------------------------------------------------------
Sat May 03 18:06:56 UTC 2025 - Scott Bradnick <scott.bradnick@suse.com>
- Update to version 0.50.0+git20250429.66caa25d:
* 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
-------------------------------------------------------------------
Mon Apr 14 14:03:27 UTC 2025 - Scott Bradnick <scott.bradnick@suse.com>
- Update to version 0.49.0+git20250414.5f809809:
* 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
-------------------------------------------------------------------
Sun Mar 02 19:25:03 UTC 2025 - scott.bradnick@suse.com
- Update to version 0.48.0+git20250228.1b571f9e:
* 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
-------------------------------------------------------------------
Tue Feb 25 14:45:51 UTC 2025 - scott.bradnick@suse.com
- Update to version 0.47.2+git20250225.4e38a941:
* 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
-------------------------------------------------------------------
Sat Feb 22 23:33:09 UTC 2025 - scott.bradnick@suse.com
- Update to version 0.47.1+git20250222.b2fd6128:
* 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
-------------------------------------------------------------------
Sat Feb 15 17:59:21 UTC 2025 - scott.bradnick@suse.com
- Update to version 0.46.0+git20250215.01eece37:
* 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
-------------------------------------------------------------------
Fri Jan 17 18:14:45 UTC 2025 - scott.bradnick@suse.com
- Update to version 0.45.2+git20250118.c03b8922:
* Bump tcell to fix broken deployment
* Improve undo action to restore files upon undoing a commit
* Collapse/expand all files in tree
* Bump gocui (and tcell)
* Add ability to configure branch color patterns
* Remove the automatic coloring of certain branch names
-------------------------------------------------------------------
Sat Jan 11 22:09:56 UTC 2025 - scott.bradnick@suse.com
- Update to version 0.45.0+git20250111.6da99a49:
* 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
* README.md: Update Sponsors
* Adjust line number for working copy when editing a line
* Combine GetPathDiff and GetAllDiff into one command (GetDiff)
* Add a test demonstrating the problem
* Bump gocui
* Bump gocui
* 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
* Bump crypto and net packages
* Fix typos
* chore: use errors.New to replace fmt.Errorf with no parameters
* Formatting the file with gofumpt
* Revert unwanted change
* Add worktree option to fast forwarding operation
* 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
* Bump kill package
* Stylize and correct the NixOS section in README.md
* Add vision and design principles doc
* Fix hang when returning from shell command
-------------------------------------------------------------------
Thu Dec 26 21:53:24 UTC 2024 - scott.bradnick@suse.com
- Update to version 0.44.1+git20241223.ec410b2a:
* Don't preserve commit message when it's unchanged from initial message
* Extend commitPrefix test to cancel without changing the commmit message
* Cleanup: reformat to make the test setup code easier to read
* 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
* Extract helper function
* Convert tabs to spaces in WrapViewLinesToWidth
* Refactor: move wrapMessageToWidth to utils/lines.go
* Fix: set state to nil when patch building view loses focus
* Cleanup: remove unused log parameter of patch_exploring.NewState
* Cleanup: remove unused method RangeStartLineIdx
* Fix several bugs in wrapMessageToWidth
* Bump gocui
* Fix moving a commit across a branch boundary in a stack
* Add test for moving a commit across a branch boundary in a stack
* Fix moving a commit across an exec todo
* Add tests for moving across an exec todo
* Add tests for moving a commit across an update-ref 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
* Add test for editing several commits right after a merge commit
* Add test to auto-amend a commit after pressing `e` on it
* Add test for editing the last commit of a branch in a stack
* 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
* Bump gocui and adapt lazygit code
* 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
* Add test demonstrating a bug with clicking in the staging 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
* Add test to ensure that file icons are one rune
* 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
* Add test demonstrating problem with ForEachLineInFile
* Extract helper function for easier testing
-------------------------------------------------------------------
Fri Oct 11 14:33:05 UTC 2024 - scott.bradnick@suse.com
- Update to version 0.44.1+git20240928.d11e11d1:
* Use AutoRenderHyperLinks in confirmation view
* Use AutoRenderHyperLinks in main views
* Turn on AutoRenderHyperLinks in the Command Log panel
* Bump gocui
* 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 test that demonstrates bug with deleting remote branch with different name
* Add question marks to questions
* Remove unused texts
* Remove obsolete TODO comment
* Fix copying commit author to clipboard
* Add test for copying a commit author to the clipboard
-------------------------------------------------------------------
Wed Sep 18 14:17:57 UTC 2024 - scott.bradnick@suse.com
- Update to version 0.44.1+git20240918.a04ad24:
* 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
-------------------------------------------------------------------
Sat Sep 07 17:02:52 UTC 2024 - scott.bradnick@suse.com
- Update to version 0.44.0+git20240906.2d0c7cb:
* Switch to Files panel after popping a stash
* Remove return value of OpenCommitMessagePanel
* Remove return value of Alert/Confirm/Prompt
* Remove return value of CreatePopupPanel
* Remove return value of RefreshPatchBuildingPanel
* Remove return value of IContextMgr.Push/Pop et. al.
* Fix a lock that is held too long
* Remove return value of Focus-related functions
* Remove return value of IPatchExplorerContext.Render, RenderAndFocus, and NavigateTo
* Remove return value of RenderToMainViews and some related functions
* Remove return value of HandleRender
* Bump gocui
* 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
* Skip also for \nd
* [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
* Upgrade golangci-lint-action to latest version
* Upgrade golang-ci to 1.60
* 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
* Bump gocui
* 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
* Bump gocui
* 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
* Bump 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()
* Bump gocui
* Don't stage already staged deleted items
* Improve fixup commits script
-------------------------------------------------------------------
Tue Aug 20 14:03:35 UTC 2024 - scott.bradnick@suse.com
- Update to version 0.43.1+git20240818.7679b10:
* 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
* Cleanup: remove unused method AppConfig.ConfigFilename
* Cleanup: remove unused field IsNewRepo
* Cleanup: remove unused field DeafultConfFiles
* Use filepath instead of path for file path operations
* Bump gocui
* 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()
* Replace ActivateContext() with Context().Activate()
* Rename ActivateContext/deactivateContext to Activate/deactivate
* Replace IsCurrentContext() with Context().IsCurrent()
* Replace CurrentPopupContexts() with Context().CurrentPopup()
* Rename PopupContexts() to CurrentPopup()
* Replace CurrentSideContext() with Context().CurrentSide()
* Replace CurrentStaticContext() with Context().CurrentStatic()
* Replace CurrentContext() with Context().Current()
* Remove unused method RemoveContexts()
* Replace ReplaceContext() with Context().Replace()
* Replace PopContext() with Context().Pop()
* Replace PushContext() with Context().Push()
* Rename "Custom Command" to "Shell Command"
* Add new integration tests folder "shell_commands"
* Bump gocui
* 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
* Bump gocui
* 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
-------------------------------------------------------------------
Sat Jul 13 14:47:33 UTC 2024 - scott.bradnick@suse.com
- Update to version 0.43.1+git20240713.f598da0:
* 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"
* Fix language auto-detection
* Add test that demonstrates bug with language auto-detection
* README.md: Update Sponsors
* Revert "Check for fixup commits on CI"
* Support setting the similarity threshold for detecting renames
* Check for fixup commits on CI
* fixup! Add icons for some file names
* fixup! Add icons for some file extensions
* Add icons for some git remotes
* Add icons for some file extensions
* Add icons for some file names
* Update link from unmaintained exa to maintained eza
* Ensure branch name matches pattern before replace
* Add initial test for non-matching branch name
-------------------------------------------------------------------
Mon Jul 08 16:55:29 UTC 2024 - scott.bradnick@suse.com
- Update to version 0.42.0+git20240707.b004b2e:
* Optimize number of early calls to GetRepoPaths
* README.md: Update Sponsors
* Allow cycling between multiple log commands
* Add Token credential request handling
* docs: Add flox install
* Simplify integration test
* Add integration test
* Fix multi selection stage/discard not working for files with substrings
* Bump `actions/checkout`, `actions/setup-go`, `actions/cache/restore`, `actions/cache/save`
* Allow setting a default name when creating new branches
* fix formatting
* Add bicep & bicepparam icons
* Upgrade to Alpine Linux v3.19
* Update tracking behaviour for branches created from remote branches
* Update translations from Crowdin
* Add script to update translation files from Crowdin
* Remove unused TranslationSet entries
* Add missing english text
* Re-add a vendor .gitattributes file
* Add .gitattributes file
* Normalize line endings of docs/README.md
* Fix loading translation set json files on Windows
* Make opening git difftool more consistent
* feat: squash merge
* Provide two config keys for configuring the author length in commits view
* Revert "Add user config gui.commitAuthorFormat (#3625)"
* Turn off the highlight of the suggestions panel when it loses focus
* Extract helper function SuggestionsController.switchToConfirmation
* Always reapply filters on filtered views, even inactive ones
* Add test demonstrating a problem with updating the filter when the model changes
* Stagger popup panels
* Resize all open popup panels in layout, not just the topmost one
* Remove return value from ResizeCurrentPopupPanel
* Remove redundant calls to resize editable panels at creating time
* Bump gocui
* Remove redundant resizeConfirmationPanel() call at panel creating time
* Remove duplicate function
* Remove unused functions
* Have only one of commit message and description on the context stack at a time
* Fix clicking outside of the commit description panel or suggestions panel
* Add command to paste commit message from clipboard
* Add function os.PasteFromClipboard
* Change script to write only the English translation set to JSON
* Remove non-English translation sets, read them from JSON instead
* Remove all empty strings
* Convert the non-English translation sets to JSON files
* Remove unused struct
* Highlight inactive selection in bold
* Clear highlight in HandleFocusLost
* Use utils.StringWidth to optimize rendering performance
* Rerender fewer views when their width changes
* 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
* Introduce options struct for RenderPatchForFile
* Add test for moving a patch from an added file to an earlier commit
* Add test for moving a patch from a deleted file to a new commit
* Remove unneccesary test actions
* 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
* Clear keybinding functions in resetHelpersAndControllers
* Add a test demonstrating the bug
* Fix truncation of long branch names containing non-ASCII characters
* Add test demonstrating wrong truncation of 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
* Bump gocui
* Log memory usage every 10s
* Use model searching in commits (and sub-commits) view
* Assert that the search status view is visible
* Add type assertions for all searchable contexts
* Cleanup: remove outdated comment
* Fix searching in the divergence (left/right) view
* Cleanup: reduce some code duplication
* 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
* Don't reference Model().Commits multiple times
* Add test demonstrating the desired behavior
* 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
* Fix typo
* 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
* More explicit test of status panel content
* Add HEAD: when referencing upstream branch
* Update user doc
* 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`
* Add test for ExpandFocusedSidePanel config
* Add integration test for pushing when the remote is not stored locally
* 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 out-of-date comment
* Pin golangci version to 1.58
* Fix tooltip of fixup command
* Fix calculation of tooltip height
* Update readme
* Delete the TODO comment about enabling `goconst` in the future from `.golangci.yml`
* 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
* Update README.md
-------------------------------------------------------------------
Sun May 19 17:54:25 UTC 2024 - scott.bradnick@suse.com
- Update to version 0.42.0+git20240519.b75c177:
* 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
* Remove unnecesary schema validations in user config
* 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
* README.md: Update Sponsors
* 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
* rename sha to hash 10, last remaining sha (hopefully)
* rename sha to hash 9, case: Sha
* rename sha to hash 8, update some log and comment
* rename sha to hash 7, language translate
* rename sha to hash 6, update short hash
* rename sha to hash 5
* rename sha to hash 4
* rename sha to hash 3
* rename sha to hash 2
* rename sha to hash
* 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
-------------------------------------------------------------------
Sat Mar 23 14:03:37 UTC 2024 - scott.bradnick@suse.com
- Update to version 0.41.0+git20240323.e1c3ef6:
* Update README.md
* Update README.md
* Update README.md
* Fix inline status removal when recording demos
* Update interactive rebase demo
* 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
* Fix indentation
* 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
* Bump gocui
* 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
* Bump gocui
* 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
* Cleanup
* 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
-------------------------------------------------------------------
Mon Jan 29 21:53:44 UTC 2024 - scott.bradnick@suse.com
- Update to version 0.40.2+git20240130.761c77f:
* 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
* Fix typo
* 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
* Updated README.md
* 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
* Updated README.md
* 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)
* Updated README.md
* 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
* Updated README.md
* 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
* Updated README.md
* 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
* Bump gocui
* 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
* Updated README.md
* 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
* Remove unused function
* Simplify GetCommitMessage
* Updated README.md
* Update cheat sheets and json schema
* Add command to open git difftool
* Remove unused function
* Fix checking out a tag when a branch with the same name exists
* Add test demonstrating the problem
* Updated README.md
* Replace copy SHA with copy subject on commit 'y s'
* Update error message
* 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
* Updated README.md
* chore: use null char as a stash entries divider during loading
* feat: add age on stash lines
* Updated README.md
* Add integration test for remote branch sort order
* Implement a sort order menu for remote branches
* Updated README.md
* fix(config): add yaml struct tag to `CustomCommandPrompt.[]Options`
* Updated README.md
* 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
* Updated README.md
* Add WithWaitingStatusSync for reverting commits
* Use WithWaitingStatusSync for move commit up/down
* Add WithWaitingStatusSync
* Bump gocui
* Add tests for window arrangement code
* Refactor window arrangement helper to use pure function
* Layout the bottom line view using spacer views
* Fix an incorrect comment
* fix: MacOS default path misspelling
* Updated README.md
* chore: update jsonschema
* chore: update cheatsheets
* feat: introduce a copy menu into the file view
* Updated README.md
* Add UserConfig jsonschema generation script
* Add invopop/jsonschema fork
* Update cheatsheets
* Updated README.md
* Update README.md
* Updated README.md
* Add coverage arg for integration tests
* Use args struct for RunTests
* Use a PTY when calling external diff command
* Updated README.md
* 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
* adjust the text to received review comments
* commmit - enhance docs for keybinding 'c' for local branch
-------------------------------------------------------------------
Tue Nov 07 19:33:46 UTC 2023 - scott.bradnick@suse.com
- Update to version 0.40.2+git20231027.1d1b8cc:
* Updated README.md
* Add Warp link to readme
* Updated README.md
* Add Codacy badge
* Updated README.md
* Update Stacked_Branches.md
* Updated README.md
* Advise against raising pull requests from master branch
* create iconProperties struct and convert iconMaps to use iconProperties
* Updated README.md
* 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
* Updated README.md
* 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
* Updated README.md
* Remove redundant `len` check
* Updated README.md
* Add Micro editor preset
* Updated README.md
* Band-aid fix for submodule/reset.go test failure
* Updated README.md
* 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
* Updated README.md
* 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
* Updated README.md
* 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
* Updated README.md
* 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
* Updated README.md
* 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
* Updated README.md
* Use UpstreamBranch for opening pull requests
* Rename test/results to test/_results
* Updated README.md
* 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
* Bump gocui
* Updated README.md
* Updated README.md
* 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
* Updated README.md
* 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
* Updated README.md
* Fix keybinding for editing config file
* Add support for external diff commands (e.g. difftastic)
* Add explicit --no-ext-diff arg to CommitCommands.ShowCmdObj
* Updated README.md
* Improve prompts when amending commits
* Updated README.md
* Fix escape not cancelling filter mode, but closing the menu instead
* Updated README.md
* 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
* Updated README.md
* Add instruction in PR template to start PRs with an imperative
* Add Winget to installation guide
* Add Winget to installation guide
* Update docs
* 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
* Updated README.md
* Fix the commit graph display after selection jumps in commits view
* Fix test
* 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
* Updated README.md
* 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
* Bump gocui
* 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
* Updated README.md
* 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()
* Updated README.md
* 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
-------------------------------------------------------------------
Mon Aug 07 15:11:15 UTC 2023 - scott.bradnick@suse.com
- Update to version 0.40.2+git20230807.5e388e2:
* Updated README.md
* Fix seg-fault when opening submodule in nested folder
* 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
* Updated README.md
* 👽️ update worktree icons for NerdFont V3
* Bump gocui
* Updated README.md
* Fix README.md typo backkground -> background
-------------------------------------------------------------------
Sat Aug 05 16:21:43 UTC 2023 - scott.bradnick@suse.com
- Update to version 0.40.0+git20230805.7847203:
* Updated README.md
* Fix confirmation view sizing
* Add custom patch demo
* Add worktree demo
* Add custom command demo
* Add undo/redo demo
* Add filter demo to README
* Move features to top of readme
* Point to new demos
* 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
* Update README.md
* Update README.md
* 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
* Updated README.md
* Update README.md
* 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.
* Updated README.md
* Create demo output dir if it doesn't already exist
* Update README.md
* Add demo test variant
* Update README.md
* Update README.md
* Update README.md
* 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
* Updated README.md
* fix go mod
* Use double dash for disambuating path in editor templates
* Fix flakey worktree tests
* rename files
* 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 section in integration readme about testing against old git versions
* 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
* Remove dead function
* 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
* Update cheatsheets
* Remove worktree version guards
* Fix unit tests
* Show loader when switching worktrees
* Support older versions of git when fetching worktrees
* Fix tests
* Fix tests
* 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
* Fix wording
* Log when directory is changed
* Handle deleting branch attached to worktree
* Update wording
* 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
* Use git lingo
* Improve name handling
* Use sentence case
* Refactor
* Update worktree model
* Alert when attempting to enter the current worktree
* Remove comment
* Address PR comments
* 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 when trying to switch to them Use a broken link icon for missing worktrees
* Hide worktrees in the worktree panel if they point at a non-existing filesystem location. Remove unneeded check when filtering out branches from non-current worktrees from the branch panel. Add link icon for linked worktrees
* 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
* Updated README.md
* Support random order of command execution in unit tests Now that we run code concurrently in our loaders, we need to handle that in our tests. We could enforce a deterministic ordering by mocking waitgroup or something like that, but I think it's fine to let our tests handle some randomness given that prod itself will have that randomness.
* 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 14:31:58 UTC 2023 - scott.bradnick@suse.com
- Update to version 0.39.4+git20230724.35c430c:
* 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
-------------------------------------------------------------------
Sun Jul 23 16:31:37 UTC 2023 - scott.bradnick@suse.com
- Update to version 0.39.3+git20230723.7c44b76:
* Prompt for commit message when moving a custom patch to a new commit
* Fix crash caused by simultaneous read/write of scanner buffer
* Better word wrap
* Update README.md
* 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
-------------------------------------------------------------------
Fri Jul 21 23:38:22 UTC 2023 - scott.bradnick@suse.com
- Update to version 0.39.2+git20230722.a7969ae:
* Fix rendering to main view on windows
-------------------------------------------------------------------
Fri Jul 21 13:31:03 UTC 2023 - scott.bradnick@suse.com
- Update to version 0.39.1+git20230721.39c900c:
* Fix goreleaser
* 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
* Add release config for generating release notes
* Add integration test for accordion mode
* Properly fix accordion issue
* Fix accordion issue
* Updated README.md
* Fix crash when a background fetch prompts for credentials
* Fix populating the Commit.Tags field
* Extend commit_loader test to show how the Tags field is populated
* Fix potentially wrong help text in commit message panel
* Updated README.md
* Add test for cmd obj cloning
* config: rely on .gitconfig for verbose commit messages
* Allow checking for merge conflicts after running a custom command
* Updated README.md
* Do not quote initial branch arg when creating repo
* Run integration tests with various git versions
* Update checkout and cache action versions
* Fix pull rebase tests
* Fix conflict test
* Replace uses of "git stash save" with "git stash push"
* Fix git stash calls for older git versions
* Fix Shell.Stash() for older versions of git
* Remove StashWithMessage function
* Use -c init.defaultBranch=master to pass the desired main branch to git init
* Remove mainBranch parameter from Shell.Init()
* Add script to run integration tests
* Retry tests on CI
* Fix interactive rebase with git 2.25.1 and earlier
* Updated README.md
* Retry on index.lock error
* Ensure background refreshes don't bunch up
* Fix flakey pull_merge_conflict test
* Fix flakey misc/initial_open test
* Refactor
* Use an interface for tasks instead of a concrete struct
* Use mutex on cached git config
* Use first class task objects instead of global counter
* Add dev doc for busy/idle tracking
* Fix test
* Fix race condition
* Only attempt integration tests once
* Add mutex for refreshing branches
* Remove retry logic in integration tests
* Wait for intro before doing any of our refresh functions
* Remove redundant waitgroup
* Handle pending actions properly in git commands that require credentials
* Add busy count for integration tests
* Bump gocui
* Updated README.md
* Add mutex to filtered list to avoid concurrency issues
* Add filtering docs
* Differentiate between different filter modes
* Update cheatsheets
* Use searching, not filtering, in file tree views
* Fix escape logic for remote branches
* Add integration tests for searching/filtering
* Support case sensitive filtering
* Color view frame differently when searching/filtering
* Show filter status similar to what we show with search
* Only cancel search if main or temporary context loses focus
* Scroll to top when filtering and retain selection when cancelling filter
* Move more logic into search helper
* Case insensitive string comparison
* Support filtering files
* Cancel filter/search when hitting escape
* Introduce filtered list view model
* Add integration tests for discarding files
* Print entire panic message
* Bump gocui
* Use comment char config on interactive rebase
* Bump git-todo-parser
* Add tests of interactive rebase with custom comment character
* Updated README.md
* fix: typo EnteRefName
* Always show branch heads in diff pane
* feat(i18n): add russian translation
* Use remote upstreams of main branches to determine merged status of commits
* Rename the gui.skipUnstageLineWarning conf key to gui.skipDiscardChangeWarning
* Rename "Delete change" menu entry to "Discard change" in staging panel
* Fix the title and text (and variable names) of the Discard Changes prompt
* Avoid rewriting the file if nothing changed
* Add new function RenameYamlKey
* Extract a lookupKey function that will be useful in the next commit
* Create missing path elements
* Return an error if some node in the path is not a dictionary
* Return an error if node to be updated is not a scalar
* Return an error if document is not a dictionary
* Support updating values in empty documents
* Rename UpdateYaml to UpdateYamlValue
* Cleanup: improve test setup and check for the right error string
* Cleanup: remove unnecessary if statements
* Add a test for stopping at an "edit" command that conflicts
* Insert fake todo entry for a conflicting commit that is being applied
* Add test for rewording a commit and failing with an error
* Add test for a pick that fails and gets rescheduled
* Add test for amending a commit, causing a conflict
* Extend test to expect what commits we want to be listed when there's a conflict
* Updated README.md
* Add nerdFontsVersion config
* Turn remoteIcons into a map
* Update README.md
* Allow discarding changes only from local commits
* Better prompt for discarding old file changes
* Disallow discarding file changes while a directory is selected
* Fix focus issue when opening recent-repos menu at launch
* Support authors and tags in custom command suggestions preset
* Updated README.md
* kakoune binary name
* Updated README.md
* Fix flakey test
* Appease linter
* Support matchers on integers in integration tests
* Add integration test for commit highlighting on focus
* Apply correct styling to root commit in graph
* Refresh commits viewport on focus lost
* Stop hiding underscores for VSCode
* show commits against branches
* Set defaults colours to 'default', not 'white'
* Show menu instead of prompt when there are conflicts in a rebase or merge
* update seconds ago function and add tests
* Add --all to "git fetch" command when not fetching a specific remote
* Add tests for Fetch
* Extract a FetchCmdObj function so that we can test it
* Remove unused fetch options RemoteName and BranchName
* Updated README.md
* Add key bindings doc for Chinese
* Remove Uffizzi
* Add Traditional Chinese support
* Support using command output directly in menuFromCommand custom command prompt
* Support suggestions generated from command in custom commands
* Updated README.md
* Add suggestionsPreset to custom commands system
* More compact and flexible date format
* Updated README.md
* Clean up helix editor preset
* Use sentence case everywhere
* Allow global logging when developing
* Use boolean field to control whether viewport is refreshed on line focus
* Add helix editor preset
* Fix discard logic
* Construct arg vector manually rather than parse string
* Updated README.md
* Cache binary paths
* Update gitlab commit URL to match new routing
* Update gitlab merge request URL to match new routing
* Right-align key labels in menu
* Update cheatsheet
* Fix cheatsheet generate VSCode task
* Apply strikethrough style to reserved keybindings in menus
* Stop displaying navigation keybinding at bottom of screen
* Use same labels for keys that we use in the config
* Support strikethrough text style
* Don't keep commits that become empty during a rebase
* Show correct keybinding in tip
* Refactor interface for ApplyPatch
* Add convenience builder for git commands
* Increase test coverage
* Updated README.md
* Remove the toast when toggling "ignore whitespace"
* Visualize the "ignore whitespace" state in the subtitle of the diff view
* Don't toggle "ignore whitespace" in the staging and patch building panels
* Disregard the "ignore whitespace" option in the patch building panel
* Support ignoring whitespace on stash
* Updated README.md
* remove empty message check as message of commit can be empty
* Add config git.mainBranches
* Updated README.md
* Fix race condition
* Don't deactivate context that you're about to activate
* Compare contexts with keys
* Rename CmdLog -> GuiLog
* Updated README.md
* Make "merged" take precedence over "unpushed"
* Allow the selected line of a list view to be outside the visible area
* Extend one of the filtering tests to start on a commit other than the first
* Updated README.md
* update cheatsheets
* remove duplicate method
* add ability to update yaml path while preserving comments
* add comment to encourage keeping code and docs in sync
* Include "kakoune" in supported edit presets
* Include "nvim" in supported edit presets
* merge master into refactor-better-encapsulation
* Refresh staging panel when committing
* Retain commit message when cycling history
* Split commit message panel into commit summary and commit description panel
* ensure initial context is set when entering submodule
* remove log call because it clutters test output
* update cheatsheets
* fix rendering of commit files view
* appease linter
* remove unused file
* move side window actions to controllers package
* move toggle whitespace action to controllers package
* update integration test for toggling whitespace
* move quit actions to controller
* fix reflog text colour by defaulting every view to the same foreground colour
* remove unused file
* move some methods
* move diffing menu action to controller
* move filtering menu action to controller
* move another action into controller
* move more actions into controller
* move custom patch options menu action to controllers package
* move custom command action into its own file
* move window arrangement helper
* lots of changes
* standardise controller helper methods
* standardise helper args
* split context common from helper common
* move getDisplayStrings funcs into contexts
* refactor cherry pick code to move state access out of helper
* start moving getDisplayStrings funcs into contexts
* move getModel functions into contexts
* move views into contexts
* remove context callback opts
* lots more refactoring
* Begin refactoring gui
* Bump golang.org/x/net from 0.0.0-20220722155237-a158d28d115b to 0.7.0
* build: remove `github.com/jesseduffield/yaml` package
-------------------------------------------------------------------
Wed May 03 14:28:39 UTC 2023 - scott.bradnick@suse.com
- Update to version 0.38.2+git20230503.5149b24:
* update open docs
* Add own version for test move_to_earlier_commit for older git versions
* Rename From to AtLeast
* chore(git_commands): support old git version (`git rebase --empty=keep`)
-------------------------------------------------------------------
Tue May 02 15:08:18 UTC 2023 - scott.bradnick@suse.com
- Update to version 0.38.1+git20230502.88d4313:
* Updated README.md
* Add config gui.experimentalShowBranchHeads
-------------------------------------------------------------------
Mon May 01 13:47:04 UTC 2023 - scott.bradnick@suse.com
- Update to version 0.38.0+git20230501.c6c4346:
* Updated README.md
* Refresh staging panel when committing
* Retain commit message when cycling history
* Split commit message panel into commit summary and commit description panel
* Fix activation of initial context
* refactor moveFixupCommitDown
* Make RebaseCommands.AmendTo more robust
* Refactor to tighten interface to lazygit daemon
* Refactor: simplify PrepareInteractiveRebaseCommand API
* Implement moving commits up/down in terms of daemon
* Implement "move patch to selected commit" in terms of daemon
* Implement squash, fixup, drop, and reword in terms of daemon
* Extract EditRebaseTodo into a function in utils.rebaseTodo
* Implement "edit commit" in terms of the new EditRebase function
* Use --rebase-merges for interactive rebase
* Put gitCommon.version back in deps_test.go
* Bump github.com/fsmiamoto/git-todo-parser to latest version
* enforce lowercase filenames
* Updated README.md
* Add an editor preset for kakoune (kakoune.org).
* Updated README.md
* bump clipboard package for WSL support
* feat: add gitea to hosting service
* Don't allow resetting non-HEAD commits (including rebase todos) during rebase
* Allow resetting author of HEAD commit during rebase
* Revert "feat: support for `push --force-if-includes`"
* Change push tag command
* test: check focus on commits after performing an advanced rebase
* chore: add focus on local commits after interactively rebase
* use lowercase text for menu items (as we're still yet to standardise on 'Sentence case')
* test: add integration test to verify the interactive rebase correctly work
* refactor: introduce a struct to pack the `PrepareInteractiveRebaseCommand` function
* extract out function
* test: update the UI to follow the new rebase type selection instead of confirm the previous popup
* feat: allow to perform a rebase with breaking before the first commit
* feat: let interactive rebase prepend commands to the default todo file
* Updated README.md
* Don't allow changing the type of certain rebase todos
* Make moving todo commits more robust
* Make EditRebaseTodo more robust
* Add integration test for dropping a todo commit when there's an update-ref
* Add GitVersion field to NewIntegrationTestArgs
* Show update-ref commands in rebase todo list
* Visualize branch heads in commits panel
* Make getHydratedRebasingCommits more robust
* Store commit.Action as an enum instead of a string
* Store commit.Status as an enum instead of a string
* Bump github.com/fsmiamoto/git-todo-parser to latest main version
* fix flaky tests
* Reorder tests
* Rename test files to match test names
* Add CI job to check that the test list is up to date
* Don't add custom command to history if it starts with space
* Show warning about deprecated edit configs
* Update documentation
* Change OpenCommand to Open and OpenLinkCommand to OpenLink
* Don't set platform defaults on OSConfig struct immediately
* Remove line number support for "open" command
* Add support for falling back to legacy edit config
* Implement edit presets
* Cleanup: fix copy/paste error in comment
* Fix windows tests
* Rename test files so that test discovery works again
* Updated README.md
* feat: remove --no-renames flag from main panel diffs (to show renamed files)
* fix: organise commit test file
* Make debugger config work when changing repos while debugging
* fix: generalize parsing of ssh git urls
* prevent unnecessary re-renders of view
* Updated README.md
* Better error message when trying to amend a commit other than head during rebase
* Allow amending the head commit during interactive rebase
* Extract amendHead function into new AmendHelper
* Add integration test for amending from the files panel
* Better error message when trying to edit or move a non-todo commit during rebase
* Allow rewording the head commit during interactive rebase
* Set promptToReturnFromSubprocess to false for integration tests
* Cleanup: use commit.isTODO() consistently
* Make sure scrollbars have the right size initially
-------------------------------------------------------------------
Fri Mar 31 16:44:17 UTC 2023 - scott.bradnick@suse.com
- Update to version 0.37.0+git20230326.3a59aba:
* fix reflog text colour by defaulting every view to the same foreground colour
* Updated README.md
* remove old integration test recording code
* Push initial context instead of just putting it in the context array
* Avoid deactivating and activating when pushing the current context again
* refresh the staging panel on successful commit
* Fix deprecated rand.Seed
* rename patch manager to patch builder
* specify view when assertion on line count fails
* bump gocui to fix race condition
* refactor patch code
* Better escape code parsing (thanks to Ryooooooga) (#2514)
* appease golangci-lint (#2512)
* Updated README.md
* Fix checking for credentials performance (#2452)
* Fix "move patch into new commit" for partial hunk (#2507)
* Uffizzi PR: Update Uffizzi Workflows (#2502)
* Make arrows consistent (#2501)
* Add border config (#2344)
* Updated README.md
* fix(commit_loader): fix log command
* Remove alternative confirmation and return keymappings
* Updated README.md
* Add more unit tests
* Update Config.md
* Rename WillBeAppliedReverse to Reverse
* Remove the PatchOptions.Reverse option
* Use WillBeAppliedReverse (and git apply --reverse) in the staging panel too
* Reenable failing test
* Concatenate patches to apply them all at once
* Add test for reverse-applying a patch that conflicts
* Remove parameters that are no longer needed
* Remove the keepOriginalHeader retry loop
* Use forward patches and --reverse flag for partial patches too
* Add patch option WillBeAppliedReverse
* Bundle the reverse and keepOriginalHeader flags into a PatchOptions struct
* Fix opening the current test file from the integration test gui
* Updated README.md
* generated cheatsheets and ran code formatting
* issue #2473
* Keep side context in context stack when pushing a main context
* Updated README.md
* Fix setting gui.selectedRangeBgColor as a hex value
* Add some tests for GetTextStyle
* Store WorkingTreeState in model
* Don't put "<--- YOU ARE HERE" in the commit model's name
* Updated README.md
* Updated README.md
* Make integration test more robust
* feat(subcommits): load unlimited sub-commits
* Updated README.md
* show file tree by default in integration tests
* cleanup integration test code
* remove legacy integration tests
* disable auto-refresh in integration tests
* migrate merge conflict tests
* Add icon for Kotlin script files
* Updated README.md
* give CI longer wait times before failing assertions
* migrate patch building tests
* Add icon for Kotlin files
* Updated README.md
* fix PullMergeConflict integration test
* Improve staging panel integration tests
* migrate staging tests
* remove erroneously added file
* migrate more tests
* migrate more tests
* migrate reflog integration tests
* migrate interactive rebase integration tests
* build: bump tcell version
* migrate push tests
* migrate stash tests
* rerun test generator
* migrate switch tab from menu test
* remove x keybinding for opening menu so we now only use '?'
* mention path in tooltips
* Add tooltips for discarding
* Make discarding items less error prone
* remove old tag tests
* add create tag from commit test
* add reset to tag test
* add tag checkout test
* sync test list whenever running a test in vscode
* add tag tests
* show tag message
* Allow squashing fixups above the first commit of a repo
* improved commit test
* migrate undo2
* Update pkg/integration/tests/branch/create_tag.go
* Add integration tests for rebasing to the initial commit
* Allow interactive rebasing all the way down to the first commit
* Better error message for trying to squash or fixup the first commit
* Updated README.md
* Revert "fix: improve backward compatibility"
* test: fix TagNamesAt
* test: add an integration test for creating tag on branches
* feat: support to create tag on branch
* Edit by breaking after current commit
* Bump minimum required git version to 2.20
* migrate undo test
* migrate merge conflict undo test
* show snapshot of lazygit when test fails for easier investigation
* migrate revert merge test
* migrate initial open test
* remove already migrated test
* migrate open to branches with cli arg test
* migrate more force push tests
* remove unneeded config setting
* migrate forcePush integration test
* allow syncing tests from vscode
* update readme
* migrate pullAndSetUpstream test
* migrate pull integration test
* add code generator for creating tests list
* rename key to Pull
* Fix yellow/red coloring of pushed/unpushed commits in branch commits panel (#2448)
* Updated README.md
* Undo a change made in #2444 that we didn't end up needing
* Updated README.md
* bump gocui
* update view cursor when selecting new line in patch explorer view
* Don't bother setting view cursor pos for staging/stagingSecondary views
* Turn highlighting off in staging/stagingSecondary views
* Select next stageable line correctly after staging a range of lines
* Add test demonstrating selection bug when staging a range of lines
* Make SelectedLine/SelectedLineIdx work in staging/stagingSecondary views
* Updated README.md
* migrate submodule reset test
* migrate submodule enter test
* fix test
* better visibility for tui
* migrate submodule remove test
* migrate submodule add test
* chore: change to work `return-alt1` on all views
* Updated README.md
* chore: remove `UNKNOWN_VIEW_ERROR_MSG`
* Explicitly pass --no-autosquash when rebasing
* Add an integration test showing a problem with autosquash during normal rebase
* fix: disable menu key binding while displaying popup
* Copy remote branch name to clipboard
* Updated README.md
* fix linting issue
* Disable ~/.gitconfig when running integration tests
* Add integration test for ignoring whitespace in diff
* Allow ignoring whitespace in diff in commits panel
* Better redrawing after toggling "ignore whitespace"
* Cleanup: remove extra space
* Make "Toggle whitespace in diff view" a global key binding
* Updated README.md
* fix: fix `default` color to be white
* Override GIT_SEQUENCE_EDITOR for rebase commands
-------------------------------------------------------------------
Wed Feb 01 16:54:52 UTC 2023 - scott.bradnick@suse.com
- Update to version 0.37.0+git20230201.16802a0:
* Updated README.md
* Fixing indent in user_config.go
* Updated README.md
* Skipping copy_patch_to_clipboard test case
* Fixed breaking integrtion tests(old)
* Updated README.md
* feat(log): allow to disable `git.log.order`
* fix: fix RefName of detached HEAD to works in Chinese
* Don't omit final line feed when copying diff lines to clipboard
* Cleanup: remove unused function RenderPlain
* Add user config gui.skipRewordInEditorWarning
* better test
* Updated README.md
* chore(i18n): remove unused texts
* Corrected test assert
* Fixed integration test case
* Extract helper function doRewordEditor
* Fixed the lable in the custom_patch_options_panel.go
* Added Integration testing the copy to clipboard in patchbuilding
* fix: fix `ReplacePlaceholderString`
* Fixed typo
* Change key of clipboard copy
* docs(README.md): fix installation scripts for Ubuntu
* Added copy to clipboard option to the patch options
* Updated README.md
* replaced 'screenMode' to 'windowSize' in config
* Updated README.md
* Added screenMode configuration to gui configuration
* feat: uffizzi integration
* docs(Config.md): add missing keybindings
* refactor: simplify log format
* feat(config): change `git.commit.verbose` to accept "default"
* Updated README.md
* build: bump gocui
* fix: fix goroutine leaks
* Updated README.md
* Add option to allow --verbose commit in editor commits
* fix: improve backward compatibility
* defend against possible nil function
* appease linter
* migrate filter path tests
* migrate test for rename branch and pull
* migrate fetchPrune integration test
* more git ignore stuff in integration test
* feat: support for `push --force-if-includes`
* feat: add `GitVersion` struct
* chore(gui): remove unused `gitConfig`
* Updated README.md
* appease linter
* integrate snake game into lazygit
* add snake game
* update readme
* rename function
* migrate ignore gitignore integration test
* migrate discard staged changes test
* migrate discard old file change test
* rename from asserter to driver
* move popup assertions into a struct
* create actions struct
* remove broken test
* fix suggestions test
* fix test
* fix bug
* update integration test readme
* minor changes
* remove dependency on model
* move shell into test driver
* rename input to t
* add tap function
* combine assert and input structs, clean up interface
* rename
* better namespacing for assertions
* add view asserter getter struct
* refactor commit message stuff in integration tests
* more refactoring of popup stuff
* add prompt asserter
* refactor prompt handling in integration tests
* chore(config): remove unused config
* Updated README.md
* update readme
* allow checking if line is selected in Lines and TopLines methods
* allow chaining matchers
* add switch-to-view methods
* cleaner test assertions
* rename SelectedLine to CurrentLine in tests
* introduce ViewLines functions
* Updated README.md
* add helper functions for popups in tests
* refactor to not have Match at the start of assert method names, because it reads better that way
* add task for opening deprecated tests TUI
* move background code into its own file
* focus terminal when running a test
* faster test
* discard changes integration test
* migrate diffing integration tests
* don't kill long-running sandbox sessions
* Change null as the default return-alt1
* fix(#2309): fix diff scroll
* migrate confirm-on-quit integration test
* apply user config changes in sandbox mode
* clean up some integration test stuff
* remove snapshot approach for new integration tests
* add commit revert integration test
* add multi-line commit integration test
* bump gocui
* Ament description about return-alt1
* migrate branch reset integration test
* Updated README.md
* updated rebase confirmation message
* add return alt1
* Add credential prompts for U2F-backed SSH keys
-------------------------------------------------------------------
Fri Dec 2 03:32:46 UTC 2022 - Scott Bradnick <scott.bradnick@suse.com>
- Changing 'main.source' to 'main.buildSource'
-------------------------------------------------------------------
Fri Dec 2 03:13:00 UTC 2022 - Scott Bradnick <scott.bradnick@suse.com>
- Swapping main_commit and main_version generated values
-------------------------------------------------------------------
Fri Dec 2 01:57:31 UTC 2022 - Scott Bradnick <scott.bradnick@suse.com>
- Adding '%define's and '-ldflags' entries so that --version
returns proper information
-------------------------------------------------------------------
Thu Dec 1 19:33:01 UTC 2022 - Scott Bradnick <scott.bradnick@suse.com>
- Initial version 0.36.0+git20221201.d69b2fe from upstream