Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:redwil:15.4
lazygit
lazygit.changes
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File lazygit.changes of Package lazygit
------------------------------------------------------------------- Tue Aug 08 06:54:45 UTC 2023 - Dead Mozay dead_mozay@opensuse.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 03:38:32 UTC 2023 - Dead Mozay dead_mozay@opensuse.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 04:05:17 UTC 2023 - Dead Mozay dead_mozay@opensuse.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 10:18:43 UTC 2023 - Dead Mozay dead_mozay@opensuse.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 03:04:42 UTC 2023 - Dead Mozay dead_mozay@opensuse.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 16:51:55 UTC 2023 - Dead Mozay dead_mozay@opensuse.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 01:41:22 UTC 2022 - Dead Mozay dead_mozay@opensuse.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 11:11:36 UTC 2022 - Dead Mozay dead_mozay@opensuse.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 14:17:05 UTC 2022 - Dead Mozay dead_mozay@opensuse.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 05:20:07 UTC 2022 - Dead Mozay dead_mozay@opensuse.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/v2@66f061b1 * 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 09:43:27 UTC 2022 - Dead Mozay dead_mozay@opensuse.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 07:49:21 UTC 2022 - Dead Mozay dead_mozay@opensuse.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 04:30:19 UTC 2022 - Dead Mozay dead_mozay@opensuse.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 13:56:32 UTC 2022 - ecsos <ecsos@opensuse.org> - 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 11:57:19 UTC 2021 - Dead Mozay dead_mozay@opensuse.org - Update to version 0.31.4: * fix delta again * fix chinese translate ------------------------------------------------------------------- Wed Nov 10 06:47:53 UTC 2021 - Dead Mozay dead_mozay@opensuse.org - Update to version 0.31.3: * fix scrolling in sub commits panel ------------------------------------------------------------------- Sun Nov 07 07:45:13 UTC 2021 - Dead Mozay dead_mozay@opensuse.org - Update to version 0.31.2: * restore some code that was erroneously removed ------------------------------------------------------------------- Fri Nov 05 16:14:59 UTC 2021 - Dead Mozay dead_mozay@opensuse.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 02:49:46 UTC 2021 - Dead Mozay dead_mozay@opensuse.org - Update to version 0.30.1: * fix commit message prefix thingo ------------------------------------------------------------------- Sat Oct 23 12:21:09 UTC 2021 - Dead Mozay dead_mozay@opensuse.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 11:16:44 UTC 2021 - ecsos@opensuse.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 16:55:50 UTC 2021 - ecsos@opensuse.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 12:01:51 UTC 2021 - ecsos@opensuse.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 09:19:06 UTC 2021 - ecsos@opensuse.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 03:22:53 UTC 2021 - Dead Mozay dead_mozay@opensuse.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 03:26:18 UTC 2021 - Dead Mozay dead_mozay@opensuse.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 16:28:34 UTC 2020 - Dead Mozay dead_mozay@opensuse.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 <c-y> 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 08:57:28 UTC 2020 - Dead Mozay dead_mozay@opensuse.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 06:32:24 UTC 2020 - Dead Mozay dead_mozay@opensuse.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 02:40:33 UTC 2020 - dead_mozay@opensuse.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 02:53:11 UTC 2020 - dead_mozay@opensuse.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 08:27:28 UTC 2020 - dead_mozay@opensuse.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 12:42:15 UTC 2020 - dead_mozay@opensuse.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 11:56:15 UTC 2020 - dead-mozay@opensuse.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 11:54:43 UTC 2020 - dead-mozay@opensuse.org - Update to version 0.20: * ------------------------------------------------------------------- Wed Apr 22 03:25:41 UTC 2020 - dead_mozay@opensuse.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 01:22:50 UTC 2020 - dead-mozay@opensuse.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 12:50:49 UTC 2020 - dead_mozay@opensuse.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 16:14:06 UTC 2020 - dead_mozay@opensuse.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 03:47:27 UTC 2020 - dead_mozay@opensuse.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 15:22:42 UTC 2020 - dead_mozay@opensuse.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 01:20:47 UTC 2020 - dead-mozay@opensuse.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 16:20:40 UTC 2020 - dead_mozay@opensuse.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 01:13:35 UTC 2020 - dead-mozay@opensuse.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 12:12:49 UTC 2020 - dead-mozay@opensuse.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 01:18:48 UTC 2020 - dead-mozay@opensuse.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 01:34:17 UTC 2020 - dead-mozay@opensuse.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 @{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 08:04:41 UTC 2020 - dead_mozay@opensuse.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 04:25:31 UTC 2020 - dead-mozay@opensuse.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 05:53:27 UTC 2020 - dead_mozay@opensuse.org - Update to version 0.13: * add reflog reset options * add checkout reflog commit keybinding * add reflog tab in commits panel ------------------------------------------------------------------- Wed Jan 08 12:23:53 UTC 2020 - dead-mozay@opensuse.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 13:41:11 UTC 2019 - dead_mozay@opensuse.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 5 13:35:21 UTC 2019 - Dead Mozay <dead_mozay@opensuse.org> - Initial package
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor