Changelog for
lazygit-0.44.1-lp155.10.2.x86_64.rpm :
* Thu Sep 19 2024 Dead Mozay dead_mozayAATTopensuse.org- Update to version 0.44.1:
* 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
* Mon Sep 09 2024 Dead Mozay dead_mozayAATTopensuse.org- Update to version 0.44.0:
* 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 \
d
* [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
* 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
* 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
* 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
* 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 AATT{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 \"
\"
* Introduce a yaml_utils.Walk function
* Underline links in confirmation panels
* Make links clickable in confirmation panels
* Make HandleGenericClick a little smarter
* Extract a function HandleGenericClick
* Cleanup: don\'t mess with globals in tests without resetting them
* Fix schema link in Config.md
* Fix rewording signed commits when the log.showsignature git config is true
* Fix the \"Add to .git/info/exclude\" command in submodules or worktrees
* Add a test that demonstrates the problem
* Cleanup: simplify return statements
* Cleanup: remove pointless condition and error message
* Keep the same commit selected when exiting filtering mode
* Fix crash when filtering the keybindings menu
* Update Busy.md
* Fix deleting update-ref todos
* Cleanup: update outdated comment
* Extend delete_update_ref_todo test to actually test what it was supposed to
* Cleanup: fix typo in test comment
* Set the `TERM` env variable
* Update README.md
* 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 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
* 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
* 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
* adjust the text to received review comments
* Updated README.md
* Add Micro editor preset
* Updated README.md
* Band-aid fix for submodule/reset.go test failure
* commmit - enhance docs for keybinding \'c\' for local branch
* 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
* Tue Aug 08 2023 Dead Mozay dead_mozayAATTopensuse.org- Update to version 0.40.2:
* 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
* 👽️ update worktree icons for NerdFont V3
* Fix confirmation view sizing
* Add custom patch demo
* Add worktree demo
* Add custom command demo
* Add undo/redo demo
* 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
* Point tcell at stefanhaller\'s fork
* Appease linter
* Increase timeout for linter
* Fix focus issue
* Wait in demo after setting caption
* Add explosion animation when nuking working tree
* Output correct path in demo record script
* Start in fullscreen when passing a git arg
* Adds EditRebaseFromBaseCommit log message to i18n
* Wraps rebase func with WithWaitingStatus to show loader when rebasing
* Moves log related translations into its own Tr.Log. namespace
* Moves hard coded strings for LogCommand to i18n.
* 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
* Tue Jul 25 2023 Dead Mozay dead_mozayAATTopensuse.org- Update to version 0.39.4:
* Updated README.md
* Revert \"Fix flakey pull_merge_conflict test\"
* README.md: Add Gentoo installation documentation
* Could not type special characters on non-english keyboards
* Prompt for commit message when moving a custom patch to a new commit
* 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
* Fix rendering to main view on windows
* Fri Jul 21 2023 Dead Mozay dead_mozayAATTopensuse.org- Update to version 0.39.1:
* 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 2023 Dead Mozay dead_mozayAATTopensuse.org- Update to version 0.38.2:
* 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`)
* Add config gui.experimentalShowBranchHeads
* Tue May 02 2023 Dead Mozay dead_mozayAATTopensuse.org- Update to version 0.38.0:
* 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
* Add an editor preset for kakoune (kakoune.org).
* 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
* 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
* 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
* 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
* fix reflog text colour by defaulting every view to the same foreground colour
* remove old integration test recording code
* Make sure scrollbars have the right size initially
* 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)
* 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)
* fix(commit_loader): fix log command
* Remove alternative confirmation and return keymappings
* 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
* generated cheatsheets and ran code formatting
* issue #2473
* Keep side context in context stack when pushing a main context
* 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
* Make integration test more robust
* feat(subcommits): load unlimited sub-commits
* 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
* give CI longer wait times before failing assertions
* migrate patch building tests
* Add icon for Kotlin files
* 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
* 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
* 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)
* Undo a change made in #2444 that we didn\'t end up needing
* 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
* 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
* 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
* 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
* fix: fix `default` color to be white
* Override GIT_SEQUENCE_EDITOR for rebase commands
* Wed Feb 01 2023 Dead Mozay dead_mozayAATTopensuse.org- Update to version 0.37.0:
* Fixing indent in user_config.go
* Skipping copy_patch_to_clipboard test case
* Fixed breaking integrtion tests(old)
* 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
* 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
* Added copy to clipboard option to the patch options
* replaced \'screenMode\' to \'windowSize\' in config
* 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\"
* build: bump gocui
* fix: fix goroutine leaks
* 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`
* appease linter
* integrate snake game into lazygit
* add snake game
* 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
* 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
* 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
* 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
* 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
* 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
* Ament description about return-alt1
* migrate branch reset integration test
* Updated README.md
* updated rebase confirmation message
* add return alt1
* integration tests for commit without pre-commit hooks in staging files menu
* commit integrations test with window name\'s assertion
* integration tests for commit in staged files and unstaged files menus
* keybindings cheatsheet for commit in unstaged/staged
* workingtree controller fixed with new references for commit in staged menu
* wip: commit logic in helper and reported in files/staging controllers
* fix ignore file keybinding
* Add credential prompts for U2F-backed SSH keys
* Update docs/Config.md
* Resolve the prompt just before using it
* bump gocui
* added test data
* (#2288) quote remoteName before compiling regex
* [#2279] defaultFgColor entry in theme config
* Thu Nov 17 2022 Dead Mozay dead_mozayAATTopensuse.org- Update to version 0.36.0:
* use github native to generate release notes
* fix: fix ambiguous branch name
* Merge loaders package into git_commands package
* lint: try deleting blank line
* [#2258] hide options panel when showBottom line is disabled
* [#2258] show bottom line when having status
* lint: delete unused argument from `handleStashSave`
* added gitVersion for version flag
* better hiding of underscores
* hide underscores more
* stop switching focus to commits view when resetting
* use tempdir in tests to prevent polluting worktree
* set default branch in dev container for the sake of integration tests
* disable underscores in vscode while we wait for underscore glitch to be fixed
* Update CONTRIBUTING.md
* more tasks
* Update README.md
* Updated README.md
* add some tasks
* add devcontainer folder
* fix: delete duplicate import
* fix: delete duplicate line
* refactor: sort list of integration tests
* Update go-git to handle negative refspecs
* use better colour defaults
* Updated README.md
* fix broken CI (see https://vielmetti.typepad.com/logbook/2022/10/git-security-fixes-lead-to-fatal-transport-file-not-allowed-error-in-ci-systems-cve-2022-39253.html)
* fix could-not-access error
* Update README.md
* Update README.md
* Updated README.md
* Update README.md
* test: add more assertions
* added gitVersion to version flag
* Update go-git to handle negative refspecs
* use better colour defaults
* Updated README.md
* fix broken CI (see https://vielmetti.typepad.com/logbook/2022/10/git-security-fixes-lead-to-fatal-transport-file-not-allowed-error-in-ci-systems-cve-2022-39253.html)
* fix could-not-access error
* Update README.md
* Update README.md
* Updated README.md
* Update README.md
* Updated README.md
* docs: add examples of disabling keybindings
* build: $ ./scripts/bump_gocui.sh
* feat: allow `null` in keybindings
* test: update stash/rename integration test
* chore: refactor rename stash
* test: add an integration test for rename stash
* chore: refactor rename stash
* chore: remove unnecessary space
* feat: add rename stash
* Use lazycore utils: Clamp and GetLazyRootDirectory
* fix: fix initial origin of commit message panel
* feat: add stash icon
* Updated README.md
* fix: fix stash with empty message
* Update README.md
* Updated README.md
* add profiling guide to contributor docs
* update vendor directory
* Updated README.md
* update docs for lazycore
* add bump lazycore script
* use boxlayout from lazycore
* clean: delete old integration artifacts
* test: add test for stash including untracked files
* fix(test): add stash name
* Updated README.md
* feat(editors.go): move by words
* Replace regex for retrieving latest version
* strip NUL bytes instead of replacing with space
* use thread safe map
* fix glitchy render of stale data when flicking through files and directories
* Updated README.md
* adjust test temporarily to unblock master
* bump gocui
* use lowercase \'quote\' for consistency with existing custom command template functions
* Updated README.md
* test: add integration test for `Quote`
* feat: allow `OSCommand.Quote` to be invoked within a custom command
* update test
* Add test for amending a merge commit
* Add CheckoutBranch and Merge helpers for integration tests
* Rebase merges by default
* fix: scan to buffer to empty character input in stdin
* Updated README.md
* feat: add support for emacs keybindings
* build: $ ./scripts/bump_gocui.sh
* fix(loaders/file.go): changed to ignore stderr when loading git status
* formatter
* typo
* remove deprecated calls
* Add Key field to CustomCommandPrompt struct
* Updated README.md
* increase recording leeway
* allow two attempts on CI
* earlier failure
* add integration tests for cherry picking
* yet another retry to reduce flakiness
* various changes to improve integration tests
* test: add test for basic stash
* refactor: move checks for clean working tree
* refactor: rename method to `StashIncludeUntrackedChanges`
* test: add stash message
* fix: use message in git stash command
* refactor: remove redundant if statement
* refactor: use extended flag name
* refactor: change command order
* test: add integration test
* fix: add condition to if statement
* feat: add stash option to include untracked changes
* fix: how to change the config dir for MacOS
* Validate --path argument when starting lazygit
* add branch rebase integration test
* add branch delete integration test
* cleaning up imports
* remove already migrated test
* add another bisect integration test
* add bisect integration test
* don\'t quit integration test tui upon error
* better assertions
* Updated README.md
* fix(confirmation_panel.go): fix initial origin of editor box
* Updated README.md
* chore: remove duplicate word in comments
* Fix open commit in browser for some Gitlab repos
* Updated README.md
* docs(readme): Added lazygit install method on ubuntu
* Run gofumpt
* test: improve integration test portability
* fix: fix initial scroll position of edit box
* better PR template
* Apply refactoring suggestions
* formatting
* add PR template
* fix gocui mismatch
* fail on vendor directory mismatch
* update test readme
* missed a spot
* fix CI
* migrate menuFromCommand integration test
* add slow flag to integration tests
* ensuring you can\'t accidentally forget to add a test to the tests list
* a more complex custom command test
* basic custom command test
* build integration binaries on CI to ensure they compile
* better CLI interface
* even better structure
* bump gocui
* no need for this
* Updated README.md
* ensure we don\'t try to run another test when lazygit is invoked as a daemon
* add tests for my tests
* refactor to ensure code doesn\'t depend on integration code
* add assertion to prevent flakiness
* fix CI
* rename helpers to components
* remove buggy-ass action
* fix CI
* renaming
* update comments
* re-name Input and improve documentation
* move code from main into app package to allow test to be injected
* move input and assert into integration tests package
* introduce gui adapter
* IgnoreOrExclude should be a menu
* another integration test
* add new integration test pattern
* fix: document link
* Feat: Add emacs character navigation, because I\'m weird like that :)
* feat(config): add `notARepository: quit`
* better bug report template
* even better
* new feature request template
* fix hidden suggestions
* allow rendering to main panels from anywhere
* update cheatsheet
* ensure we remove temporary directory
* add deadlock mutex package
* move merge conflicts code into controller
* support custom SSH usernames on BitBucket, fixes #1890
* rename merging context to mergeConflicts
* Updated README.md
* use ptmx map so that we can have multiple ptmx\'s stored for resizing
* refactor to only have one context per view
* fix typo in README.md
* Test appending to empty file
* Rerun integration test
* Use tmpdir for tests
* Update pkg/commands/oscommands/os.go
* Fix the integration test
* Add AppendLineToFile tests
* Preserve trailing newline setting when adding to gitignore
* make exception for searching from menu
* Refactor branching logic
* Factor out opening of recent repos
* Factor out redundant statement
* Format, bug fixes
* Apply suggestions from code review
* add integration test to ensure we don\'t run into issues with popup focus
* prevent crash when opening recent repos panel if no recent repos are present
* fix popup focus issue
* fix issue caused by opening a menu over a prompt
* handle nil properly with file nodes
* add build info when building from source
* refactor to use generics for file nodes
* Add i18n for unknown branch
* Display short SHA when in `detached HEAD` state
* Use filepath.Join instead of manual concat
* Updated README.md
* remove double negatives
* add optimistic rendering for staging and unstaging files
* Add empty output message and refreshing to showOutput
* Refactor a bit, enable worktrees
* Gotta go fast
* Parallelize fetching current branch
* Show active branch for recent repo
* Worktrees should not be filtered out
* add better support for OpensMenu option when creating a menu
* Add link to the installation instructions
* Fix rewording a merge commit with editor
* Updated README.md
* Add SelectedPath to the list of placeholder values
* Fix github linter errors
* Check for bare repositories
* Update gocui
* Update bug_report.md
* Add showOutput option to docs
* Add showOutput option to custom commands (#1163)
* Wed Jul 20 2022 Dead Mozay dead_mozayAATTopensuse.org- Update to version 0.35:
* ci: change not to run `Generate Sponsors` action on the fork repository
* try having at least one commit created
* better handling of gitignore files
* init repo before setting username
* Allow adding a file to the .git/info/exclude file
* Update pkg/config/user_config.go
* feat: add confirm prompt for custom keybindings
* apply gofumpt
* docs(Config.md): fix docs on specifying config file
* Ask for initial branch name
* better process killing
* docs(Config.md): add missing `keybinding.branches.renameBranch`
* fix: use todo parser to properly read rebase todo file
* build: add github.com/fsmiamoto/git-todo-parser
* apply formatting
* support open file and link on WSL
* add more cache paths
* remove unused file
* run integration tests in parallel and properly cache windows build
* verbose tests
* allow opening lazygit to a specific panel
* Validate recent repo before blindly opening it
* Fix parsing of \'y/n\' when starting in non-repo
* support setting the author of a commit
* improve korean translation
* improve korean translation
* Korean translation
* Update Fedora/RHEL installation information
* Fetch the correct remote branch
* Update Custom_Command_Keybindings.md
* Update pkg/config/app_config.go
* fix: lint error
* Update docs/Config.md
* Add config param that displays the whole git graph by default
* Add helpful message on unmarshall error
* chore(i18n): move `InitialViewTabContextMap` to `gui` package
* chore(i18n): localize panel titles
* test: fix timezone for time format tests
* feat: add ability to customize time format
* fix: fix lint error
* better debug setup
* ignore some codespaces stuff
* remove commented out line
* update launch.json
* add launch.json
* Don\'t panic when there are no valid git repos
* Make tooltip i18n-able
* refactor
* fix: fix ambiguous refname
* rearrange
* add sponsors thingo
* chore(loaders): add `-c log.showSignature=false` flag to the rebasing commit loader
* perf: improve loading speed of commits and reflog when `log.showSignature=true`
* Discard staged changes only
* add option to always show unstaged/staged panels
* add author email to commits
* rename displayString to label for menu items
* fix cheatsheet
* update copy
* update snapshot to include author name and email in git log
* Update cheatsheets.
* fixup! Add command to reset the commit author from the commits panel.
* Add integration test for reset author command.
* fixup! Add command to reset the commit author from the commits panel.
* Add command to reset the commit author from the commits panel.
* better popup resizing logic
* add tooltip view for showing menu item descriptions
* refactor view definitions
* workflows: bump brew formula on Ubuntu
* fix: fix copying author name to clipboard
* fix: fix collision of `Donate` and `Ask Question`
* fix: fix the appStatus width calculation
* fix: fix the prompt height calculation
* more documentation
* clearer separation of concerns when bootstrapping application
* Bug fix - unused name param
* fix: fix context of edit hunk
* feat: add ability to edit hunk
* Update stashing tests to apply instead of pop
* fix: fix a crash when pressing enter in empty commits, reflog, or stash panel
* feat(i18n): japanese translation
* feat: accept named colors for `gui.authorColors`
* allow copying commit author to clipboard
* docs(Config.md): add docs about nerd fonts
* chore(gui): remove todo
* feat(file_icons.go): add Cargo.toml icons
* fix: improve default editCommandTemplate
* feat(gui): show remote icons
* feat(gui): show branch icons
* feat(gui): show commit icons
* feat(gui): show file icons
* Update Custom_Command_Keybindings.md
* Update stashPop and stashDrop setups
* Add integration tests
* add highlighting docs
* better upstream changes presentation
* allow hiding bottom line
* Remove stash_Copy test
* Add integration tests
* better weight distribution in window arrangement
* always show list counts
* restore highlighting of popup messages
* add scrollbars
* do not highlight line if there are no items to display
* better appearance for reverse attribute
* clearer highlighting of current line
* fix(loaders/file.go): fix not to trim renamed file names
* update integration test notes
* refactor: explicitly add alternative keybinding
* docs: add alternative keybinding to scroll up/down main panel
* The four horsemen of stashing
* Refresh BRANCHES and COMMITS after (un)staging upstream
* There\'s gotta be a better way for initial content
* Add option to (un)set upstream for a local branch
* doc: add missing provider
* feat: pull request support for bitbucket server
* Add option to stash only unstaged files
* Make worktrees work
* Update CONTRIBUTING.md
* chore: typo hunting ft. codespell
* feat(merge_panel): Add open/edit files in merge conflict panel
* fix: fix diff of renamed files
* fix commit description
* introduce Ref interface
* add `Commit.ParentRefName()`
* fix loaders
* feat: fix permission problem of temp dirs
* chore: remove dead code
* pkg/gui: Use \'alert\' popups instead of \'confirm\' popups where appropriate
* pkg/gui: Rename IPopupHandler::Ask() to Confirm()
* pkg/gui: Show notification popup when update was successful
* i18n: Make user-facing strings in the updater translatable
* pkg/gui: Add support for \'notification\' popups
* [fix] Fixed Dockerfile
* reduce glitchiness of patch building mode
* update cheatsheets
* allow amending and reverting commits when filtering by file
* better colour
* fix copy for merge confirmation
* better logging for stash flow
* add menu keybindings for various things
* use colour
* allow menu to store keybindings for quick menu navigation
* require hitting escape to exit menu panel
* remove controllers struct
* refactor menu context
* add type alias for Key
* show stdout in error message if stderr is blank
* refactor integration tests
* honour push.default matching config value
* add git fetch prune integration test
* pkg/gui: Fix crash if auto-fetch interval is non-positive
* config: Add option \'git.autoRefresh\' to en-/disable auto-refresh
* don\'t hide transient views upon losing focus
* show namesake for child views
* support viewing commits of reflog entry and show better view title
* better wording again
* fix cherry picking bug
* refactor to make code clearer
* add basic commits controller for handling actions that apply to all commit contexts
* Add copy commit attributes option
* no more naked returns
* reorder
* refactor todo file generation
* simplify
* refactor cheatsheet generator
* more things
* no more filterThenMap
* rename
* would you believe that I\'m adding even more generics
* many more generics
* more generics
* lots more generics
* make more use of generics
* add gone branches status
* skip flakey bisect test
* add confirmation before performing undo or redo action
* safe reword
* allow adding whole diff to patch
* diff colour for reflog commits
* pkg/commands: Don\'t duplicate line breaks when retrieving commit message
* docs: Add section about code formatting to contributors guide
* update linters
* use generics to DRY up context code
* pkg/updates: Fix resource availability check in Updater
* update go to v1.18
* update cheatsheets
* go mod vendor
* prevent early exit from setup script
* add host helper
* clean up keybindings menu
* softcode keybinding
* move keybindings
* fix click handling
* fix integration tests
* rename handlers
* update cheatsheet
* move workspace reset menu into controller
* add remote branches controller
* update cheatsheets
* remove dead code
* fix integration test
* abbrev all commits to length 40 for consistency
* use correct context
* remove dead code
* refactor custom commands
* prevent interrupting confirmation panel
* refactor credential handling
* move function
* integration test for multiline commit message
* better naming
* add commit message controller
* use PopContext
* add commit files controller
* refactor custom commands panel
* stash controller
* include stash in commitish controller
* move git flow
* refactor
* add common commit controller
* add subcommits controller
* cleanup
* reflog controller
* more consistent naming
* fix CI
* remove dead code
* ensure we retain state when returning to submodule parent
* defend against view not yet having a context defined against it
* appease linter
* fix cheatsheet crash
* refactor controllers
* controller for viewing sub commits
* rename OSCommand field to os
* refactor contexts
* working again
* more refactoring
* add global controller
* refactor keybindings
* no more indirection
* resetting controllers on new repo
* fix integration test
* fix suggestions panel
* some more refactoring
* pretty sure we can rely on our views existing before our contexts do
* fix linting
* move commit files context into new structure
* move more view model logic into the files view model
* migrate files context to new structure
* cleaning up
* moving more into controllers package
* no need to invoke sync controller here
* always fast forward
* remove redundant popup checks
* move helpers into their own struct
* standardise naming
* add actions abstraction
* move all refresh code into the one file
* move context keys into context package
* refactor contexts code
* avoid deadlock
* use type switch instead of type key
* fix some things
* start moving commit panel handlers into controller
* start refactoring gui
* rename field
* Only read env once when recording dirs
* Record current directory on switch
* Fri Mar 18 2022 Dead Mozay dead_mozayAATTopensuse.org- Update to version 0.34:
* allow skipping confirmation prompt after opening subprocess
* refactor: 💡 Use new approach introduced via #1637
* docs: Let \'Tag\' badge in README.md link to Github \'Releases\' page
* docs: Remove \'GolangCI\' badge from README.md
* Use editFileAtLine method for line by line panel
* open code in existing window
* Support line offset for most common editors by default
* ignore current user language when generating cheatsheets
* Sat Feb 19 2022 Dead Mozay dead_mozayAATTopensuse.org- Update to version 0.33:
* fix & polish Chinese intro message
* Add shared function for loading map of custom colors
* Add configurable colors for branch prefixes
* \'git-rev parse\' should be \'git rev-parse\'
* generate snapshot for expected dir in separate tmp dir
* add submodule integration tests
* simplify submodule remove
* ensure stash panel refreshes
* stop retrying due to index lock for now
* better locking of merge panel state
* add debugging section to contributor guide
* show only merge conflict files when there are merge conflicts
* select current bisect commit even if bisect was started on another branch
* add another bisect integration test
* better rendering of bisect markets in commits panel
* only show commits from start ref if bad commit is reachable from there
* add a file close that was missed
* improve merge conflict flow
* fix reflog failing to properly refresh
* redo commit revert integration test
* allow running integration tests at original speed
* Fixed the issue with linting
* ISSUE 1706: Ask confirmation before reverting a commit
* fixed indentation by swapping spaces for tabs
* add tests specific for URL escaping in PRs
* update unit tests not expecting url escaping
* add URL encoding in pull request branch names
* go get github.com/gdamore/tcell/v2AATT66f061b1
* stop skipping stash warnings
* always refresh after stash action
* better bisect script
* exclude interactive rebase TODO commits from commit graph
* properly resolve cyclic dependency
* add support for git bisect
* check returned error (if any) from UpdateWindowTitle
* remove redundant title-setting shell command args
* invoke title-setting shell command appropriately
* set repo name as window title when loading repo, fix #1691
* fix: custom service usage
* softer auto-generation message
* update contributing docs
* refactor to group up more commonly used git command stuff
* the gods will judge me
* another integration test
* fix integration test which was actually asserting incorrect behaviour
* fix integration test
* add integration test for deleting a range of lines in the staging panel
* do not show branch graph when in filtering mode
* Mon Jan 17 2022 Dead Mozay dead_mozayAATTopensuse.org- Update to version 0.32.2:
* do not show branch graph when in filtering mode
* add git bisect run script
* add integration test for merge conflicts resolved externally
* add integration test for staging view
* fix merge scroll bug
* fix bug with subprocess
* fix bug which prevented quitting with confirm
* see if this fixes CI linting
* always specify upstream when pushing/pulling
* avoid deadlock in merge panel
* stop refreshing the screen so much
* Sat Jan 15 2022 Dead Mozay dead_mozayAATTopensuse.org- Update to version 0.32.1:
* add complex custom command integration test
* fix issue where custom command would not open a menu
* Fri Jan 14 2022 Dead Mozay dead_mozayAATTopensuse.org- Update to version 0.32:
* work with absolute paths when invoked with --path
* fewer panics
* add integration test for rewording old commit
* add integration test for discarding old files
* fix formatting
* allow rewording old commits
* add newline after message because it looks like the message doesn\'t appear otherwise for some reason
* more refactoring
* add integration test for entering credentials
* use a string builder for credential checking
* refactor code for handling credential requests
* fix test
* restore field
* add some more linters
* fix test
* pass repo to struct
* fix bug that caused credentials popup to be raised unexpectedly
* fix format issue
* shorten name
* refactor
* fix tests
* WIP
* rearrange
* trim down gitcommand struct some more
* support general git config calls
* refactor git flow
* start removing direct calls to cmd.New from gui
* remove field
* remove repo field
* remove OSCommand field
* refactor
* start breaking up git struct
* bump gocui
* use bright colors for highlighting
* remove log of error now that we\'re returning it normally
* also test for empty prefill after successful commit
* remove redundant commit
* rename variable to failedCommitMessage
* test remembering the commit message for a failing commit
* don\'t ignore error when commit with subprocess fails
* remember the message if commit fails
* simplify fetch
* fix some things
* refactor
* privatise some fields
* simplify how we log commands
* move lint into ci yaml
* add cheatsheet check script
* make it clear that keybinding cheat sheets are auto-generated
* update tests
* appease golangci-lint
* small change
* small copy changes
* fix broken format call
* do dependency injection up front and in one place
* no more mocking command
* WIP
* more test refactoring
* refactor sync test
* refactor files_test.go
* stash and tags loaders
* move remotes loader into loaders package
* move reflog commit loader into loaders package
* WIP
* WIP
* more refactoring
* WIP
* updating specs
* better typing for rebase mode
* fix logging
* refactor
* WIP
* refactoring the config struct
* align Gui struct with GitCommand
* no more config in git command struct
* introduce Common struct for passing around common stuff
* WIP
* fix integration test
* refactor to rename pull_request to hosting_service and apply SRP
* allow opening a commit in the browser
* use custom handler only for branch commits context
* add binding to go to bottom on lists
* fix pushTag test by adding extra enter
* set tag index directly
* fix tags integration tests
* add annotated tag integration test
* update docs on integration tests
* change formatting for menu items
* set show cancel as true for tag menu
* update translations to match conventions
* show tag menu for creation on tags tab
* support creating annotated tags
* handle ssh protocol
* refactor to use regex for matching git service URL
* add FindNamedMatches function in utils
* Suggest existing remote for non-tracking branch
* Use \"reword\" for amending a commit message everywhere
* chore: add funtoo linux instructions
* implement signoff
* add signoff config
* fix typo
* support config unified color for commit authors
* wrap branch names in quotes
* change branch regex to only grab the first remote on each line of branch command
* fix show filetree default value in docs
* add popup handler for easier testing
* more efficient context diff size changing
* Refresh staging- or patch building panel when rendering their respective context
* Add a menu entry and keybinding to `{` for decreasing the context size
* Add a menu item and keybinding to `}` to increase the context size
* Add the `DecreaseContextInDiffView` function
* Add the `IncreaseContextInDiffView` function
* Use `DiffContextSize` in `ShowStashEntryCmdStr`
* Use `DiffContextSize` in `ShowCmdStr`
* Use `DiffContextSize` in `ShowFileDiffStr`
* Use `DiffContextSize` in `WorkTreeFileDiffCmdStr`
* Add the `DiffContextSize` setting to `GitConfig`
* Fix: Don\'t access a view if it\'s `nil`
* Update README.md
* Thu Jan 13 2022 ecsos - Remove BuildRequires: golang-github-kr-pty because it\'s deprecated and new package golang-github-crack-pty is already in vendor.tar.- Run spec-cleaner.
* Mon Nov 22 2021 Dead Mozay dead_mozayAATTopensuse.org- Update to version 0.31.4:
* fix delta again
* fix chinese translate
* Wed Nov 10 2021 Dead Mozay dead_mozayAATTopensuse.org- Update to version 0.31.3:
* fix scrolling in sub commits panel
* Sun Nov 07 2021 Dead Mozay dead_mozayAATTopensuse.org- Update to version 0.31.2:
* restore some code that was erroneously removed
* Fri Nov 05 2021 Dead Mozay dead_mozayAATTopensuse.org- Update to version 0.31:
* refactor
* more consistent rendering
* fix bug
* some more throttling stuff
* add menu options for log stuff
* support scrolling left and right
* add some config
* render commit graph
* some refactoring in anticipation of the graph feature
* add graph algorithm
* support aborting a merge or rebase with esc
* better formatting
* fix truncation
* support scrolling the list in the integrations app
* fix crash
* support user-configurable author colours
* show author info in rebase commits
* move author name colouring code into its own file
* fix yet another issue with indentation
* fix another issue with indentation
* fix issue with indentation
* only use a single initial for double sized runes
* Fix multibyte initial characters
* associate random colours with authors
* stream output from certain git commands in command log panel
* fix commit message prefix thingo
* Tue Oct 26 2021 Dead Mozay dead_mozayAATTopensuse.org- Update to version 0.30.1:
* fix commit message prefix thingo
* Sat Oct 23 2021 Dead Mozay dead_mozayAATTopensuse.org- Update to version 0.30:
* easier hiding of command log
* add more suggestions
* show suggestions when typing in an origin
* use cached git config
* show filetree by default
* Add variable to simplify JumpToBlock keybinding
* Improve JumpToBlock keybinding functionality
* Add JumpToBlock keybinding
* fix merge conflict scrolling
* add tests for dealing with remotes
* simplify pull logic
* fix issue where upstream origin and branch were quoted together
* suggest files when picking a path to filter on
* Improve backward compatibility
* better title rendering
* support home/end keys in editors
* stop opening suggestions tab when no suggestions present
* surface error when trying to set upstream
* stop resetting scroll all the time
* small fixes
* Enable/disable os specific tests at compile time
* Use replacer
* Escape special characters
* Update polish.go
* copy selected text to clipboard
* Allow having multiple config files
* Quote ref names and branches
* Quote branch names and remote names
* Improve Chinese translation
* Fix git-remote commands
* Fix error prompt when new tag name starts with \'--\'
* Fix crash when new submodule url contains double quotes
* Fix crash when try to ignore tracked files
* Fix text formatting
* Update pkg/theme/theme.go
* Update pkg/theme/theme.go
* Use simpler short variable declaration
* Tidy of spacing on GetDefaultConfig in user_config
* Make cherry pick commit color customisable
* Save patch files in TempDir
* fix some encodings
* honour options menu press
* Fix crash on remove tracked files #1480
* Remove unused strings
* Format code to pass lint
* Fix deletion of unmerged branches in languages other than English
* remove unused dep replacement in go.mod
* fix chinese translate
* Fix misspells
* allow user to configure the gui language
* Address feedback
* Minor refactor
* Fix translations
* Fix `pick all hunks`
* simplify merge panel logic
* add mergeConflict#hasAncestor
* Fix conflict resolution
* Support `git config merge.conflictStyle diff3`
* Limit to security updates
* Add dependabot config for dependency updates
* Change not to use cat command
* Update as per review and add tests
* Move field names to translation
* Implement state filtering for commit files
* Fix panic in merge conflict
* apply suggestion for the document of editCommandTemplate
* add documentation of editCommandTemplate
* fix backward compatibility
* fix out of range error
* introduce edit command template to open a specifig line of a file
* Tue Aug 17 2021 ecsosAATTopensuse.org- Update to version 0.29:
* Remove unused constant
* Fix error when filename contains ` -> `
* Fix staged renamed file with unstaged changes displays incorrectly in Files view #1408
* Sat Jun 05 2021 ecsosAATTopensuse.org- Update to version 0.28.2:
* prevent closure issue
* not importing regexp
* more explicit
* Discard value after END marker
* More generic merge conflict detection
* Better english for `Configuring File Editing`.
* Docs for EditCommand.
* Edit command as user OS config option
* Simplify sorting of git tags by using git\'s functions
* Remove config, make default sort order `descending`
* Add user config to change the sort order of tags
* Remove origin prefix when creating local branch based from origin
* Handle alternate merge conflict format; add tests
* Add global binding to open recent repos
* Tue Apr 20 2021 ecsosAATTopensuse.org- Update to version 0.28.1:
* Fix englishIntroPopupMessage typo in english.go
* update release notes
* ignore east asian width setting to avoid broken frame rendering
* smarter sizing of command log panel
* refactor merge panel
* refactor line by line panel
* force cursor to be at end of line when opening confirmation panel
* bubble up tracked files in flat file view
* Fix typo: scrool -> scroll
* update keybindings
* fix race condition
* better squash description
* allow hiding random tip
* fix rendering issues caused by resizing
* bump gocui to fix resizing issue
* linting
* fix up doc
* add random tip to command log
* make command log size configurable
* print header for command log
* add spans to i18n
* pull out function
* ask question button
* prettify config.md
* fix test
* allow focusing on command log view
* more support for command log and more code reuse for contexts
* allow showing, hiding, and scrolling the extras panel
* support static boxes that go outside the available size
* support scrolling extras view
* log TODO content when interactive rebasing
* no need to log this
* full coverage for logging commands
* more logging of commands
* fix bug where mixed reset is actually a soft reset
* start adding support for logging of commands
* add cmdLog panel
* Sat Apr 17 2021 ecsosAATTopensuse.org- Update to version 0.27.4:
* update config.md to explain situation with config paths
* Fix path for Linux config file
* update release notes
* allow opening merge tool
* better way of scrolling to a merge conflict
* fix merge conflict panel not rendering
* pause background threads when running subprocess
* fix commit amend
* reduce flicker without worrying about carriage returns
* potentially fix credentials issue
* stricter CI
* fix crash at start
* revert no-flicker due to carriage return weirdness
* support file tree mode on windows
* add test for building tree
* close commit message panel after returning from subprocess
* fix CI
* fix crash on first open
* fix broken link to old AUR package
* Wed Apr 07 2021 Dead Mozay dead_mozayAATTopensuse.org- Update to version 0.27:
* add 0.27 release notes
* don\'t kill the index.lock file until I decide whether it\'s actually a good idea
* skip some tests that are failing on CI for some reason
* amend reword test
* prevent adding staged files when renaming top commit
* restore contents on resume from subprocess
* fix flicker issue in main view
* hide patch panel if we\'re in the commits panel and we refresh and it\'s now exited
* reduce chance of deadlock by using a RW mutex on the context stack
* remove junk test
* more tests for branches
* ensure we\'re passing the right testing struct pointer around
* stop checking out branches when doing a rename. Instead just move the cursor to the new position
* branch rename test
* more tests
* more tests
* even slower retries for CI
* update test descriptions
* do not refresh patch panel unless commit files panel is the current side panel
* add tests for diffing
* prevent deadlocks.
* move suggestions view behind confirmation view
* more tests
* update snapshots to include tags comparison
* fix bug with tags panel
* another filter path test
* add another filter path test
* marginally better logic for searching
* allow opening diff menu panel when other popup is open
* allow opening filter menu panel when other popup is open
* do not double-append contexts to the stack
* show error when user attempts to commit when no files are present
* update keybindings
* change language
* add comment
* change order of filtering and patch building so that esc key exits patch building mode first
* add filter path test
* support passing extra command args in integration tests
* default to not quitting when hitting esc at the top level.
* much cleaner integration test code
* tiny refactor
* allow decimal replay speeds for integration tests
* fix windows compilation issue
* remove time limit
* try better logging for CI
* retry flakey tests
* add retry logic for running git commands to avoid index.lock problems
* speed up test
* allow playing and updating snapshots
* prevent git from prompting user if program is run directly
* minor cleanup of integration code
* remove caching of styles in gocui
* fix issue when switching repos while files refresh
* bump gocui
* ignore clicks on invisible views
* update comment
* remove code that I\'m pretty sure isn\'t needed
* only re-use repo state when jumping in and out of submodules
* Revert \"see how CI goes running these tests in parallel\"
* see how CI goes running these tests in parallel
* show branches context when starting in filtering mode
* how about using pty
* maybe this will fix CI
* more lint fixes
* try this
* fix lint issues
* make it more likely for CI to work
* update squash integration test
* update searching tests
* update patch building with filetree test
* update patch building 2 test
* update patch building test
* update merge conflict test
* update merge conflict undo test
* no need for debug flag because it writes to a different log anyway
* update discard file changes test
* update branch autocomplete integration test
* support tcell simulation screen
* working on integration tests working again
* remove mutex lock that caused deadlock
* minor refactor
* move recording code into gocui
* more refactoring
* fix bug where searching through view got stuck if you went over the upper bound
* small refactor
* more refactoring
* fix some things up
* test
* WIP
* WIP
* WIP
* WIP
* remove sentinel errors
* refactor
* refactor to get view tab context map into gui state
* refresh main panel when switching between tree and flat mode
* switching repos without restarting the gui
* refactor of contexts and filtering
* more efficient gocui
* use suspense rather than close the gui when switching to a subprocess
* fix comment
* fix bug where you couldn\'t change tabs
* fix bug where we had two sets of contexts with their own state
* reset origin when clicking new item
* fix panic
* get rid of these positively ghastly method signatures
* better scroll support
* support alt-enter for inserting newline when typing commit message within the app
* fix commit message panel
* allow scrolling when staging lines or building patch
* bump gocui
* prioritise keybindings on editors
* bump gocui again
* bump gocui
* remove 24 bit color delta arg from docs
* support backtab key
* get tcell to cleanup the terminal if we panic
* use true output mode
* go mod tidy
* bum pgocui
* bump gocui
* no more termbox
* stop referencing termbox
* use tcell via porting over code from awesome-gocui
* fix merge conflict cat issue on windows
* linting
* another integration test
* safer code
* add merge conflict undo integration test
* add integration UI to make the integration process easier
* more thorough merge conflict integration test
* do not jump cursor around when fixing merge conflicts
* better handling of scrolling for conflicted files
* refactor
* add mutex to prevent crashes with merge conflicts
* fix name
* fix bug caused by interface
* remove dead code
* hide commit files view upon losing focus because you probably don\'t want it lingering anyway
* refactor
* big refactor to give our enums actual types
* refactor to no longer call these things file changes
* allow toggling tree view for commit files panel
* disallow editing commit file directory
* better colouring for directories for when adding a patch
* do not show commit files of another parent as added to the patch
* refactor
* file tree for commit files
* refactor to support commit file tree
* Update README.md
* Update Config.md
* Update Config.md
* support GIT_EDITOR
* shell out custom commands
* faster startup
* refactor
* same for renames
* expand to path when switching to tree mode
* fix background colour on selected line
* refactor
* prevent staging directory containing files with inline merge conflicts
* rename function
* make fields private
* refactor
* small refactor
* rename
* small fixes
* remove collapsed field
* fix spec
* fix spec
* fix spec
* update cheatsheets
* fix comment
* better way to check if a node is a leaf
* refactor
* rename some things
* small thing
* allow configuring to show file tree on startup
* drop Name field from status line node
* bring merge conflicts to top
* safer code
* more functional approach
* better handling of cursor relocation
* handle nothing selected
* better handling of refreshed files
* allow toggling on/off file tree mode
* more file tree improvements
* allow ignoring directories
* support some more things
* support discarding changes in dir
* update wording
* fix bug for combining directories with single child
* support toggling collapsed
* fix spacing
* combining nodes when only one child exists
* showing changes for directories
* more improvements
* better tree formatting
* WIP
* defend against race condition in editors
* fix panic for unprintable key presses
* better handling of discarding files
* fix renamed files looking wrong
* update release notes
* Fix edit remote name message
* remove redundant addition
* Fix tests
* Support multibyte characters in pane
* Fix staging/unstaging filenames that starts with `-` or `--`
* Fix staging/unstaging files containing `\"` in paths
* Support multibyte characters in `Files` pane
* fix command escaping
* Fix the linux config path (related: #913, #1059)
* reload config whenever returning to gui
* Wed Feb 24 2021 Dead Mozay dead_mozayAATTopensuse.org- Update to version 0.25.1:
* gui: ReplaceAll -> Replace
* Switch to Go 1.16 to support macOS arm64
* Fix pattern in commitPrefix example
* add colors to differentiate action and menu commands
* Fixed whitespace format issue
* Added initialContent on branch rename
* update cheatsheet
* support wide characters in the editor
* fix lint error
* remove go-gitconfig package
* add secureexec file for getting around windows checking for a binary first in the current dir
* Adding setup and config
* added support for using spaces on branch names when creating new ones.
* fix type: executable not found error when there is a merge conflict on windows
* Fri Dec 25 2020 Dead Mozay dead_mozayAATTopensuse.org- Update to version 0.24.2:
* workflows: setup git before PPA repo updating
* workflows: split CD into separate jobs
* Update Custom_Command_Keybindings.md
* add integration test for branch checkout autocomplete
* soft code finding of suggestions
* support labels for suggestions which are distinct from values
* refactor prompt opts
* Start on supporting auto-suggestions when checking out a branch
* Add lc prefix
* Visualize the commits for all branches
* Add notARepository description to config docs
* Fix formatting on notARepository checks
* Add notARepository to config docs
* Add config option for notInRepo behaviour.
* standardise how we read from the config
* Implement suggestions
* Switch the directory check
* A small change that enables direct lazygit directory config
* :ok_hand: update as per PR commentary
* :bug: should only stage all if configured to do so _and_ there are no items staged
* :sparkles: implement quick commit when no files staged, if configured to do so
* added tests and fixed bug found in tests
* Allow --follow-tags to be disabled if push.followTags is configured to false
* notify user upon copying something to clipboard
* toast notifications
* Added a reference to chocolatey in README
* Change copy PR mapping to and use gui.Tr for the message
* Add mapping to copy a pull request URL to the clipboard
* add minimum macos version 10.10 to the README
* workflows: update apt cache before installing pkgs
* prevent crash when removing remote with no urls
* Wed Oct 14 2020 Dead Mozay dead_mozayAATTopensuse.org- Update to version 0.23.5:
* workflows: don\'t sign commit
* workflows: run CD on Ubuntu 20.04
* utils: ReplaceAll -> Replace
* workflows: update PPA repo as part of CD process
* support rebinding confirm/newline keys in editor
* preserve width of side panel when main view split unless window is wide enough
* Copy a commit message to clipboard: Changes to latest version
* more password checks on commands that talk to the remote
* Mon Oct 12 2020 Dead Mozay dead_mozayAATTopensuse.org- Update to version 0.23.2:
* update in-app release notes
* return default config when dealing with read only filesystem rather than create new config file
* quote config file when editing
* fix delta
* Add SSH key passphrase prompt to pull/push from/to remote git repo
* fix up intro text even more
* fix up intro text
* fix submodule tab colour
* release notes in status panel
* for some reason the commit files view was on top
* fix go.mod and go.sum
* install lazygit at beginning of test suite
* fix mutex deadlock
* fix another panic error
* fix nil view keybinding panic
* do not put mutexes on state else we might unlock an unlocked mutex
* add some safe goroutines
* small changes
* store everything you need to know about a test in its directory
* more mutex safety with staging panel
* stop using snapshots
* configurable speeds
* stop using snapshot just store the actual resultant repo
* support running integration tests in parallel
* fix CI
* fall back to slower speed if test fails
* fix loop logic
* another integration test
* paging keybindings for line by line panel
* another integration test
* add merge conflicts integration test
* heed gocui stopping
* kill process if nothing happens two seconds after final event
* add another integration test
* support configurable config
* better interface
* this is so cool
* support integration testing
* support recording sessions for testing purposes
* type i18n
* have typed default config
* store popup version in state not config so that we never need to write to the user config
* remove viper
* Create Integration_Tests.md
* bump go-git to fix invalid merge error
* switch to fork of go-git
* Add error panel.
* Ignore \"i\" command if the filename is .gitignore
* dont close over loop variables ugh I hate this language feature
* fix windows CI
* update keybindings
* fix test
* use path not name
* dont really need this
* bulk submodule menu
* stop refreshing item when at end of list
* allow updating submodule
* allow submodule init and show submodule diff with a prefix
* improved command for deleting a submodule
* manually update submodule url
* add mutexes for when looping through views
* allow updating submodule url
* allow adding a submodule
* add more submodule commands
* add submodules context
* make it easier to add a tab to a view
* Update README.md
* Limitations Section sentence mixup corrected
* add mutex to views array
* fix windows build
* move models folder into commands folder
* fix tests
* factor out code from git.go
* factor out code for loading models
* move OS commands into their own package
* move commit files
* move stash panel
* move file and submodule
* move remotes and remote branches
* move tags
* move commits model into models package
* pull branch model out into models package
* fix tests
* tell users we\'re going to reset submodules
* format code
* allow entering and returning from submodule
* support nuking all submodules
* support discarding submodule changes
* support submodules
* support opening lazygit in a symlinked submodule
* missed a spot
* move git dir env stuff into a centralised package
* do not include bare repos in recent repos list
* unset GIT_WORK_TREE and GIT_DIR when switching repos
* support bare repositories
* Update Config.md
* support setting description in custom command
* Update Custom_Command_Keybindings.md
* bump gocui
* better handling of global custom keybindings
* Update Custom_Command_Keybindings.md
* Update README.md
* remove resources folder now that we\'re using the assets branch
* point to assets branch
* Update Config.md
* Update Undoing.md
* Update Custom_Command_Keybindings.md
* Update README.md
* add custom command keybindings doc
* better validation messages
* support custom command loading text
* rename prompt to input
* fallback to value if name not given
* better template support for menus and prompts
* support menus in custom commands
* support prompts in custom commands
* minor fixup
* better interface
* support custom keybindings
* more lenient handling of views not existing
* fix panic
* refresh commit files view when needed
* convert to string in a better way because I\'m pretty sure alpine needs it
* use --no-ext-diff flag for git diff
* tidy go.sum
* better documentation
* more logging
* add in-built logging support for a better dev experience
* Update README.md
* Update README.md
* Change the descriptions to lowercase
* Update pkg/i18n/english.go
* Be able to copy file name
* smarter checking of git version
* better flag description
* Fri Sep 18 2020 dead_mozayAATTopensuse.org- Update to version 0.22.6:
* show loading state when amending top commit
* Fix numbering in Dutch IntroPopupMessage
* Fix numbering in English IntroPopupMessage
* ensure that when a branch name is ambiguous we still show the correct colours
* use GetBool instead of casting
* implement config option for disabling force pushing
* add config for disabling force pushing
* fast UI update when moving commits in rebase mode
* restore donate link
* gracefully fail due to git version less than 2.0
* more efficient refreshing of rebase commits
* drop merge commits when interactive rebasing just like git CLI
* remove redundant test
* support branches with no upstream
* better way of knowing which commits are unpushed
* fix bug where cancelling search in menu caused issue
* do not create error panel for sentinel errors
* use clipboard package to handle clipboard stuff
* Remove tab keybinding for cycling tab
* use new branch logic when \'checking out\' remote branch
* workflows: run CI on master or pull request only
* workflows: match every branch
* better keybinding (\'W\') for viewing diff
* do not reset cursor unless previous file has moved position
* bump creack
* add log when git status errors
* ignore warning messages about files when obtaining file statuses
* prevent moving cursor past last character in prompt modal
* prevent moving cursor past last character in prompt modal
* support alacritty
* Return whether the context has a parent or not along with that parent
* allow spamming the p key
* fix focus change on merge popup return
* when in the remote branches view, prefill name for creating branch off of remote branch
* bump gocui to ensure no crash on startup
* set keybindings after initialising views
* safer getting of branch
* check for missing view when scrolling
* rename Status to PatchStatus
* enlargen stash window when its focused
* better handling of there being no commit files
* show file statuses in commit files view
* format
* prefill remote edit prompts
* hide secondary view when escaping patch building panel
* always reset branch selected index when creating new branch
* we\'ve now flipped the boolean
* allow explicitly managing focus
* use context to return to the correct view
* attempt at fixing bad lazyloading
* run task for appropriate view
* fix up patch manager
* prevent spamming pull or push buttons
* fix logic for entering merging panel
* centralise logic for rendering options map
* use constants
* ensure there is always a current context
* cleanup
* minor refactor
* cleanup of list context file
* remove dead code
* use actual keys
* carry more mode state across after returning from subprocess
* more accurate comment
* more standardising modes
* unused method
* comment these things out because we\'re not using them yet
* remove todo comment
* remove test
* cleanup now that we\'re always using the same diff command
* support creating patches from files in diff mode
* minor rename
* don\'t needlessly load every file
* stop loading all the diffs at once now that we load them as we go
* faster patch manager
* handle diffing and filtering by file in commit files view
* deal with the fact that a nil wrapped in an interface is not equal to nil
* support drilling down into the files of a diff
* centralise code for copying to clipboard
* more cherry picking stuff, mostly around the reflog
* better handling of our different modes and also cherry picking
* refactor how we handle different modes
* more cherry picking code into its own file
* move into more appropriate file
* add description field to ListItem interface
* try allowing creating branches off the stash too
* genericise creating new branches off things
* rename to make way for a generic function name
* when toggling files reset patch manager if patch ends up empty
* allow getting the current item generically
* add sub commit context
* show when building patch
* only return focus if we already have it
* escape patch building mode on hitting escape at the top level
* remove sdump
* remove clipboard option for now because we need a better way of doing it
* don\'t panic
* more
* missed a spot
* refactor
* better menu item name
* only show rebasey commands on a local commit when patch building
* generalise patch building stuff
* rename Sha to parent now that we\'re also considering stash entries
* slightly better
* commit files kind of generalised
* allowing commit files to be viewed in reflog as well
* stop logging stack
* remove unnecessary function
* statically define context keys
* WIP constants for context keys
* rename to SelectedLineIdx
* use interface for panel state rather than pointer
* WIP
* remove comment
* use camelCase
* some more standardisation for diffing
* standardise diffmode
* more standardisation
* some more things
* update naming to refer to context
* WIP
* WIP
* more stuff
* WIP
* WIP
* more standardisation of rendering
* good progress
* prepare for OnRender prop
* introduce new approach to handling tab states
* stop crash due to context stack not being initialized
* centralise setting of main views context
* concurrent-safe handling of context state
* more standardisation
* WIP
* WIP
* WIP
* WIP: standardising how we render to main
* centralise split main panel code
* better logic for taking focus away from popup panels
* move into list context file
* rename context file
* move context specific keybindings into context file
* minor update
* lots more stuff
* dont check for error when sending view to bottom
* hide view if not specified in dimensions object
* no need to set views on top anymore
* return nil when no file selected
* WIP
* small things
* standardise getting selected item
* remove previous view
* WIP
* WIP
* WIP
* centralise some list view code
* Add GitUI to alternatives in readme
* Update README.md
* remove space as keybinding for confirmation panel
* allow overriding default confirm/escape keybindings
* support opening lazygit outside a git directory
* add keybinding to create new branch off of commit
* support multi word editor config
* prefill commit reword editor
* move cursor to right when using auto prefix
* better popups
* remove anonymous reporting popup cos we dont do it anymore anyway
* refactor list view
* more removing of g
* more removing of g and v
* files view
* status view
* menu view
* fix remote branches select sig
* fix remotes select sig
* fix branches select sig
* rename
* clean up interface for popup panels
* update cheatsheet
* move patch stuff into its own package
* allow opening files on the selected line in the staging panel
* add specs to boxlayout package
* move box layout stuff into its own package
* allow configurable main panel split
* support accordian mode i.e. expanding focused side panels
* set minimum confirmation box width
* more lenient for switching into portrait mode
* centralise logic for information section
* more work on new layout functionality
* softcode cyclable views
* some more changes
* move some things around
* add portrait mode for when the window is really tall
* refactor how we handle layouts
* support force push after failure
* allow rebasing onto remote branch
* immediately quit when pressing q in diff or filter mode
* accept umlaut keybindings
* use remote prefixed branch name when merging remote branch
* allow entering a password when fast forwarding another branch
* rename arg
* lowercase function name
* stop pulling in general
* minor refactor
* update config
* support multiple modes of git pull
* update naming
* pass callback directly
* minor cleanup
* simplify patch modifier interface
* Update dutch translations
* follow cursor when staging and unstaging a file rename
* allow renames to be discarded
* cleanup
* Add tab keybinding in commit message
* allow editing commit files
* better logic for staging a renamed file
* Decouple escaping from quitting
* add solus linux installation info
* prompt to create new branch if branch not found
* prompt to commit all files if committing with no staged files
* fix TestGitCommandCommit test
* revert changes to \'os_default_platform.go\' and \'os_windows.go\'
* use strconv for quoting in \'GitCommand.Commit\' and \'OSCommand.ShellCommandFromString\' use raw strings for the escaped quotes in \'os_default_platform.go\' and \'os_windows.go\'
* goreleaser: fix deprecation and comment
* Tue Jul 14 2020 dead_mozayAATTopensuse.org- Update to version 0.20.8:
* factor out duplicate code into \'ShellCommandFromString\'
* add quotes around the git commit command on non-windows systems
* Mon Jul 13 2020 dead_mozayAATTopensuse.org- Update to version 0.20.6:
* add overrideGpg switch to Config.md
* Added ENTRYPOINT to Dockerfile to jump directly into lazy git while running the docker container
* fix \'Amend commit using gpg\' test
* fix \'Commit using gpg\' test
* fix platform specific quoting when using GPG fixes #620
* Remove getLocalGitConfig
* Rename appconfig to config
* fix tests
* add oneline-graph
* Update example keybinding config for Colemak users
* add overrideGpg switch, which prevents lazygit from spawning a separate process when using GPG
* Better CWD check for a git repository.
* Tue May 19 2020 dead_mozayAATTopensuse.org- Update to version 0.20.4:
* allow user to scroll themselves inside merge panel
* fix race condition when scrolling to merge conflict
* allow creating branches off of remote branches
* fix https://github.com/jesseduffield/lazygit/issues/848
* additional password prompt regex
* check if user has configured to push to current by default
* prevent flicker from bolding background of selected line
* workflows: update bumping action to v3
* Wed May 13 2020 dead-mozayAATTopensuse.org- Update to version 0.20.3:
* standardise how we handle background colours
* bump gocui to be on \'simple\' branch.
* Add option to split patch into a new commit
* Minor fixes
* workflows: update CI triggers
* Add path to config file on Windows
* fix: fixed readme link
* fix issue #640 add catCmd and OS-specific values
* Add FreeBSD installation instructions
* totally screwed up the last commit
* handle comments in todo files
* fix: fixed yaml typo
* add handler for searching in menu
* Wed May 13 2020 dead-mozayAATTopensuse.org- Update to version 0.20:
*
* Wed Apr 22 2020 dead_mozayAATTopensuse.org- Update to version 0.20.2:
* totally screwed up the last commit
* handle comments in todo files
* fix: fixed yaml typo
* add handler for searching in menu
* Wed Apr 22 2020 dead-mozayAATTopensuse.org- Update to version 0.20:
* warnings for stash actions
* Handle regex compilation errors and show them to the user.
* Add option to set predefined commit message prefix. Fixes #760.
* support configurable merge args
* fix: fixed gpg breaking terminal
* support copying stuff to clipboard
* Mon Mar 30 2020 dead_mozayAATTopensuse.org- Update to version 0.19:
* add reverse patch option
* unbold diff info
* some more UI logic
* better keybinding
* simplify things
* don\'t support files until we understand the use case
* add new diff mode
* remove old diff mode code
* reset main\'s origin when cycling views
* fix conflict race condition
* split reflog commits into ReflogCommits and FilteredReflogCommits
* load reflog commits manually when in filter mode for branches panel
* reset state on each Run() call
* refactor gui.go
* properly reset gui state when restarting or coming back from a subprocess
* rename to filtered mode
* allow scoped mode where the commits/reflog/stash panels are scoped to a file
* fix width of half screen mode
* update cheatsheet
* support lazyloading in commits view
* add keybindings for paging in list panels and jumping to top/bottom
* add workflow for auto-merging
* fix up some things with the patch handling stuff
* autostash changes when pulling file into index
* move working tree state function into git.go
* better error handling
* better documentation
* in fact we don\'t need any of these options
* actually don\'t even bother limiting
* load reflog commits in two stages to speed up startup time
* discard old reflog commits when in new context
* smarter refreshing for tags and remotes
* stop switching focus to commit files view while staging line by line
* smart refreshing files
* more smart refreshing
* better presentation of remotes
* clean up signature
* better refreshing for stash
* more centralised handling of refreshing
* use wait groups when refreshing
* more efficient refreshing
* use reflogs from state to work out branch recencies
* remove redundant fetch of reflog
* use GIT_EDITOR
*
*: update go-git import
* vendor: replace go-git package
* fix links on toc
* Thu Mar 26 2020 dead_mozayAATTopensuse.org- Update to version 0.18:
* allow applying patch directly
* limit size of menu panel
* only load new reflog entries
* relax limit on commit list and reset on branch change
* separate commits from cherry pick state
* better handling of current branch name
* delete unused assets
* another staging gif
* better staging gif
* add staging gif
* add rebasing gif
* change binary releases order
* add table of contents to readme
* more lenient getting of short shas
* workflows: run goreleaser as a build step for CI
* workflows: install gox in separate step in /tmp directory
* goreleaser: stop ignoring arm64 build for freebsd
* go mod vendor
* go mod tidy
* pkg: use upstream pty package
* update cheatsheet
* document undo
* just disallow undo/redo while rebasing because you need more info than just the reflog
* ignore redundant actions when undoing and redoing
* vastly improve the logic for undo and redo
* move into undoing file
* refactor undo and redo
* stateless undos and redos
* more explicit env vars
* support reflog action prefix
* redoing
* add waiting status to checkout ref handler
* undoing status
* note that undo functionality is experimental
* better formatted reflog list
* use reflog undo history pointer
* autostash changes when hard resetting
* undo via rebase
* Made the humor more concise and clear.
* improved spelling
* inject more humor into the README
* Fixed an incorrect criticism of git in the README.
* add tab keybindings
* more compatible commands
* workflows: git fetch --unshallow before goreleaser step
* Mon Mar 23 2020 dead_mozayAATTopensuse.org- Update to version 0.17.3:
* README: remove codecov badge
* workflows: use get-tag action
* goreleaser: ignore arm64 build for freebsd
* Remove redundant semicolon
* Add GOBIN to PATH
* Wording
* Cache builds
* Use setup-go Action instead of container
* Don\'t run codecov or golangci Actions
* Continue if lint step fails
* Run 4 builds in parallel
* Add golangci-lint Action
* Fix typo in script name
* Modify CI badge in README
* Add CI workflow
* Add CD workflow
* Remove homebrew workflow
* Remove circleci config
* show status of selected cherry picked commits
* allow resetting cherry picked commits selection
* fix branch building
* Wed Mar 18 2020 dead_mozayAATTopensuse.org- Update to version 0.17.0:
* add opne menu keybindings in docs
* add close menu keybindings in docs
* fix search keybindings in docs
* better upstream tracking and allow renaming a branch
* add search keybings in docs
* fix keybindings of main panel in docs
* be a bit more lenient
* big golangci-lint cleanup
* Wed Mar 04 2020 dead-mozayAATTopensuse.org- Update to version 0.16.2:
* allow configuring side panel width
* update config
* refactor
* fix test
* more generic way of supporting custom pagers
* supporing custom pagers step 1
* bump gocui
* docs: moved services conf docs to config.md
* chore: keeping coverage up :D
* fix: accidentally escaped %s
* docs: configuration and pull request services\' settings
* fix: owner groups (GitLab)
* feat: flexible service configuration
* feat: configurable services
* better keybindings for patch building mode
* better keybindings for staging by line
* fix cheatsheet script to support different contexts
* Sat Feb 29 2020 dead_mozayAATTopensuse.org- Update to version 0.15.7:
* fix cheatsheet script to support different contexts
* fix keybinds document
* Add scoop install option to README.
* set --abbrev-commit to return 8-digit hash strings
* fix #680: unpushed commits still appear to be green instead of red
* Thu Feb 27 2020 dead-mozayAATTopensuse.org- Update to version 0.15.5:
* Fix OutOfBound array access when looking for ReflogCommits refs #679
* fix bug where commits appeared as green despite not being pushed
* Tue Feb 25 2020 dead-mozayAATTopensuse.org- Update to version 0.15.3:
* do not close over variables in a function
* better logic for checking if we\'re rebasing
* show file list when diffing commits
* color active frames green by default
* refactor the way we render lists
* better commit lines in fullscreen mode
* keybinding doc for nextMatch/prevMatch in Config.md (#659)
* Tue Feb 25 2020 dead-mozayAATTopensuse.org- Update to version 0.15.2:
* refresh commits when adding a tag
* add half and fullscreen modes
* show item counts in frames
* show tags in commits panel
* better handling of clearing the search
* eagerload commits when searching
* support searching in side panels
* switch custom command keybinding to \':\'
* show diff stat
* tasks: don\'t use a function that requires Go 1.12
* allow customizing background color in staging mode
* Reflog: Use 20 sha digits instead of 7
* Thu Feb 20 2020 dead-mozayAATTopensuse.org- Update to version 0.14.4:
* allow fastforwarding the current branch
* fix wording
* add reset to reflog commit menu
* add reset to upstream option on files panel
* add mixed option to HEAD resetting, remove AATT{upstream}
* allow resetting to tag
* allow resetting to remote branch
* allow resetting to branch
* refactor create reset menu logic
* fix specs
* remove old createMenu function
* refactor stash options menu
* refactor git flow menu
* refactor patch options menu panel
* refactor rebase menu panel
* refactor recent repos menu panel
* refactor reflog reset options panel
* refactor workspace reset options panel
* refactor commit reset menu
* continue refactor of menu panel
* begin refactor of menu panel
* Thu Feb 13 2020 dead_mozayAATTopensuse.org- Update to version 0.14.3:
* get whole commit SHA from rebase commits
* refresh current branch graph when side panels refresh
* Fixed tests
* Use 8 instead of 7 digit long sha
* Increase internal sha size
* ignore carriage returns
* Moved function to git.go
* Added feature to ignore tracked files
* Thu Feb 06 2020 dead-mozayAATTopensuse.org- Update to version 0.14.2:
* fix goreleaser
* doc: mention config file location for MacOS
* Added more keybinds
* Added commit keybinding to staging views
* Check cached when showing new file diffs
* correctly compare new main height to previous
* verify that VISUAL,EDITOR,LGCC envvars are set for non-interactive commands
* add a helper to search a list for a pattern
* perpetuate this style of dependency injection
* make amend more non-interactive
* bump gocui
* more ticker improvements
* bump vendor directory
* explicitly tell gocui when to start animating the loader
* only rerender app status when we need to
* close more things when switching repos or to a subprocess
* Update example config for Colemak Keyboard Layout users
* fix keybinding issues with freebsd/openbsd
* fix segfault on line by line panel
* handle files that were deleted downstream but modified upstream
* split main view vertically
* safely unstage lines
* remove rollbar
* make use of branch config when pushing/pulling
* fix comment
* use reflog timestamps rather than commit timestamps to show commit recency
* handle case where file watcher is disabled
* handle when fsnotify doesn\'t work
* Missed a spot with this new string task thing
* use mutexes on escape code
* reset origin when clicking on list item
* bump gocui
* use view line height to see if you should stop scrolling
* keep track of current view when pushing
* allow fast flicking through any list panel
* lazyload commits
* Fri Jan 10 2020 dead_mozayAATTopensuse.org- Update to version 0.13:
* add reflog reset options
* add checkout reflog commit keybinding
* add reflog tab in commits panel
* Wed Jan 08 2020 dead-mozayAATTopensuse.org- Update to version 0.12.3:
* switch to \'i\' for toggling diff commits
* update to new goreleaser schema
* refresh side panels when resetting to upstream
* escape editor path
* add git flow support
* don\'t watch deleted files
* minor fixup
* reduce to 50
* improve file watching
* added a seperate keybinding option for checking out commits
* fix display of menu option keybindings
* cleanup
* customizable keybinding for toggleDiffCommit
* fixed keybinding display in merge_panel.go
* allow commits to be checked out
* allow hard resetting to upstream branch
* Use ASCII on Windows with east asian locale
* updated keybinding config docs
* if statements to map
* PickBothHunks -> pickBothHunks
* README: drop ubuntu daily
* fix applying patch on Windows machine
* make Ctrl+P visible
* README: update ubuntu info
* update dependencies
* Fedora installation instructions
* re-position key names so that the menu will show \'enter\' instead of \'ctrl-m\', or \'esc\' instead of \'ctrl-[\'
* stop the files panel from stealing focus whenever files are refreshed
* added keybinding for fetchRemote
* updated docs/examples
* better error messages
* suggested keybinding improvements
* allow fetching remotes with \'f\'
* fix commit message char count
* bug fix: ctrl+combinations was not showing up in help menu
* better error handling
* added all possible custom keybindings to the documentation
* included default config file path
* exmaple keybindings for colemak users
* fix
* update documentation for custom keybindings
* feature: custom keybindings
* keybindings: alias V -> v
* Thu Dec 05 2019 dead_mozayAATTopensuse.org- Update to version 0.11.3:
* lenient sorting of tags on startup
* support older versions of git when getting remote branches
* unescape another string
* fix typo
* don\'t pass single commands directly to RunCommand (or equivalent function) when it contains percentages.
* fix specs
* couple of things to clean up after rebasing onto master
* give RunCommand the same input signature as fmt.Sprintf
* add tags panel
* allow editing remotes
* Thu Dec 05 2019 Dead Mozay - Initial package