Compare commits

..

21 Commits

Author SHA1 Message Date
a2ed40d348 Update src/lazygitclj/core.clj
SCIP Index / index (push) Successful in 2m38s
2026-02-04 06:16:48 -10:00
65f7d184bc Update src/lazygitclj/core.clj
SCIP Index / index (push) Successful in 2m41s
2026-02-04 06:14:22 -10:00
a7773b77d1 Update src/lazygitclj/core.clj
SCIP Index / index (push) Successful in 7m34s
2026-02-04 05:21:41 -10:00
ca1e90f130 Update src/lazygitclj/core.clj
SCIP Index / index (push) Successful in 3m38s
2026-02-04 05:12:30 -10:00
e63230af71 Update src/lazygitclj/core.clj
SCIP Index / index (push) Successful in 1m40s
2026-02-03 21:51:07 -10:00
b3cd896fd5 Index SCIP for all branches, not just main/master
SCIP Index / index (push) Successful in 1m42s
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 21:50:29 -10:00
1858f3e5d0 Add package-map for cross-repo SCIP navigation
SCIP Index / index (push) Successful in 1m37s
- Add package-map.edn mapping namespaces to their packages
- Update CI workflow to pass package-map when generating SCIP index
- Enables cross-repo navigation to clojure-tui in Sourcegraph

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 23:10:04 -05:00
f77bf3bbfc Trigger CI for cross-repo fix
SCIP Index / index (push) Successful in 1m41s
2026-02-03 19:02:43 -05:00
e80dfdf8e9 Trigger SCIP reindex for :refer fix
SCIP Index / index (push) Successful in 1m34s
2026-02-03 18:31:39 -05:00
51ba410f15 Fix CI: clone clojure-tui local dependency
SCIP Index / index (push) Successful in 1m46s
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 17:58:35 -05:00
e7c975fdea Fix CI: install Babashka for bb.edn projects
SCIP Index / index (push) Failing after 37s
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 17:54:09 -05:00
f51f8b743d Add SCIP indexing CI workflow for Sourcegraph
SCIP Index / index (push) Failing after 23s
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 17:50:18 -05:00
785d07b08f Add generated files to gitignore
Ignore clj-kondo, lsp cache, and SCIP index files

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 16:50:43 -05:00
9d1fd59644 update API 2026-02-03 13:01:03 -05:00
8f970ed5b4 fix layout issue 2026-02-03 12:51:04 -05:00
0702d27166 refactor 2026-02-03 12:22:19 -05:00
2c103f7f96 clean up tests 2026-01-22 22:28:38 -05:00
52a1054757 Sort branches by commit date like lazygit
Use git for-each-ref with --sort=-committerdate to order branches by
last commit date (newest first), matching lazygit's default behavior.
Added e2e test with controlled commit dates to verify ordering.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 19:14:22 -05:00
7c2e9b9abf update tests 2026-01-22 18:53:42 -05:00
2f27c1791b Remove generated e2e test outputs and update gitignore
- Ignore entire test/e2e/output/ directory for generated artifacts
- Update screenshots with latest panel renders

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 16:44:23 -05:00
f0c65dedf5 Fix e2e tests and clean up debug artifacts
- Remove nested test/e2e/test/ directory (bad debug data)
- Fix run-all.sh to run VHS from repo root, preventing nested output
- Fix cursor-navigation.tape to use setup script instead of inline shell
- Add setup-cursor-test.sh for cursor navigation tests
- Regenerate all test outputs without FileNotFoundException errors
- Add debug tape/output files to .gitignore
- Remove debug.tape from test suite (for local debugging only)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 12:20:26 -05:00
118 changed files with 894 additions and 36328 deletions
+59
View File
@@ -0,0 +1,59 @@
name: SCIP Index
on:
push:
branches: ['**']
workflow_dispatch:
jobs:
index:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Clone clojure-tui (local dependency)
run: git clone https://git.ajet.fyi/ajet/clojure-tui.git ../clojure-tui
- name: Setup Java
run: |
sudo apt-get update
sudo apt-get install -y openjdk-17-jdk
echo "JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64" >> $GITHUB_ENV
- name: Install Clojure CLI
run: curl -fsSL https://download.clojure.org/install/linux-install-1.12.0.1501.sh | sudo bash
- name: Install Babashka
run: |
curl -fsSL https://raw.githubusercontent.com/babashka/babashka/master/install | sudo bash
- name: Install clojure-lsp
run: |
mkdir -p /usr/local/bin
curl -fsSL https://github.com/clojure-lsp/clojure-lsp/releases/latest/download/clojure-lsp-native-static-linux-amd64.zip -o /tmp/clojure-lsp.zip
unzip -o /tmp/clojure-lsp.zip -d /usr/local/bin/
chmod +x /usr/local/bin/clojure-lsp
- name: Clone and build scip-clojure
run: |
git clone https://git.ajet.fyi/ajet/scip-clojure.git /tmp/scip-clojure
cd /tmp/scip-clojure
clojure -T:build compile-java
- name: Generate SCIP index
run: |
cd /tmp/scip-clojure
clojure -M:run -p $GITHUB_WORKSPACE -o $GITHUB_WORKSPACE/index.scip -m $GITHUB_WORKSPACE/package-map.edn
env:
CLOJURE_LSP_PATH: /usr/local/bin/clojure-lsp
- name: Install Sourcegraph CLI
run: |
curl -fsSL https://sourcegraph.com/.api/src-cli/src_linux_amd64 -o /usr/local/bin/src
chmod +x /usr/local/bin/src
- name: Upload to Sourcegraph
run: src code-intel upload -file=index.scip
env:
SRC_ENDPOINT: ${{ secrets.SRC_ENDPOINT }}
SRC_ACCESS_TOKEN: ${{ secrets.SRC_ACCESS_TOKEN }}
+9 -3
View File
@@ -2,8 +2,14 @@
.nrepl-port
target/
*.jar
.clj-kondo/
.lsp/
index.scip
# Generated test outputs
# VHS test outputs (generated artifacts, not needed in repo)
test/e2e/output/
test/e2e/*.gif
test/e2e/*.png
test/e2e/debug.tape
test/e2e/aspect-ratio/*.gif
# Nested test output directories (created by VHS when run from wrong directory)
test/e2e/test/
+2
View File
@@ -74,3 +74,5 @@ bb test:e2e # Run VHS tape tests
## License
MIT
+13 -2
View File
@@ -1,10 +1,21 @@
{:paths ["src" "test"]
:deps {io.github.ajet/clojure-tui {:local/root "../clojure-tui"}}
:tasks {start {:doc "Run lazygitclj"
:tasks {:requires ([e2e])
start {:doc "Run lazygitclj"
:task (exec 'lazygitclj.core/-main)}
test {:doc "Run unit tests"
:task (load-file "test/run-tests.clj")}
test:unit {:doc "Run unit tests"
:task (load-file "test/run-tests.clj")}
test:e2e {:doc "Run e2e VHS tests"
:task (shell "test/e2e/run-all.sh")}}}
:task (e2e/run-all)}
e2e:setup {:doc "Setup standard e2e test repo"
:task (e2e/setup-test-repo)}
e2e:setup-cursor {:doc "Setup cursor navigation test repo"
:task (e2e/setup-cursor-test-repo)}
e2e:setup-branch-order {:doc "Setup branch order test repo"
:task (e2e/setup-branch-order-test-repo)}
e2e:cleanup-branch-order {:doc "Cleanup branch order test repo"
:task (e2e/cleanup-branch-order-test-repo)}
e2e:cleanup {:doc "Cleanup all e2e test repos"
:task (e2e/cleanup-all)}}}
View File
+9
View File
@@ -0,0 +1,9 @@
;; Package map for cross-repository SCIP navigation
;; Maps namespace prefixes to package@version coordinates
;;
;; This enables Sourcegraph to resolve cross-repo references:
;; - "tui" prefix -> clojure-tui repository
;; - "lazygitclj" prefix -> this repository
{"tui" "io.github.ajet/clojure-tui@main"
"lazygitclj" "io.github.ajet/lazygitclj@main"}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

After

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 KiB

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

After

Width:  |  Height:  |  Size: 42 KiB

+270 -305
View File
@@ -1,9 +1,13 @@
(ns lazygitclj.core
"lazygitclj - A lazygit-inspired TUI for git."
(:require [tui.core :as tui :refer [quit]]
(:require [tui.core :as tui]
[tui.events :as ev :refer [key=]]
[tui.terminal :as term]
[lazygitclj.git :as git]
[clojure.string :as str]))
(def temp tui/run)
;; === Model ===
(defn load-git-data []
@@ -53,33 +57,8 @@
(str (subs s 0 max-len) "...")
s))
(defn visible-window
"Calculate the visible window of items for scrolling.
Returns {:items visible-items :start-idx start-index :total total-count}
Keeps cursor visible by scrolling the window."
[items cursor max-visible]
(let [total (count items)
max-visible (max 1 max-visible)]
(if (<= total max-visible)
;; All items fit, no scrolling needed
{:items items :start-idx 0 :total total}
;; Need to scroll - calculate window that keeps cursor visible
(let [;; Simple approach: cursor should be in the middle when possible
half (quot max-visible 2)
;; Calculate start index
start-idx (cond
;; Cursor near start - show from beginning
(<= cursor half) 0
;; Cursor near end - show end portion
(>= cursor (- total half)) (- total max-visible)
;; Cursor in middle - center it
:else (- cursor half))
start-idx (max 0 (min start-idx (- total max-visible)))
visible-items (subvec (vec items) start-idx (+ start-idx max-visible))]
{:items visible-items :start-idx start-idx :total total}))))
(defn get-current-diff
"Get the diff for the currently selected item based on panel and cursor."
"Change doc string for test"
[model]
(let [panel (:panel model)
items (current-items model)
@@ -113,7 +92,8 @@
;; === Update ===
(defn update-diff [model]
(assoc model :diff (get-current-diff model)))
;; never update lol
model)
(defn initial-model []
(let [base (merge
@@ -137,496 +117,494 @@
(assoc :message nil)
update-diff))
(defn update-files [model msg]
(defn update-files [{:keys [model event]}]
(let [items (file-items model)
cursor (:cursor model)
item (get items cursor)]
(cond
(tui/key= msg " ")
(key= event \space)
(if item
(do
(if (= (:type item) :staged)
(git/unstage-file (:path item))
(git/stage-file (:path item)))
[(refresh model) nil])
[model nil])
{:model (refresh model)})
{:model model})
(tui/key= msg "a")
(key= event \a)
(if (and (seq (:staged model)) (empty? (:unstaged model)))
;; All files are staged - unstage all
(do
(git/reset-staged)
[(refresh model) nil])
{:model (refresh model)})
;; Some files are unstaged - stage all
(do
(git/stage-all)
[(refresh model) nil]))
{:model (refresh model)}))
(tui/key= msg "d")
(key= event \d)
(if (and item (= (:type item) :unstaged) (not= (:index item) \?))
(do
(git/discard-file (:path item))
[(refresh model) nil])
[(assoc model :message "Can only discard unstaged changes") nil])
{:model (refresh model)})
{:model (assoc model :message "Can only discard unstaged changes")})
;; s: Quick stash all changes
(tui/key= msg "s")
(key= event \s)
(do
(git/stash-all)
[(-> model refresh (assoc :message "Stashed all changes")) nil])
{:model (-> model refresh (assoc :message "Stashed all changes"))})
;; S: Stash options menu
(tui/key= msg "S")
[(assoc model :menu-mode :stash-options) nil]
(key= event \s #{:shift})
{:model (assoc model :menu-mode :stash-options)}
:else
[model nil])))
{:model model})))
(defn update-commits [model msg]
(defn update-commits [{:keys [model event]}]
(let [items (current-items model)
cursor (:cursor model)
item (get (vec items) cursor)
sha (when item (:sha item))]
(cond
;; Space: Checkout commit/reflog entry
(tui/key= msg " ")
(key= event \space)
(if sha
(do
(git/checkout-reflog-entry sha)
[(-> model refresh (assoc :message (str "Checked out " sha))) nil])
[model nil])
{:model (-> model refresh (assoc :message (str "Checked out " sha)))})
{:model model})
;; g: Reset to this commit
(tui/key= msg "g")
(key= event \g)
(if sha
(do
(git/reset-to-reflog sha)
[(-> model refresh (assoc :message (str "Reset to " sha))) nil])
[model nil])
{:model (-> model refresh (assoc :message (str "Reset to " sha)))})
{:model model})
;; C: Cherry-pick commit
(tui/key= msg "C")
(key= event \c #{:shift})
(if sha
(do
(git/cherry-pick-commit sha)
[(-> model refresh (assoc :message (str "Cherry-picked " sha))) nil])
[model nil])
{:model (-> model refresh (assoc :message (str "Cherry-picked " sha)))})
{:model model})
;; t: Revert commit
(tui/key= msg "t")
(key= event \t)
(if sha
(do
(git/revert-commit sha)
[(-> model refresh (assoc :message (str "Reverted " sha))) nil])
[model nil])
{:model (-> model refresh (assoc :message (str "Reverted " sha)))})
{:model model})
;; r: Reword commit (HEAD only)
(tui/key= msg "r")
(key= event \r)
(if sha
[(assoc model :input-mode :reword :input-buffer "" :input-context sha) nil]
[model nil])
{:model (assoc model :input-mode :reword :input-buffer "" :input-context sha)}
{:model model})
;; y: Copy SHA
(tui/key= msg "y")
(key= event \y)
(if sha
[(assoc model :message (str "SHA: " sha " (not copied - no clipboard support)")) nil]
[model nil])
{:model (assoc model :message (str "SHA: " sha " (not copied - no clipboard support)"))}
{:model model})
:else
[model nil])))
{:model model})))
(defn update-branches [model msg]
(defn update-branches [{:keys [model event]}]
(let [items (current-items model)
cursor (:cursor model)
item (get (vec items) cursor)
tab (:branches-tab model)]
(cond
;; Enter: checkout branch/tag
(tui/key= msg :enter)
(key= event :enter)
(cond
(and (= tab :local) item (not= item (:branch model)))
(do
(git/checkout-branch item)
[(-> model refresh (assoc :message (str "Checked out " item))) nil])
{:model (-> model refresh (assoc :message (str "Checked out " item)))})
(and (= tab :tags) item)
(do
(git/checkout-tag item)
[(-> model refresh (assoc :message (str "Checked out tag " item))) nil])
{:model (-> model refresh (assoc :message (str "Checked out tag " item)))})
:else [model nil])
:else {:model model})
;; n: new branch (local tab only)
(and (tui/key= msg "n") (= tab :local))
[(assoc model :input-mode :new-branch :input-buffer "") nil]
(and (key= event \n) (= tab :local))
{:model (assoc model :input-mode :new-branch :input-buffer "")}
;; d: delete branch (local tab only)
(and (tui/key= msg "d") (= tab :local) item (not= item (:branch model)))
(and (key= event \d) (= tab :local) item (not= item (:branch model)))
(do
(git/delete-branch item)
[(-> model refresh (assoc :message (str "Deleted branch " item))) nil])
{:model (-> model refresh (assoc :message (str "Deleted branch " item)))})
;; R: rename branch (local tab only)
(and (tui/key= msg "R") (= tab :local) item)
[(assoc model :input-mode :rename-branch :input-buffer "" :input-context item) nil]
(and (key= event \r #{:shift}) (= tab :local) item)
{:model (assoc model :input-mode :rename-branch :input-buffer "" :input-context item)}
;; M: merge branch into current
(and (tui/key= msg "M") (= tab :local) item (not= item (:branch model)))
(and (key= event \m #{:shift}) (= tab :local) item (not= item (:branch model)))
(do
(git/merge-branch item)
[(-> model refresh (assoc :message (str "Merged " item))) nil])
{:model (-> model refresh (assoc :message (str "Merged " item)))})
;; f: fast-forward branch
(and (tui/key= msg "f") (= tab :local) item)
(and (key= event \f) (= tab :local) item)
(do
(git/fast-forward-branch item)
[(-> model refresh (assoc :message (str "Fast-forwarded " item))) nil])
{:model (-> model refresh (assoc :message (str "Fast-forwarded " item)))})
;; Tab switching with [ and ]
(tui/key= msg "[")
[(-> model
(update :branches-tab #(case % :local :tags :remotes :local :tags :remotes))
(assoc :cursor 0)
clamp-cursor) nil]
(key= event \[)
{:model (-> model
(update :branches-tab #(case % :local :tags :remotes :local :tags :remotes))
(assoc :cursor 0)
clamp-cursor)}
(tui/key= msg "]")
[(-> model
(update :branches-tab #(case % :local :remotes :remotes :tags :tags :local))
(assoc :cursor 0)
clamp-cursor) nil]
(key= event \])
{:model (-> model
(update :branches-tab #(case % :local :remotes :remotes :tags :tags :local))
(assoc :cursor 0)
clamp-cursor)}
:else
[model nil])))
{:model model})))
(defn update-stash [model msg]
(defn update-stash [{:keys [model event]}]
(let [stashes (:stashes model)
cursor (:cursor model)
stash (get (vec stashes) cursor)
ref (when stash (:ref stash))]
(cond
;; Space: apply stash (keep in list)
(tui/key= msg " ")
(key= event \space)
(if ref
(do
(git/stash-apply ref)
[(-> model refresh (assoc :message (str "Applied " ref))) nil])
[model nil])
{:model (-> model refresh (assoc :message (str "Applied " ref)))})
{:model model})
;; g: pop stash (apply and remove)
(tui/key= msg "g")
(key= event \g)
(if ref
(do
(git/stash-pop ref)
[(-> model refresh (assoc :message (str "Popped " ref))) nil])
[model nil])
{:model (-> model refresh (assoc :message (str "Popped " ref)))})
{:model model})
;; d: drop stash
(tui/key= msg "d")
(key= event \d)
(if ref
(do
(git/stash-drop ref)
[(-> model refresh (assoc :message (str "Dropped " ref))) nil])
[model nil])
{:model (-> model refresh (assoc :message (str "Dropped " ref)))})
{:model model})
;; n: new branch from stash
(and (tui/key= msg "n") ref)
[(assoc model :input-mode :stash-branch :input-buffer "" :input-context ref) nil]
(and (key= event \n) ref)
{:model (assoc model :input-mode :stash-branch :input-buffer "" :input-context ref)}
:else
[model nil])))
{:model model})))
(defn update-input-mode [model msg]
(defn update-input-mode [{:keys [model event]}]
(cond
(tui/key= msg :escape)
[(assoc model :input-mode nil :input-buffer "" :input-context nil) nil]
(key= event :escape)
{:model (assoc model :input-mode nil :input-buffer "" :input-context nil)}
(tui/key= msg :enter)
(key= event :enter)
(let [buf (:input-buffer model)
ctx (:input-context model)]
(case (:input-mode model)
:commit
(if (str/blank? buf)
[(assoc model :message "Commit message cannot be empty") nil]
{:model (assoc model :message "Commit message cannot be empty")}
(do
(git/commit buf)
[(-> model
(assoc :input-mode nil :input-buffer "" :input-context nil)
refresh
(assoc :message "Committed!")) nil]))
{:model (-> model
(assoc :input-mode nil :input-buffer "" :input-context nil)
refresh
(assoc :message "Committed!"))}))
:new-branch
(if (str/blank? buf)
[(assoc model :message "Branch name cannot be empty") nil]
{:model (assoc model :message "Branch name cannot be empty")}
(do
(git/create-branch buf)
[(-> model
(assoc :input-mode nil :input-buffer "" :input-context nil)
refresh
(assoc :message (str "Created branch " buf))) nil]))
{:model (-> model
(assoc :input-mode nil :input-buffer "" :input-context nil)
refresh
(assoc :message (str "Created branch " buf)))}))
:rename-branch
(if (str/blank? buf)
[(assoc model :message "New name cannot be empty") nil]
{:model (assoc model :message "New name cannot be empty")}
(do
(git/rename-branch ctx buf)
[(-> model
(assoc :input-mode nil :input-buffer "" :input-context nil)
refresh
(assoc :message (str "Renamed " ctx " to " buf))) nil]))
{:model (-> model
(assoc :input-mode nil :input-buffer "" :input-context nil)
refresh
(assoc :message (str "Renamed " ctx " to " buf)))}))
:stash-branch
(if (str/blank? buf)
[(assoc model :message "Branch name cannot be empty") nil]
{:model (assoc model :message "Branch name cannot be empty")}
(do
(git/stash-branch buf ctx)
[(-> model
(assoc :input-mode nil :input-buffer "" :input-context nil)
refresh
(assoc :message (str "Created branch " buf " from stash"))) nil]))
{:model (-> model
(assoc :input-mode nil :input-buffer "" :input-context nil)
refresh
(assoc :message (str "Created branch " buf " from stash")))}))
:reword
(if (str/blank? buf)
[(assoc model :message "Message cannot be empty") nil]
{:model (assoc model :message "Message cannot be empty")}
(if (git/reword-commit ctx buf)
[(-> model
(assoc :input-mode nil :input-buffer "" :input-context nil)
refresh
(assoc :message "Rewrote commit message")) nil]
[(assoc model :input-mode nil :input-buffer "" :input-context nil
:message "Can only reword HEAD commit") nil]))
{:model (-> model
(assoc :input-mode nil :input-buffer "" :input-context nil)
refresh
(assoc :message "Rewrote commit message"))}
{:model (assoc model :input-mode nil :input-buffer "" :input-context nil
:message "Can only reword HEAD commit")}))
[model nil]))
{:model model}))
(tui/key= msg :backspace)
[(update model :input-buffer #(if (empty? %) % (subs % 0 (dec (count %))))) nil]
(key= event :backspace)
{:model (update model :input-buffer #(if (empty? %) % (subs % 0 (dec (count %)))))}
;; Character input - key format is [:key {:char \a}]
(and (= (first msg) :key)
(map? (second msg))
(:char (second msg))
(not (:ctrl (second msg)))
(not (:alt (second msg))))
[(update model :input-buffer str (:char (second msg))) nil]
;; Character input - new event format {:type :key :key \a}
(and (= (:type event) :key)
(char? (:key event))
(not (:modifiers event)))
{:model (update model :input-buffer str (:key event))}
:else
[model nil]))
{:model model}))
(defn update-stash-menu [model msg]
(defn update-stash-menu [{:keys [model event]}]
(cond
(tui/key= msg :escape)
[(assoc model :menu-mode nil) nil]
(key= event :escape)
{:model (assoc model :menu-mode nil)}
;; a: Stash all changes
(tui/key= msg "a")
(key= event \a)
(do
(git/stash-all)
[(-> model (assoc :menu-mode nil) refresh (assoc :message "Stashed all changes")) nil])
{:model (-> model (assoc :menu-mode nil) refresh (assoc :message "Stashed all changes"))})
;; i: Stash all changes and keep index
(tui/key= msg "i")
(key= event \i)
(do
(git/stash-keep-index)
[(-> model (assoc :menu-mode nil) refresh (assoc :message "Stashed all changes (kept index)")) nil])
{:model (-> model (assoc :menu-mode nil) refresh (assoc :message "Stashed all changes (kept index)"))})
;; U: Stash all including untracked files
(tui/key= msg "U")
(key= event \u #{:shift})
(do
(git/stash-include-untracked)
[(-> model (assoc :menu-mode nil) refresh (assoc :message "Stashed all changes (including untracked)")) nil])
{:model (-> model (assoc :menu-mode nil) refresh (assoc :message "Stashed all changes (including untracked)"))})
;; s: Stash staged changes only
(tui/key= msg "s")
(key= event \s)
(do
(git/stash-staged)
[(-> model (assoc :menu-mode nil) refresh (assoc :message "Stashed staged changes only")) nil])
{:model (-> model (assoc :menu-mode nil) refresh (assoc :message "Stashed staged changes only"))})
;; u: Stash unstaged changes only
(tui/key= msg "u")
(key= event \u)
(do
(git/stash-unstaged)
[(-> model (assoc :menu-mode nil) refresh (assoc :message "Stashed unstaged changes only")) nil])
{:model (-> model (assoc :menu-mode nil) refresh (assoc :message "Stashed unstaged changes only"))})
:else
[model nil]))
{:model model}))
(defn update-reset-menu [model msg]
(defn update-reset-menu [{:keys [model event]}]
(cond
(tui/key= msg :escape)
[(assoc model :menu-mode nil) nil]
(key= event :escape)
{:model (assoc model :menu-mode nil)}
;; s: Soft reset (keep staged)
(tui/key= msg "s")
(key= event \s)
(do
(git/reset-soft)
[(-> model (assoc :menu-mode nil) refresh (assoc :message "Soft reset to HEAD~1")) nil])
{:model (-> model (assoc :menu-mode nil) refresh (assoc :message "Soft reset to HEAD~1"))})
;; m: Mixed reset (unstage)
(tui/key= msg "m")
(key= event \m)
(do
(git/reset-mixed)
[(-> model (assoc :menu-mode nil) refresh (assoc :message "Mixed reset to HEAD~1")) nil])
{:model (-> model (assoc :menu-mode nil) refresh (assoc :message "Mixed reset to HEAD~1"))})
;; h: Hard reset (discard all)
(tui/key= msg "h")
(key= event \h)
(do
(git/reset-hard)
[(-> model (assoc :menu-mode nil) refresh (assoc :message "Hard reset to HEAD~1")) nil])
{:model (-> model (assoc :menu-mode nil) refresh (assoc :message "Hard reset to HEAD~1"))})
;; u: Unstage all
(tui/key= msg "u")
(key= event \u)
(do
(git/reset-staged)
[(-> model (assoc :menu-mode nil) refresh (assoc :message "Unstaged all changes")) nil])
{:model (-> model (assoc :menu-mode nil) refresh (assoc :message "Unstaged all changes"))})
;; d: Discard unstaged changes
(tui/key= msg "d")
(key= event \d)
(do
(git/discard-all-unstaged)
[(-> model (assoc :menu-mode nil) refresh (assoc :message "Discarded unstaged changes")) nil])
{:model (-> model (assoc :menu-mode nil) refresh (assoc :message "Discarded unstaged changes"))})
;; c: Clean untracked files
(tui/key= msg "c")
(key= event \c)
(do
(git/clean-untracked)
[(-> model (assoc :menu-mode nil) refresh (assoc :message "Cleaned untracked files")) nil])
{:model (-> model (assoc :menu-mode nil) refresh (assoc :message "Cleaned untracked files"))})
:else
[model nil]))
{:model model}))
(defn update-help [model msg]
(defn update-help [{:keys [model event]}]
(cond
(or (tui/key= msg :escape) (tui/key= msg "?") (tui/key= msg "q"))
[(assoc model :menu-mode nil) nil]
(or (key= event :escape) (key= event \?) (key= event \q))
{:model (assoc model :menu-mode nil)}
:else
[model nil]))
{:model model}))
(defn update-model [model msg]
(defn update-model [{:keys [model event] :as ctx}]
(cond
;; Menu modes take priority
(= (:menu-mode model) :stash-options)
(update-stash-menu model msg)
(update-stash-menu ctx)
(= (:menu-mode model) :reset-options)
(update-reset-menu model msg)
(update-reset-menu ctx)
(= (:menu-mode model) :help)
(update-help model msg)
(update-help ctx)
(:input-mode model)
(update-input-mode model msg)
(update-input-mode ctx)
(or (tui/key= msg "q") (tui/key= msg [:ctrl \c]))
[model quit]
(or (key= event \q) (key= event \c #{:ctrl}))
{:model model :events [(ev/quit)]}
(tui/key= msg "r")
[(refresh model) nil]
(key= event \r)
{:model (refresh model)}
;; Help panel
(tui/key= msg "?")
[(assoc model :menu-mode :help) nil]
(key= event \?)
{:model (assoc model :menu-mode :help)}
;; Reset options menu
(tui/key= msg "D")
[(assoc model :menu-mode :reset-options) nil]
(key= event \d #{:shift})
{:model (assoc model :menu-mode :reset-options)}
;; Panel jump keys (matching lazygit: 2=Files, 3=Branches, 4=Commits, 5=Stash)
(tui/key= msg "2")
[(-> model (assoc :panel :files :cursor 0) clamp-cursor update-diff) nil]
(key= event \2)
{:model (-> model (assoc :panel :files :cursor 0) clamp-cursor update-diff)}
(tui/key= msg "3")
[(-> model (assoc :panel :branches :cursor 0) clamp-cursor update-diff) nil]
(key= event \3)
{:model (-> model (assoc :panel :branches :cursor 0) clamp-cursor update-diff)}
(tui/key= msg "4")
[(-> model (assoc :panel :commits :cursor 0) clamp-cursor update-diff) nil]
(key= event \4)
{:model (-> model (assoc :panel :commits :cursor 0) clamp-cursor update-diff)}
(tui/key= msg "5")
[(-> model (assoc :panel :stash :cursor 0) clamp-cursor update-diff) nil]
(key= event \5)
{:model (-> model (assoc :panel :stash :cursor 0) clamp-cursor update-diff)}
;; h/l or Left/Right: move between panels (order: files → branches → commits → stash)
(or (tui/key= msg "h") (tui/key= msg :left))
[(-> model
(update :panel #(case % :files :stash :branches :files :commits :branches :stash :commits))
(assoc :cursor 0)
clamp-cursor
update-diff) nil]
(or (key= event \h) (key= event :left))
{:model (-> model
(update :panel #(case % :files :stash :branches :files :commits :branches :stash :commits))
(assoc :cursor 0)
clamp-cursor
update-diff)}
(or (tui/key= msg "l") (tui/key= msg :right))
[(-> model
(update :panel #(case % :files :branches :branches :commits :commits :stash :stash :files))
(assoc :cursor 0)
clamp-cursor
update-diff) nil]
(or (key= event \l) (key= event :right))
{:model (-> model
(update :panel #(case % :files :branches :branches :commits :commits :stash :stash :files))
(assoc :cursor 0)
clamp-cursor
update-diff)}
(or (tui/key= msg :up) (tui/key= msg "k"))
[(-> model (update :cursor dec) clamp-cursor update-diff) nil]
(or (key= event :up) (key= event \k))
{:model (-> model (update :cursor dec) clamp-cursor update-diff)}
(or (tui/key= msg :down) (tui/key= msg "j"))
[(-> model (update :cursor inc) clamp-cursor update-diff) nil]
(or (key= event :down) (key= event \j))
{:model (-> model (update :cursor inc) clamp-cursor update-diff)}
(and (tui/key= msg "c") (= (:panel model) :files))
(and (key= event \c) (= (:panel model) :files))
(if (empty? (:staged model))
[(assoc model :message "Nothing staged to commit") nil]
[(assoc model :input-mode :commit :input-buffer "") nil])
{:model (assoc model :message "Nothing staged to commit")}
{:model (assoc model :input-mode :commit :input-buffer "")})
(tui/key= msg "P")
(key= event \p #{:shift})
(do
(git/push)
[(assoc model :message "Pushed!") nil])
{:model (assoc model :message "Pushed!")})
(tui/key= msg "p")
(key= event \p)
(do
(git/pull)
[(-> model refresh (assoc :message "Pulled!")) nil])
{:model (-> model refresh (assoc :message "Pulled!"))})
;; Tab switching with [ and ] (for commits panel)
(and (tui/key= msg "[") (= (:panel model) :commits))
[(-> model
(update :commits-tab #(if (= % :reflog) :commits :reflog))
(assoc :cursor 0)
clamp-cursor) nil]
(and (key= event \[) (= (:panel model) :commits))
{:model (-> model
(update :commits-tab #(if (= % :reflog) :commits :reflog))
(assoc :cursor 0)
clamp-cursor)}
(and (tui/key= msg "]") (= (:panel model) :commits))
[(-> model
(update :commits-tab #(if (= % :commits) :reflog :commits))
(assoc :cursor 0)
clamp-cursor) nil]
(and (key= event \]) (= (:panel model) :commits))
{:model (-> model
(update :commits-tab #(if (= % :commits) :reflog :commits))
(assoc :cursor 0)
clamp-cursor)}
;; Global undo (z): Reset to previous reflog entry
(tui/key= msg "z")
(key= event \z)
(let [reflog (:reflog model)
current-idx (or (:reflog-index model) 0)
next-idx (inc current-idx)]
(if (< next-idx (count reflog))
(let [entry (get (vec reflog) next-idx)]
(git/reset-to-reflog (:ref entry))
[(-> model
refresh
(assoc :reflog-index next-idx)
(assoc :message (str "Undo: reset to " (:ref entry)))) nil])
[(assoc model :message "Nothing to undo") nil]))
{:model (-> model
refresh
(assoc :reflog-index next-idx)
(assoc :message (str "Undo: reset to " (:ref entry))))})
{:model (assoc model :message "Nothing to undo")}))
;; Global redo (Z): Reset forward in reflog
(tui/key= msg "Z")
(key= event \z #{:shift})
(let [current-idx (or (:reflog-index model) 0)]
(if (> current-idx 0)
(let [prev-idx (dec current-idx)
reflog (:reflog model)
entry (get (vec reflog) prev-idx)]
(git/reset-to-reflog (:ref entry))
[(-> model
refresh
(assoc :reflog-index prev-idx)
(assoc :message (str "Redo: reset to " (:ref entry)))) nil])
[(assoc model :message "Nothing to redo") nil]))
{:model (-> model
refresh
(assoc :reflog-index prev-idx)
(assoc :message (str "Redo: reset to " (:ref entry))))})
{:model (assoc model :message "Nothing to redo")}))
:else
(case (:panel model)
:files (update-files model msg)
:commits (update-commits model msg)
:branches (update-branches model msg)
:stash (update-stash model msg)
[model nil])))
:files (update-files ctx)
:commits (update-commits ctx)
:branches (update-branches ctx)
:stash (update-stash ctx)
{:model model})))
;; === Views ===
@@ -648,20 +626,19 @@
(when sync-info [:text {:fg :cyan} sync-info])]))]))
;; Panel 2: Files
(defn files-panel [{:keys [staged unstaged cursor panel]} max-visible]
(defn files-panel [{:keys [staged unstaged cursor panel]}]
(let [active? (= panel :files)
all-files (into (mapv #(assoc % :section :staged) staged)
(mapv #(assoc % :section :unstaged) unstaged))
{:keys [items start-idx total]} (visible-window all-files (if active? cursor 0) max-visible)]
total (count all-files)]
[:box {:border (if active? :double :single)
:title (str "2 Files (" total ")")
:padding [0 1] :width :fill :height :fill}
(if (empty? all-files)
[:text {:fg :gray} "No changes"]
(into [:col]
(for [[local-idx file] (map-indexed vector items)]
(let [global-idx (+ start-idx local-idx)
is-cursor (and active? (= global-idx cursor))
(into [:scroll {:cursor (if active? cursor 0)}]
(for [[idx file] (map-indexed vector all-files)]
(let [is-cursor (and active? (= idx cursor))
color (if (= (:section file) :staged) :green :red)]
[:row {:gap 1}
[:text {:fg color} (file-status-char file)]
@@ -669,60 +646,55 @@
(truncate (:path file) 20)]]))))]))
;; Panel 3: Branches
(defn branches-panel [{:keys [branches remote-branches tags branch branches-tab cursor panel]} max-visible]
(defn branches-panel [{:keys [branches remote-branches tags branch branches-tab cursor panel]}]
(let [active? (= panel :branches)
all-items (case branches-tab :local branches :remotes remote-branches :tags tags branches)
{:keys [items start-idx total]} (visible-window all-items (if active? cursor 0) max-visible)
tab-str (case branches-tab :local "[L] R T" :remotes "L [R] T" :tags "L R [T]")]
[:box {:border (if active? :double :single)
:title (str "3 Branches " tab-str)
:padding [0 1] :width :fill :height :fill}
(if (empty? all-items)
[:text {:fg :gray} (str "No " (name branches-tab))]
(into [:col]
(for [[local-idx item] (map-indexed vector items)]
(let [global-idx (+ start-idx local-idx)
is-cursor (and active? (= global-idx cursor))
(into [:scroll {:cursor (if active? cursor 0)}]
(for [[idx item] (map-indexed vector all-items)]
(let [is-cursor (and active? (= idx cursor))
is-current (and (= branches-tab :local) (= item branch))
fg (cond is-current :green is-cursor :cyan :else :white)]
[:text {:fg fg :bold (or is-current is-cursor) :inverse is-cursor}
(str (if is-current "* " " ") (truncate item 22))]))))]))
;; Panel 4: Commits
(defn commits-panel [{:keys [commits reflog commits-tab cursor panel]} max-visible]
(defn commits-panel [{:keys [commits reflog commits-tab cursor panel]}]
(let [active? (= panel :commits)
reflog? (= commits-tab :reflog)
all-items (if reflog? reflog commits)
{:keys [items start-idx total]} (visible-window all-items (if active? cursor 0) max-visible)]
all-items (if reflog? reflog commits)]
[:box {:border (if active? :double :single)
:title (str "4 Commits " (if reflog? "C [R]" "[C] R"))
:padding [0 1] :width :fill :height :fill}
(if (empty? all-items)
[:text {:fg :gray} "No commits"]
(into [:col]
(for [[local-idx {:keys [sha action subject]}] (map-indexed vector items)]
(let [global-idx (+ start-idx local-idx)
is-cursor (and active? (= global-idx cursor))]
(into [:scroll {:cursor (if active? cursor 0)}]
(for [[idx {:keys [sha action subject]}] (map-indexed vector all-items)]
(let [is-cursor (and active? (= idx cursor))]
[:row {:gap 1}
[:text {:fg :yellow} (or sha "?")]
[:text {:fg (if is-cursor :cyan :white) :bold is-cursor :inverse is-cursor}
(truncate (if reflog? (str action ": " subject) (or subject "")) 14)]]))))]))
;; Panel 5: Stash
(defn stash-panel [{:keys [stashes cursor panel]} max-visible]
(defn stash-panel [{:keys [stashes cursor panel]}]
(let [active? (= panel :stash)
{:keys [items start-idx total]} (visible-window stashes (if active? cursor 0) max-visible)]
total (count stashes)]
[:box {:border (if active? :double :single)
:title (str "5 Stash (" total ")")
:padding [0 1] :width :fill :height :fill}
(if (empty? stashes)
[:text {:fg :gray} "No stashes"]
(into [:col]
(for [[local-idx {:keys [index message]}] (map-indexed vector items)]
(let [global-idx (+ start-idx local-idx)
is-cursor (and active? (= global-idx cursor))]
(into [:scroll {:cursor (if active? cursor 0)}]
(for [[idx {:keys [index message]}] (map-indexed vector stashes)]
(let [is-cursor (and active? (= idx cursor))]
[:row {:gap 1}
[:text {:fg :yellow} (str (or index global-idx))]
[:text {:fg :yellow} (str (or index idx))]
[:text {:fg (if is-cursor :cyan :white) :bold is-cursor :inverse is-cursor}
(truncate (or message "") 20)]]))))]))
@@ -845,54 +817,42 @@
(defn main-grid-view
"Render the main lazygit-style grid layout."
[model width height]
[model]
(let [has-message? (some? (:message model))
{:keys [width]} (term/get-terminal-size)
narrow? (< width 70)
;; Calculate available height for panels
;; Wide layout: left column has [3 :flex :flex :flex :flex]
;; So 4 flex panels share (height - status(3) - help-bar(1) - message?)
;; Each panel total height = remaining / 4
;; Inner height = panel total - 2 (borders)
remaining-height (- height 3 1 (if has-message? 1 0))
panel-total-height (quot remaining-height 4)
;; Inner height is total minus borders (2 rows)
panel-inner-height (if narrow?
;; Narrow: 6 sections share height
(max 1 (- (quot remaining-height 6) 2))
;; Wide: 4 panels share remaining height
(max 1 (- panel-total-height 2)))
content (if narrow?
;; NARROW: Single column stacked
[:col {:heights [3 :flex :flex :flex 3 :flex 4]}
[:col {:heights [3 :flex :flex :flex :flex :flex 4]}
(status-panel model)
(files-panel model panel-inner-height)
(branches-panel model panel-inner-height)
(commits-panel model panel-inner-height)
(stash-panel model panel-inner-height)
(files-panel model)
(branches-panel model)
(commits-panel model)
(stash-panel model)
(main-view-panel model)
(command-log-panel)]
;; WIDE: Two columns
;; WIDE: Two columns using row/col
[:row {:gap 1 :widths [30 :flex]}
[:col {:heights [3 :flex :flex :flex :flex]}
(status-panel model)
(files-panel model panel-inner-height)
(branches-panel model panel-inner-height)
(commits-panel model panel-inner-height)
(stash-panel model panel-inner-height)]
(files-panel model)
(branches-panel model)
(commits-panel model)
(stash-panel model)]
[:col {:heights [:flex 4]}
(main-view-panel model)
(command-log-panel)]])]
(if has-message?
[:col {:width width :height height :heights [1 :flex 1]}
[:col {:heights [1 :flex 1]}
(message-view model)
content
(help-bar model)]
[:col {:width width :height height :heights [:flex 1]}
[:col {:heights [:flex 1]}
content
(help-bar model)])))
(defn view [model {:keys [width height] :or {width 120 height 30}}]
(let [background (main-grid-view model width height)]
(defn view [model]
(let [background (main-grid-view model)]
(cond
;; Help menu modal overlay
(= (:menu-mode model) :help)
@@ -922,15 +882,20 @@
:else
background)))
(defn test-view-2 [& args]
[:box "foo"])
;; === Main ===
(def temp2 get-current-diff)
(defn -main [& _args]
(if (git/repo-root)
(do
(println "Starting lazygitclj...")
(println (str "String with initial model: " (initial-model)))
(tui/run {:init (initial-model)
:update update-model
:view view})
:view test-view-2})
(println "Goodbye!"))
(do
(println "Error: Not a git repository")
+14 -4
View File
@@ -86,13 +86,23 @@
;; === Branches ===
(defn branches
"Returns list of local branches."
"Returns list of local branches, sorted by last commit date (newest first).
This matches lazygit's default branch ordering."
[]
(->> (sh "git" "branch" "--format=%(refname:short)")
(->> (sh "git" "for-each-ref"
"--sort=-committerdate"
"--format=%(refname:short)"
"refs/heads/")
lines))
(defn remote-branches []
(->> (sh "git" "branch" "-r" "--format=%(refname:short)")
(defn remote-branches
"Returns list of remote branches, sorted by last commit date (newest first).
This matches lazygit's default remote branch ordering."
[]
(->> (sh "git" "for-each-ref"
"--sort=-committerdate"
"--format=%(refname:short)"
"refs/remotes/")
lines))
;; === Actions ===
+247
View File
@@ -0,0 +1,247 @@
(ns e2e
"E2E test utilities and runner for VHS tape tests."
(:require [babashka.fs :as fs]
[babashka.process :refer [shell]]
[clojure.string :as str]))
(defn sh
"Run shell command, return exit code."
[& args]
(:exit (apply shell {:continue true :out :inherit :err :inherit} args)))
(defn sh-quiet
"Run shell command quietly, return exit code."
[& args]
(:exit (apply shell {:continue true :out nil :err nil} args)))
(defn setup-test-repo
"Setup a test git repository for e2e tests.
Usage: (setup-test-repo) or (setup-test-repo \"/tmp/my-repo\")"
([] (setup-test-repo "/tmp/lazygitclj-e2e-test"))
([repo-dir]
(fs/delete-tree repo-dir)
(fs/create-dirs repo-dir)
;; Initialize repo
(shell {:dir repo-dir} "git" "init" "-b" "main")
(shell {:dir repo-dir} "git" "config" "user.email" "test@example.com")
(shell {:dir repo-dir} "git" "config" "user.name" "Test User")
;; Create initial files
(spit (fs/file repo-dir "README.md") "# Test Project\n")
(spit (fs/file repo-dir "file1.txt") "line1\n")
(spit (fs/file repo-dir "file2.txt") "line2\n")
(shell {:dir repo-dir} "git" "add" ".")
(shell {:dir repo-dir} "git" "commit" "-m" "Initial commit")
;; Create feature branch with changes
(shell {:dir repo-dir} "git" "checkout" "-b" "feature-branch")
(spit (fs/file repo-dir "feature.txt") "feature content\n")
(shell {:dir repo-dir} "git" "add" ".")
(shell {:dir repo-dir} "git" "commit" "-m" "Add feature")
;; Go back to main and make uncommitted changes
(shell {:dir repo-dir} "git" "checkout" "main")
(spit (fs/file repo-dir "file1.txt") "line1\nmodified\n")
(spit (fs/file repo-dir "new-file.txt") "new file\n")
(println "Test repo created at" repo-dir)
repo-dir))
(defn setup-cursor-test-repo
"Setup test repo with many files for cursor navigation tests."
([] (setup-cursor-test-repo "/tmp/lazygitclj-e2e-cursor"))
([repo-dir]
(fs/delete-tree repo-dir)
(fs/create-dirs repo-dir)
;; Initialize repo
(shell {:dir repo-dir} "git" "init" "-b" "main")
(shell {:dir repo-dir} "git" "config" "user.email" "test@test.com")
(shell {:dir repo-dir} "git" "config" "user.name" "Test")
;; Create 20 files
(doseq [i (range 1 21)]
(spit (fs/file repo-dir (str "file" i ".txt")) (str "content " i "\n")))
(shell {:dir repo-dir} "git" "add" ".")
(shell {:dir repo-dir} "git" "commit" "-m" "Initial")
;; Modify all files to create unstaged changes
(doseq [i (range 1 21)]
(spit (fs/file repo-dir (str "file" i ".txt"))
(str "content " i "\nmodified " i "\n")))
(println "Cursor test repo created at" repo-dir)
repo-dir))
(defn setup-branch-order-test-repo
"Setup test repo with branches having different commit dates to test sorting.
Creates branches in alphabetical order but with commits in reverse order,
so date-sorted results should differ from alphabetical.
Commit dates:
- main: 2024-01-04 (newest, so it appears first)
- gamma-branch: 2024-01-03
- beta-branch: 2024-01-02
- alpha-branch: 2024-01-01 (oldest)
Expected date-sorted order: main, gamma-branch, beta-branch, alpha-branch
Alphabetical order would be: alpha-branch, beta-branch, gamma-branch, main"
([] (setup-branch-order-test-repo "/tmp/lazygitclj-e2e-branch-order"))
([repo-dir]
(fs/delete-tree repo-dir)
(fs/create-dirs repo-dir)
;; Initialize repo
(shell {:dir repo-dir} "git" "init" "-b" "main")
(shell {:dir repo-dir} "git" "config" "user.email" "test@example.com")
(shell {:dir repo-dir} "git" "config" "user.name" "Test User")
;; Initial commit on main (will be updated later with a specific date)
(spit (fs/file repo-dir "README.md") "# Branch Order Test\n")
(shell {:dir repo-dir} "git" "add" ".")
(shell {:dir repo-dir :extra-env {"GIT_COMMITTER_DATE" "2024-01-04T10:00:00"}}
"git" "commit" "-m" "Initial commit" "--date=2024-01-04T10:00:00")
;; Create branches with commits in specific order (oldest to newest):
;; alpha-branch (oldest) -> beta-branch -> gamma-branch -> main (newest)
;; This way, date-sorted order should be: main, gamma, beta, alpha
;; while alphabetical would be: alpha, beta, gamma, main
;; Create alpha-branch (oldest)
(shell {:dir repo-dir} "git" "checkout" "-b" "alpha-branch")
(spit (fs/file repo-dir "alpha.txt") "alpha content\n")
(shell {:dir repo-dir} "git" "add" ".")
;; Use GIT_COMMITTER_DATE to set specific commit times
(shell {:dir repo-dir :extra-env {"GIT_COMMITTER_DATE" "2024-01-01T10:00:00"}}
"git" "commit" "-m" "Add alpha" "--date=2024-01-01T10:00:00")
;; Create beta-branch (middle)
(shell {:dir repo-dir} "git" "checkout" "main")
(shell {:dir repo-dir} "git" "checkout" "-b" "beta-branch")
(spit (fs/file repo-dir "beta.txt") "beta content\n")
(shell {:dir repo-dir} "git" "add" ".")
(shell {:dir repo-dir :extra-env {"GIT_COMMITTER_DATE" "2024-01-02T10:00:00"}}
"git" "commit" "-m" "Add beta" "--date=2024-01-02T10:00:00")
;; Create gamma-branch
(shell {:dir repo-dir} "git" "checkout" "main")
(shell {:dir repo-dir} "git" "checkout" "-b" "gamma-branch")
(spit (fs/file repo-dir "gamma.txt") "gamma content\n")
(shell {:dir repo-dir} "git" "add" ".")
(shell {:dir repo-dir :extra-env {"GIT_COMMITTER_DATE" "2024-01-03T10:00:00"}}
"git" "commit" "-m" "Add gamma" "--date=2024-01-03T10:00:00")
;; Return to main
(shell {:dir repo-dir} "git" "checkout" "main")
(println "Branch order test repo created at" repo-dir)
(println "Expected date-sorted order: main, gamma-branch, beta-branch, alpha-branch")
repo-dir))
(defn cleanup-branch-order-test-repo
"Clean up the branch order test repo."
([] (cleanup-branch-order-test-repo "/tmp/lazygitclj-e2e-branch-order"))
([repo-dir]
(fs/delete-tree repo-dir)
(println "Cleaned up" repo-dir)))
(def test-repo-paths
"All test repo paths created by e2e tests."
["/tmp/lazygitclj-e2e-test"
"/tmp/lazygitclj-e2e-nav"
"/tmp/lazygitclj-e2e-stage"
"/tmp/lazygitclj-e2e-commit"
"/tmp/lazygitclj-e2e-commit-verify"
"/tmp/lazygitclj-e2e-branch"
"/tmp/lazygitclj-e2e-branches-tabs"
"/tmp/lazygitclj-e2e-commits-tabs"
"/tmp/lazygitclj-e2e-stash"
"/tmp/lazygitclj-e2e-stash-menu"
"/tmp/lazygitclj-e2e-help"
"/tmp/lazygitclj-e2e-reset"
"/tmp/lazygitclj-e2e-undo"
"/tmp/lazygitclj-e2e-cursor"
"/tmp/lazygitclj-e2e-branch-order"
;; Additional test repos from older/manual tests
"/tmp/lazygitclj-e2e-modal"
"/tmp/lazygitclj-e2e-modal-large"
"/tmp/lazygitclj-e2e-modal-narrow"
"/tmp/lazygitclj-e2e-modal-small"
"/tmp/lazygitclj-e2e-scroll"])
(defn cleanup-all
"Clean up all test repos."
[]
(println "Cleaning up e2e test repos...")
(doseq [path test-repo-paths]
(when (fs/exists? path)
(fs/delete-tree path)
(println " Removed" path)))
(println "Cleanup complete."))
(def tests
"List of e2e test tapes."
["test/e2e/navigation.tape"
"test/e2e/cursor-navigation.tape"
"test/e2e/staging.tape"
"test/e2e/commit.tape"
"test/e2e/commit-verify.tape"
"test/e2e/branches.tape"
"test/e2e/branch-operations.tape"
"test/e2e/branches-tabs.tape"
"test/e2e/branch-order.tape"
"test/e2e/commits-tabs.tape"
"test/e2e/stash-operations.tape"
"test/e2e/stash-menu.tape"
"test/e2e/help-panel.tape"
"test/e2e/reset-menu.tape"
"test/e2e/undo-redo.tape"])
(defn run-tape
"Run a single VHS tape, return true if passed."
[tape]
(println)
(println "Running:" tape)
(println "---")
(let [exit-code (sh-quiet "timeout" "60" "vhs" tape)]
(if (zero? exit-code)
(do (println "PASSED:" tape) true)
(do (println "FAILED:" tape) false))))
(defn run-all
"Run all VHS e2e tests."
[]
(println "Running lazygitclj VHS e2e tests...")
(println "=================================")
;; Clean up any leftover test repos before starting
(cleanup-all)
(let [results (map run-tape tests)
passed (count (filter true? results))
failed (count (filter false? results))]
(println)
(println "=================================")
(println (str "Results: " passed " passed, " failed " failed"))
(println "=================================")
;; Clean up after tests complete
(cleanup-all)
(when (pos? failed)
(System/exit 1))))
;; Allow running from command line
(when (= *file* (System/getProperty "babashka.file"))
(let [args *command-line-args*]
(case (first args)
"setup" (setup-test-repo (or (second args) "/tmp/lazygitclj-e2e-test"))
"setup-cursor" (setup-cursor-test-repo (or (second args) "/tmp/lazygitclj-e2e-cursor"))
"setup-branch-order" (setup-branch-order-test-repo (or (second args) "/tmp/lazygitclj-e2e-branch-order"))
"cleanup-branch-order" (cleanup-branch-order-test-repo (or (second args) "/tmp/lazygitclj-e2e-branch-order"))
"cleanup" (cleanup-all)
"run" (run-all)
(run-all))))
+6 -1
View File
@@ -13,7 +13,7 @@ Set Height 600
Set Framerate 10
# Setup test repo and run lazygitclj
Type "./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-branch && cd /tmp/lazygitclj-e2e-branch && bb --config /home/ajet/repos/lazygitclj/bb.edn start"
Type "cd /home/ajet/repos/lazygitclj && bb e2e:setup /tmp/lazygitclj-e2e-branch && cd /tmp/lazygitclj-e2e-branch && bb --config /home/ajet/repos/lazygitclj/bb.edn start"
Enter
Sleep 2s
@@ -69,3 +69,8 @@ Sleep 500ms
# Quit
Type "q"
Sleep 1s
# Cleanup test repo
Type "rm -rf /tmp/lazygitclj-e2e-branch"
Enter
Sleep 500ms
+66
View File
@@ -0,0 +1,66 @@
# VHS E2E test for lazygitclj - Branch ordering by commit date
# Tests that branches are sorted by commit date (newest first) like lazygit
#
# Setup creates branches with specific commit dates:
# - main: 2024-01-04 (newest)
# - gamma-branch: 2024-01-03
# - beta-branch: 2024-01-02
# - alpha-branch: 2024-01-01 (oldest)
#
# Expected order in UI (by date): main, gamma-branch, beta-branch, alpha-branch
# Alphabetical order would be: alpha-branch, beta-branch, gamma-branch, main
Output test/e2e/output/branch-order.gif
Output test/e2e/output/branch-order.ascii
Require bb
Set Shell "bash"
Set FontSize 14
Set Width 1000
Set Height 600
Set Framerate 10
# Setup test repo with branches having different commit dates
Type "cd /home/ajet/repos/lazygitclj && bb e2e:setup-branch-order"
Enter
Sleep 1s
# Run lazygitclj in the test repo
Type "cd /tmp/lazygitclj-e2e-branch-order && bb --config /home/ajet/repos/lazygitclj/bb.edn start"
Enter
Sleep 2s
# Switch to Branches panel (panel 3)
Type "3"
Sleep 500ms
# The branches panel should show branches in date order:
# gamma-branch (newest), beta-branch, alpha-branch, main (oldest)
# Take a moment to verify the order visually
Sleep 2s
# Navigate down through the branches to verify order
Type "j"
Sleep 300ms
Type "j"
Sleep 300ms
Type "j"
Sleep 300ms
# Navigate back up
Type "k"
Sleep 300ms
Type "k"
Sleep 300ms
Type "k"
Sleep 300ms
# Quit
Type "q"
Sleep 1s
# Cleanup test repo
Type "cd /home/ajet/repos/lazygitclj && bb e2e:cleanup-branch-order"
Enter
Sleep 500ms
+6 -1
View File
@@ -13,7 +13,7 @@ Set Height 600
Set Framerate 10
# Setup test repo with tags and run lazygitclj
Type "./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-branches-tabs && cd /tmp/lazygitclj-e2e-branches-tabs && git tag v1.0.0 && bb --config /home/ajet/repos/lazygitclj/bb.edn start"
Type "cd /home/ajet/repos/lazygitclj && bb e2e:setup /tmp/lazygitclj-e2e-branches-tabs && cd /tmp/lazygitclj-e2e-branches-tabs && git tag v1.0.0 && bb --config /home/ajet/repos/lazygitclj/bb.edn start"
Enter
Sleep 2s
@@ -46,3 +46,8 @@ Sleep 500ms
# Quit
Type "q"
Sleep 1s
# Cleanup test repo
Type "rm -rf /tmp/lazygitclj-e2e-branches-tabs"
Enter
Sleep 500ms
+7 -2
View File
@@ -12,8 +12,8 @@ Set Width 1000
Set Height 600
Set Framerate 10
# Setup test repo (clean working tree) and run lazygitclj
Type "cd /tmp && rm -rf lazygitclj-e2e-branch && git clone /tmp/lazygitclj-e2e-nav lazygitclj-e2e-branch 2>/dev/null && cd lazygitclj-e2e-branch && git checkout main && bb --config /home/ajet/repos/lazygitclj/bb.edn start"
# Setup test repo and run lazygitclj
Type "cd /home/ajet/repos/lazygitclj && bb e2e:setup /tmp/lazygitclj-e2e-branch && cd /tmp/lazygitclj-e2e-branch && bb --config /home/ajet/repos/lazygitclj/bb.edn start"
Enter
Sleep 2s
@@ -37,3 +37,8 @@ Sleep 500ms
# Quit
Type "q"
Sleep 1s
# Cleanup test repo
Type "rm -rf /tmp/lazygitclj-e2e-branch"
Enter
Sleep 500ms
+5
View File
@@ -83,3 +83,8 @@ Sleep 500ms
Type "git show --stat HEAD"
Enter
Sleep 1s
# Cleanup test repo
Type "rm -rf /tmp/lazygitclj-e2e-commit-verify"
Enter
Sleep 500ms
+6 -1
View File
@@ -13,7 +13,7 @@ Set Height 600
Set Framerate 10
# Setup test repo and run lazygitclj
Type "./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-commit && cd /tmp/lazygitclj-e2e-commit && bb --config /home/ajet/repos/lazygitclj/bb.edn start"
Type "cd /home/ajet/repos/lazygitclj && bb e2e:setup /tmp/lazygitclj-e2e-commit && cd /tmp/lazygitclj-e2e-commit && bb --config /home/ajet/repos/lazygitclj/bb.edn start"
Enter
Sleep 2s
@@ -48,3 +48,8 @@ Sleep 500ms
# Quit
Type "q"
Sleep 1s
# Cleanup test repo
Type "rm -rf /tmp/lazygitclj-e2e-commit"
Enter
Sleep 500ms
+6 -1
View File
@@ -13,7 +13,7 @@ Set Height 600
Set Framerate 10
# Setup test repo and run lazygitclj
Type "./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-commits-tabs && cd /tmp/lazygitclj-e2e-commits-tabs && bb --config /home/ajet/repos/lazygitclj/bb.edn start"
Type "cd /home/ajet/repos/lazygitclj && bb e2e:setup /tmp/lazygitclj-e2e-commits-tabs && cd /tmp/lazygitclj-e2e-commits-tabs && bb --config /home/ajet/repos/lazygitclj/bb.edn start"
Enter
Sleep 2s
@@ -44,3 +44,8 @@ Sleep 500ms
# Quit
Type "q"
Sleep 1s
# Cleanup test repo
Type "rm -rf /tmp/lazygitclj-e2e-commits-tabs"
Enter
Sleep 500ms
+6 -1
View File
@@ -13,7 +13,7 @@ Set Height 600
Set Framerate 10
# Setup test repo with many files
Type "REPO=/tmp/lazygitclj-e2e-cursor && rm -rf $REPO && mkdir -p $REPO && cd $REPO && git init -b main && git config user.email 'test@test.com' && git config user.name 'Test' && for i in $(seq 1 20); do echo \"content $i\" > file$i.txt; done && git add . && git commit -m 'Initial' && for i in $(seq 1 20); do echo \"modified $i\" >> file$i.txt; done && bb --config /home/ajet/repos/lazygitclj/bb.edn start"
Type "cd /home/ajet/repos/lazygitclj && bb e2e:setup-cursor && cd /tmp/lazygitclj-e2e-cursor && bb --config /home/ajet/repos/lazygitclj/bb.edn start"
Enter
Sleep 3s
@@ -50,3 +50,8 @@ Sleep 500ms
# Quit
Type "q"
Sleep 1s
# Cleanup test repo
Type "rm -rf /tmp/lazygitclj-e2e-cursor"
Enter
Sleep 500ms
-31
View File
@@ -1,31 +0,0 @@
# VHS debug test - check git status and lazygitclj display
Output test/e2e/output/debug.gif
Output test/e2e/output/debug.ascii
Require bb
Set Shell "bash"
Set FontSize 14
Set Width 1000
Set Height 600
Set Framerate 10
# Setup test repo
Type "./test/e2e/setup-test-repo.sh /tmp/lazygitclj-debug"
Enter
Sleep 2s
# Show git status
Type "cd /tmp/lazygitclj-debug && git status --porcelain"
Enter
Sleep 1s
# Run lazygitclj
Type "bb --config /home/ajet/repos/lazygitclj/bb.edn start"
Enter
Sleep 2s
# Quit
Type "q"
Sleep 1s
+6 -1
View File
@@ -13,7 +13,7 @@ Set Height 600
Set Framerate 10
# Setup test repo and run lazygitclj
Type "./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-help && cd /tmp/lazygitclj-e2e-help && bb --config /home/ajet/repos/lazygitclj/bb.edn start"
Type "cd /home/ajet/repos/lazygitclj && bb e2e:setup /tmp/lazygitclj-e2e-help && cd /tmp/lazygitclj-e2e-help && bb --config /home/ajet/repos/lazygitclj/bb.edn start"
Enter
Sleep 2s
@@ -36,3 +36,8 @@ Sleep 1s
# Quit the app
Type "q"
Sleep 1s
# Cleanup test repo
Type "rm -rf /tmp/lazygitclj-e2e-help"
Enter
Sleep 500ms
+6 -1
View File
@@ -13,7 +13,7 @@ Set Height 600
Set Framerate 10
# Setup test repo and run lazygitclj
Type "./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-nav && cd /tmp/lazygitclj-e2e-nav && bb --config /home/ajet/repos/lazygitclj/bb.edn start"
Type "cd /home/ajet/repos/lazygitclj && bb e2e:setup /tmp/lazygitclj-e2e-nav && cd /tmp/lazygitclj-e2e-nav && bb --config /home/ajet/repos/lazygitclj/bb.edn start"
Enter
Sleep 2s
@@ -77,3 +77,8 @@ Sleep 300ms
# Quit with q
Type "q"
Sleep 1s
# Cleanup test repo
Type "rm -rf /tmp/lazygitclj-e2e-nav"
Enter
Sleep 500ms
File diff suppressed because it is too large Load Diff
Binary file not shown.

Before

Width:  |  Height:  |  Size: 193 KiB

-696
View File
@@ -1,696 +0,0 @@
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
> cd /tmp && rm -rf lazygitclj-e2e-branch && git clone /tmp/lazygitclj-e2e-nav lazygitclj-e2e-branch
2>/dev/null && cd lazygitclj-e2e-branch && git checkout main && bb --config /home/ajet/repos/claj
ygit/bb.edn start
────────────────────────────────────────────────────────────────────────────────
> cd /tmp && rm -rf lazygitclj-e2e-branch && git clone /tmp/lazygitclj-e2e-nav lazygitclj-e2e-branch
2>/dev/null && cd lazygitclj-e2e-branch && git checkout main && bb --config /home/ajet/repos/claj
ygit/bb.edn start
Already on 'main'
Your branch is up to date with 'origin/main'.
Starting lazygitclj...
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (8837ca0) ↑0 ↓0
╔═ 1 Files (0) ═════╗
║ Clean working tree ║
╚════════════════════╝
╭─ 2 Commits (1) ──────────────────────────╮
│ 8837ca0 Initial commit (81 seconds ago) │
╰───────────────────────────────────────────╯
╭─ 3 Branches (1) ╮
│ * main │
╰─────────────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (8837ca0) ↑0 ↓0
╭─ 1 Files (0) ─────╮
│ Clean working tree │
╰────────────────────╯
╭─ 2 Commits (1) ──────────────────────────╮
│ 8837ca0 Initial commit (81 seconds ago) │
╰───────────────────────────────────────────╯
╔═ 3 Branches (1) ╗
║ > * main ║
╚═════════════════╝
q:quit r:refresh tab:switch enter:checkout p:pull P:push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (8837ca0) ↑0 ↓0
╭─ 1 Files (0) ─────╮
│ Clean working tree │
╰────────────────────╯
╭─ 2 Commits (1) ──────────────────────────╮
│ 8837ca0 Initial commit (81 seconds ago) │
╰───────────────────────────────────────────╯
╔═ 3 Branches (1) ╗
║ > * main ║
╚═════════════════╝
q:quit r:refresh tab:switch enter:checkout p:pull P:push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (8837ca0) ↑0 ↓0
╭─ 1 Files (0) ─────╮
│ Clean working tree │
╰────────────────────╯
╭─ 2 Commits (1) ──────────────────────────╮
│ 8837ca0 Initial commit (81 seconds ago) │
╰───────────────────────────────────────────╯
╔═ 3 Branches (1) ╗
║ > * main ║
╚═════════════════╝
q:quit r:refresh tab:switch enter:checkout p:pull P:push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (8837ca0) ↑0 ↓0
╭─ 1 Files (0) ─────╮
│ Clean working tree │
╰────────────────────╯
╭─ 2 Commits (1) ──────────────────────────╮
│ 8837ca0 Initial commit (81 seconds ago) │
╰───────────────────────────────────────────╯
╔═ 3 Branches (1) ╗
║ > * main ║
╚═════════════════╝
q:quit r:refresh tab:switch enter:checkout p:pull P:push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (8837ca0) ↑0 ↓0
╭─ 1 Files (0) ─────╮
│ Clean working tree │
╰────────────────────╯
╭─ 2 Commits (1) ──────────────────────────╮
│ 8837ca0 Initial commit (81 seconds ago) │
╰───────────────────────────────────────────╯
╔═ 3 Branches (1) ╗
║ > * main ║
╚═════════════════╝
q:quit r:refresh tab:switch enter:checkout p:pull P:push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (8837ca0) ↑0 ↓0
╭─ 1 Files (0) ─────╮
│ Clean working tree │
╰────────────────────╯
╭─ 2 Commits (1) ──────────────────────────╮
│ 8837ca0 Initial commit (81 seconds ago) │
╰───────────────────────────────────────────╯
╔═ 3 Branches (1) ╗
║ > * main ║
╚═════════════════╝
q:quit r:refresh tab:switch enter:checkout p:pull P:push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (8837ca0) ↑0 ↓0
╔═ 1 Files (0) ═════╗
║ Clean working tree ║
╚════════════════════╝
╭─ 2 Commits (1) ──────────────────────────╮
│ 8837ca0 Initial commit (81 seconds ago) │
╰───────────────────────────────────────────╯
╭─ 3 Branches (1) ╮
│ * main │
╰─────────────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (8837ca0) ↑0 ↓0
╔═ 1 Files (0) ═════╗
║ Clean working tree ║
╚════════════════════╝
╭─ 2 Commits (1) ──────────────────────────╮
│ 8837ca0 Initial commit (81 seconds ago) │
╰───────────────────────────────────────────╯
╭─ 3 Branches (1) ╮
│ * main │
╰─────────────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
> cd /tmp && rm -rf lazygitclj-e2e-branch && git clone /tmp/lazygitclj-e2e-nav lazygitclj-e2e-branch
2>/dev/null && cd lazygitclj-e2e-branch && git checkout main && bb --config /home/ajet/repos/claj
ygit/bb.edn start
Already on 'main'
Your branch is up to date with 'origin/main'.
Starting lazygitclj...
Goodbye!
>
────────────────────────────────────────────────────────────────────────────────
> cd /tmp && rm -rf lazygitclj-e2e-branch && git clone /tmp/lazygitclj-e2e-nav lazygitclj-e2e-branch
2>/dev/null && cd lazygitclj-e2e-branch && git checkout main && bb --config /home/ajet/repos/claj
ygit/bb.edn start
Already on 'main'
Your branch is up to date with 'origin/main'.
Starting lazygitclj...
Goodbye!
>
────────────────────────────────────────────────────────────────────────────────
Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

File diff suppressed because it is too large Load Diff
Binary file not shown.

Before

Width:  |  Height:  |  Size: 353 KiB

-906
View File
@@ -1,906 +0,0 @@
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-commit && cd /tmp/lazygitclj-e2e-commit && bb -
-config /home/ajet/repos/lazygitclj/bb.edn start
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-commit && cd /tmp/lazygitclj-e2e-commit && bb -
-config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-commit/.git/
[main (root-commit) bbbe757] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 29e8112] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-commit
- main branch with 1 commit
- feature-branch with 1 extra commit
- 1 staged file (file2.txt)
- 1 unstaged file (file1.txt)
- 1 untracked file (newfile.txt)
Starting lazygitclj...
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (bbbe757)
╔═ 1 Files (3) ═══╗
║ Staged: ║
║ > M file2.txt ║
║ ║
║ Unstaged: ║
║ M file1.txt ║
║ ?? newfile.txt ║
╚══════════════════╝
╭─ 2 Commits (1) ─────────────────────────╮
│ bbbe757 Initial commit (0 seconds ago) │
╰──────────────────────────────────────────╯
╭─ 3 Branches (2) ──╮
│ feature-branch │
│ * main │
╰────────────────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (bbbe757)
╔═ 1 Files (3) ═══╗
║ Staged: ║
║ > M file1.txt ║
║ M file2.txt ║
║ A newfile.txt ║
║ ║
║ ║
╚══════════════════╝
╭─ 2 Commits (1) ─────────────────────────╮
│ bbbe757 Initial commit (2 seconds ago) │
╰──────────────────────────────────────────╯
╭─ 3 Branches (2) ──╮
│ feature-branch │
│ * main │
╰────────────────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (bbbe757)
╔═ 1 Files (3) ═══╗
║ Staged: ║
║ > M file1.txt ║
║ M file2.txt ║
║ A newfile.txt ║
║ ║
║ ║
╚══════════════════╝
╭─ 2 Commits (1) ─────────────────────────╮
│ bbbe757 Initial commit (2 seconds ago) │
╰──────────────────────────────────────────╯
╭─ 3 Branches (2) ──╮
│ feature-branch │
│ * main │
╰────────────────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (bbbe757)
╭─ commit ╮
│ > _ │
╰─────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (bbbe757)
╭─ commit ╮
│ > _ │
╰─────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (bbbe757)
╭─ commit ╮
│ > _ │
╰─────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (bbbe757)
╭─ commit ╮
│ > _ │
╰─────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (bbbe757)
╭─ commit ╮
│ > _ │
╰─────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (bbbe757)
Commit message cannot be empty
╭─ commit ╮
│ > _ │
╰─────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (bbbe757)
Commit message cannot be empty
╭─ commit ╮
│ > _ │
╰─────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (bbbe757)
Commit message cannot be empty
╭─ commit ╮
│ > _ │
╰─────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (bbbe757)
Commit message cannot be empty
╭─ commit ╮
│ > _ │
╰─────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (bbbe757)
Commit message cannot be empty
╭─ commit ╮
│ > _ │
╰─────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (bbbe757)
Commit message cannot be empty
╭─ commit ╮
│ > _ │
╰─────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (bbbe757)
Commit message cannot be empty
╭─ commit ╮
│ > _ │
╰─────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (bbbe757)
Commit message cannot be empty
╭─ commit ╮
│ > _ │
╰─────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (bbbe757)
Commit message cannot be empty
╭─ commit ╮
│ > _ │
╰─────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (bbbe757)
Commit message cannot be empty
╭─ commit ╮
│ > _ │
╰─────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

-816
View File
@@ -1,816 +0,0 @@
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-commits-tabs && cd /tmp/lazygitclj-e2e-commits-
tabs && bb --config /home/ajet/repos/lazygitclj/bb.edn start
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-commits-tabs && cd /tmp/lazygitclj-e2e-commits-
tabs && bb --config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-commits-tabs/.git/
[main (root-commit) dba4a40] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 8f863df] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-commits-tabs
- main branch with 1 commit
- feature-branch with 1 extra commit
- 1 staged file (file2.txt)
- 1 unstaged file (file1.txt)
- 1 untracked file (newfile.txt)
Starting lazygitclj...
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (dba4a40)
╔═ 1 Files (3) ═╗
║ Staged: ║
║ M > file2.txt ║
║ ║
║ Unstaged: ║
║ M file1.txt ║
║ ?? newfile.txt ║
╚════════════════╝
╭─ 2 [Commits] | Reflog (1) ────────────╮
│ dba4a40 Initial commit (0 seconds ago) │
╰────────────────────────────────────────╯
╭─ 3 [Local] | Remotes | Tags (2) ╮
│ feature-branch │
│ * main │
╰─────────────────────────────────╯
╭─ 4 Stash (0) ╮
│ No stashes │
╰──────────────╯
q:quit ?:help D:reset spc:stage a:all c:commit d:discard s/S:stash p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (dba4a40)
╭─ 1 Files (3) ─╮
│ Staged: │
│ M file2.txt │
│ │
│ Unstaged: │
│ M file1.txt │
│ ?? newfile.txt │
╰────────────────╯
╔═ 2 [Commits] | Reflog (1) ══════════════╗
║ dba4a40 > Initial commit (0 seconds ago) ║
╚══════════════════════════════════════════╝
╭─ 3 [Local] | Remotes | Tags (2) ╮
│ feature-branch │
│ * main │
╰─────────────────────────────────╯
╭─ 4 Stash (0) ╮
│ No stashes │
╰──────────────╯
q:quit ?:help D:reset []:tabs spc:checkout t:revert C:cherry-pick p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (dba4a40)
╭─ 1 Files (3) ─╮
│ Staged: │
│ M file2.txt │
│ │
│ Unstaged: │
│ M file1.txt │
│ ?? newfile.txt │
╰────────────────╯
╔═ 2 [Commits] | Reflog (1) ══════════════╗
║ dba4a40 > Initial commit (0 seconds ago) ║
╚══════════════════════════════════════════╝
╭─ 3 [Local] | Remotes | Tags (2) ╮
│ feature-branch │
│ * main │
╰─────────────────────────────────╯
╭─ 4 Stash (0) ╮
│ No stashes │
╰──────────────╯
q:quit ?:help D:reset []:tabs spc:checkout t:revert C:cherry-pick p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (dba4a40)
╭─ 1 Files (3) ─╮
│ Staged: │
│ M file2.txt │
│ │
│ Unstaged: │
│ M file1.txt │
│ ?? newfile.txt │
╰────────────────╯
╔═ 2 Commits | [Reflog] (4) ════════════════════════════════════╗
║ dba4a40 > checkout: moving from feature-branch to ... HEAD@{0} ║
║ 8f863df commit: Feature work HEAD@{1} ║
║ dba4a40 checkout: moving from main to feature-br... HEAD@{2} ║
║ dba4a40 commit (initial): Initial commit HEAD@{3} ║
╚════════════════════════════════════════════════════════════════╝
╭─ 3 [Local] | Remotes | Tags (2) ╮
│ feature-branch │
│ * main │
╰─────────────────────────────────╯
╭─ 4 Stash (0) ╮
│ No stashes │
╰──────────────╯
q:quit ?:help D:reset []:tabs spc:checkout t:revert C:cherry-pick p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (dba4a40)
╭─ 1 Files (3) ─╮
│ Staged: │
│ M file2.txt │
│ │
│ Unstaged: │
│ M file1.txt │
│ ?? newfile.txt │
╰────────────────╯
╔═ 2 Commits | [Reflog] (4) ════════════════════════════════════╗
║ dba4a40 > checkout: moving from feature-branch to ... HEAD@{0} ║
║ 8f863df commit: Feature work HEAD@{1} ║
║ dba4a40 checkout: moving from main to feature-br... HEAD@{2} ║
║ dba4a40 commit (initial): Initial commit HEAD@{3} ║
╚════════════════════════════════════════════════════════════════╝
╭─ 3 [Local] | Remotes | Tags (2) ╮
│ feature-branch │
│ * main │
╰─────────────────────────────────╯
╭─ 4 Stash (0) ╮
│ No stashes │
╰──────────────╯
q:quit ?:help D:reset []:tabs spc:checkout t:revert C:cherry-pick p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (dba4a40)
╭─ 1 Files (3) ─╮
│ Staged: │
│ M file2.txt │
│ │
│ Unstaged: │
│ M file1.txt │
│ ?? newfile.txt │
╰────────────────╯
╔═ 2 Commits | [Reflog] (4) ══════════════════════════════════╗
║ dba4a40 checkout: moving from feature-branch to ... HEAD@{0} ║
║ 8f863df > commit: Feature work HEAD@{1} ║
║ dba4a40 checkout: moving from main to feature-br... HEAD@{2} ║
║ dba4a40 commit (initial): Initial commit HEAD@{3} ║
╚══════════════════════════════════════════════════════════════╝
╭─ 3 [Local] | Remotes | Tags (2) ╮
│ feature-branch │
│ * main │
╰─────────────────────────────────╯
╭─ 4 Stash (0) ╮
│ No stashes │
╰──────────────╯
q:quit ?:help D:reset []:tabs spc:checkout t:revert C:cherry-pick p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (dba4a40)
╭─ 1 Files (3) ─╮
│ Staged: │
│ M file2.txt │
│ │
│ Unstaged: │
│ M file1.txt │
│ ?? newfile.txt │
╰────────────────╯
╔═ 2 Commits | [Reflog] (4) ══════════════════════════════════╗
║ dba4a40 checkout: moving from feature-branch to ... HEAD@{0} ║
║ 8f863df > commit: Feature work HEAD@{1} ║
║ dba4a40 checkout: moving from main to feature-br... HEAD@{2} ║
║ dba4a40 commit (initial): Initial commit HEAD@{3} ║
╚══════════════════════════════════════════════════════════════╝
╭─ 3 [Local] | Remotes | Tags (2) ╮
│ feature-branch │
│ * main │
╰─────────────────────────────────╯
╭─ 4 Stash (0) ╮
│ No stashes │
╰──────────────╯
q:quit ?:help D:reset []:tabs spc:checkout t:revert C:cherry-pick p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (dba4a40)
╭─ 1 Files (3) ─╮
│ Staged: │
│ M file2.txt │
│ │
│ Unstaged: │
│ M file1.txt │
│ ?? newfile.txt │
╰────────────────╯
╔═ 2 Commits | [Reflog] (4) ════════════════════════════════════╗
║ dba4a40 > checkout: moving from feature-branch to ... HEAD@{0} ║
║ 8f863df commit: Feature work HEAD@{1} ║
║ dba4a40 checkout: moving from main to feature-br... HEAD@{2} ║
║ dba4a40 commit (initial): Initial commit HEAD@{3} ║
╚════════════════════════════════════════════════════════════════╝
╭─ 3 [Local] | Remotes | Tags (2) ╮
│ feature-branch │
│ * main │
╰─────────────────────────────────╯
╭─ 4 Stash (0) ╮
│ No stashes │
╰──────────────╯
q:quit ?:help D:reset []:tabs spc:checkout t:revert C:cherry-pick p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (dba4a40)
╭─ 1 Files (3) ─╮
│ Staged: │
│ M file2.txt │
│ │
│ Unstaged: │
│ M file1.txt │
│ ?? newfile.txt │
╰────────────────╯
╔═ 2 Commits | [Reflog] (4) ════════════════════════════════════╗
║ dba4a40 > checkout: moving from feature-branch to ... HEAD@{0} ║
║ 8f863df commit: Feature work HEAD@{1} ║
║ dba4a40 checkout: moving from main to feature-br... HEAD@{2} ║
║ dba4a40 commit (initial): Initial commit HEAD@{3} ║
╚════════════════════════════════════════════════════════════════╝
╭─ 3 [Local] | Remotes | Tags (2) ╮
│ feature-branch │
│ * main │
╰─────────────────────────────────╯
╭─ 4 Stash (0) ╮
│ No stashes │
╰──────────────╯
q:quit ?:help D:reset []:tabs spc:checkout t:revert C:cherry-pick p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (dba4a40)
╭─ 1 Files (3) ─╮
│ Staged: │
│ M file2.txt │
│ │
│ Unstaged: │
│ M file1.txt │
│ ?? newfile.txt │
╰────────────────╯
╔═ 2 [Commits] | Reflog (1) ══════════════╗
║ dba4a40 > Initial commit (0 seconds ago) ║
╚══════════════════════════════════════════╝
╭─ 3 [Local] | Remotes | Tags (2) ╮
│ feature-branch │
│ * main │
╰─────────────────────────────────╯
╭─ 4 Stash (0) ╮
│ No stashes │
╰──────────────╯
q:quit ?:help D:reset []:tabs spc:checkout t:revert C:cherry-pick p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (dba4a40)
╭─ 1 Files (3) ─╮
│ Staged: │
│ M file2.txt │
│ │
│ Unstaged: │
│ M file1.txt │
│ ?? newfile.txt │
╰────────────────╯
╔═ 2 [Commits] | Reflog (1) ══════════════╗
║ dba4a40 > Initial commit (0 seconds ago) ║
╚══════════════════════════════════════════╝
╭─ 3 [Local] | Remotes | Tags (2) ╮
│ feature-branch │
│ * main │
╰─────────────────────────────────╯
╭─ 4 Stash (0) ╮
│ No stashes │
╰──────────────╯
q:quit ?:help D:reset []:tabs spc:checkout t:revert C:cherry-pick p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (dba4a40)
╭─ 1 Files (3) ─╮
│ Staged: │
│ M file2.txt │
│ │
│ Unstaged: │
│ M file1.txt │
│ ?? newfile.txt │
╰────────────────╯
╔═ 2 [Commits] | Reflog (1) ══════════════╗
║ dba4a40 > Initial commit (0 seconds ago) ║
╚══════════════════════════════════════════╝
╭─ 3 [Local] | Remotes | Tags (2) ╮
│ feature-branch │
│ * main │
╰─────────────────────────────────╯
╭─ 4 Stash (0) ╮
│ No stashes │
╰──────────────╯
q:quit ?:help D:reset []:tabs spc:checkout t:revert C:cherry-pick p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (dba4a40)
╭─ 1 Files (3) ─╮
│ Staged: │
│ M file2.txt │
│ │
│ Unstaged: │
│ M file1.txt │
│ ?? newfile.txt │
╰────────────────╯
╔═ 2 [Commits] | Reflog (1) ══════════════╗
║ dba4a40 > Initial commit (0 seconds ago) ║
╚══════════════════════════════════════════╝
╭─ 3 [Local] | Remotes | Tags (2) ╮
│ feature-branch │
│ * main │
╰─────────────────────────────────╯
╭─ 4 Stash (0) ╮
│ No stashes │
╰──────────────╯
q:quit ?:help D:reset []:tabs spc:checkout t:revert C:cherry-pick p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-commits-tabs && cd /tmp/lazygitclj-e2e-commits-
tabs && bb --config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-commits-tabs/.git/
[main (root-commit) dba4a40] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 8f863df] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-commits-tabs
- main branch with 1 commit
- feature-branch with 1 extra commit
- 1 staged file (file2.txt)
- 1 unstaged file (file1.txt)
- 1 untracked file (newfile.txt)
Starting lazygitclj...
Goodbye!
>
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-commits-tabs && cd /tmp/lazygitclj-e2e-commits-
tabs && bb --config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-commits-tabs/.git/
[main (root-commit) dba4a40] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 8f863df] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-commits-tabs
- main branch with 1 commit
- feature-branch with 1 extra commit
- 1 staged file (file2.txt)
- 1 unstaged file (file1.txt)
- 1 untracked file (newfile.txt)
Starting lazygitclj...
Goodbye!
>
────────────────────────────────────────────────────────────────────────────────
Binary file not shown.

Before

Width:  |  Height:  |  Size: 186 KiB

-636
View File
@@ -1,636 +0,0 @@
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-debug
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-debug
Initialized empty Git repository in /tmp/lazygitclj-debug/.git/
[main (root-commit) dd04b48] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 18fb092] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-debug
- main branch with 1 commit
- feature-branch with 1 extra commit
- 1 staged file (file2.txt)
- 1 unstaged file (file1.txt)
- 1 untracked file (newfile.txt)
>
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-debug
Initialized empty Git repository in /tmp/lazygitclj-debug/.git/
[main (root-commit) dd04b48] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 18fb092] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-debug
- main branch with 1 commit
- feature-branch with 1 extra commit
- 1 staged file (file2.txt)
- 1 unstaged file (file1.txt)
- 1 untracked file (newfile.txt)
>
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-debug
Initialized empty Git repository in /tmp/lazygitclj-debug/.git/
[main (root-commit) dd04b48] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 18fb092] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-debug
- main branch with 1 commit
- feature-branch with 1 extra commit
- 1 staged file (file2.txt)
- 1 unstaged file (file1.txt)
- 1 untracked file (newfile.txt)
> cd /tmp/lazygitclj-debug && git status --porcelain
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-debug
Initialized empty Git repository in /tmp/lazygitclj-debug/.git/
[main (root-commit) dd04b48] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 18fb092] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-debug
- main branch with 1 commit
- feature-branch with 1 extra commit
- 1 staged file (file2.txt)
- 1 unstaged file (file1.txt)
- 1 untracked file (newfile.txt)
> cd /tmp/lazygitclj-debug && git status --porcelain
M file1.txt
M file2.txt
?? newfile.txt
>
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-debug
Initialized empty Git repository in /tmp/lazygitclj-debug/.git/
[main (root-commit) dd04b48] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 18fb092] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-debug
- main branch with 1 commit
- feature-branch with 1 extra commit
- 1 staged file (file2.txt)
- 1 unstaged file (file1.txt)
- 1 untracked file (newfile.txt)
> cd /tmp/lazygitclj-debug && git status --porcelain
M file1.txt
M file2.txt
?? newfile.txt
>
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-debug
Initialized empty Git repository in /tmp/lazygitclj-debug/.git/
[main (root-commit) dd04b48] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 18fb092] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-debug
- main branch with 1 commit
- feature-branch with 1 extra commit
- 1 staged file (file2.txt)
- 1 unstaged file (file1.txt)
- 1 untracked file (newfile.txt)
> cd /tmp/lazygitclj-debug && git status --porcelain
M file1.txt
M file2.txt
?? newfile.txt
> bb --config /home/ajet/repos/lazygitclj/bb.edn start
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-debug
Initialized empty Git repository in /tmp/lazygitclj-debug/.git/
[main (root-commit) dd04b48] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 18fb092] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-debug
- main branch with 1 commit
- feature-branch with 1 extra commit
- 1 staged file (file2.txt)
- 1 unstaged file (file1.txt)
- 1 untracked file (newfile.txt)
> cd /tmp/lazygitclj-debug && git status --porcelain
M file1.txt
M file2.txt
?? newfile.txt
> bb --config /home/ajet/repos/lazygitclj/bb.edn start
Starting lazygitclj...
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (dd04b48)
╔═ 1 Files (3) ═╗
║ Staged: ║
║ M > file2.txt ║
║ ║
║ Unstaged: ║
║ M file1.txt ║
║ ?? newfile.txt ║
╚════════════════╝
╭─ 2 [Commits] | Reflog (1) ────────────╮
│ dd04b48 Initial commit (9 seconds ago) │
╰────────────────────────────────────────╯
╭─ 3 [Local] | Remotes | Tags (2) ╮
│ feature-branch │
│ * main │
╰─────────────────────────────────╯
╭─ 4 Stash (0) ╮
│ No stashes │
╰──────────────╯
q:quit ?:help D:reset spc:stage a:all c:commit d:discard s/S:stash p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-debug
Initialized empty Git repository in /tmp/lazygitclj-debug/.git/
[main (root-commit) dd04b48] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 18fb092] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-debug
- main branch with 1 commit
- feature-branch with 1 extra commit
- 1 staged file (file2.txt)
- 1 unstaged file (file1.txt)
- 1 untracked file (newfile.txt)
> cd /tmp/lazygitclj-debug && git status --porcelain
M file1.txt
M file2.txt
?? newfile.txt
> bb --config /home/ajet/repos/lazygitclj/bb.edn start
Starting lazygitclj...
Goodbye!
>
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-debug
Initialized empty Git repository in /tmp/lazygitclj-debug/.git/
[main (root-commit) dd04b48] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 18fb092] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-debug
- main branch with 1 commit
- feature-branch with 1 extra commit
- 1 staged file (file2.txt)
- 1 unstaged file (file1.txt)
- 1 untracked file (newfile.txt)
> cd /tmp/lazygitclj-debug && git status --porcelain
M file1.txt
M file2.txt
?? newfile.txt
> bb --config /home/ajet/repos/lazygitclj/bb.edn start
Starting lazygitclj...
Goodbye!
>
────────────────────────────────────────────────────────────────────────────────
Binary file not shown.

Before

Width:  |  Height:  |  Size: 161 KiB

-696
View File
@@ -1,696 +0,0 @@
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-help && cd /tmp/lazygitclj-e2e-help && bb -
-config /home/ajet/repos/lazygitclj/bb.edn start
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-help && cd /tmp/lazygitclj-e2e-help && bb -
-config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-help/.git/
[main (root-commit) 73a02ed] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch b40de63] Add feature
1 file changed, 1 insertion(+)
create mode 100644 feature.txt
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-help
----- Error --------------------------------------------------------------------
Type: java.io.FileNotFoundException
Message: Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
Location: /home/ajet/repos/lazygitclj/src/lazygitclj/core.clj:3:3
----- Context ------------------------------------------------------------------
1: (ns lazygitclj.core
2: "lazygitclj - A lazygit-inspired TUI for git."
3: (:require [tui.simple :as tui]
^--- Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
4: [tui.core :refer [quit]]
5: [lazygitclj.git :as git]
6: [clojure.string :as str]))
7:
8: ;; === Model ===
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-help && cd /tmp/lazygitclj-e2e-help && bb -
-config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-help/.git/
[main (root-commit) 73a02ed] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch b40de63] Add feature
1 file changed, 1 insertion(+)
create mode 100644 feature.txt
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-help
----- Error --------------------------------------------------------------------
Type: java.io.FileNotFoundException
Message: Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
Location: /home/ajet/repos/lazygitclj/src/lazygitclj/core.clj:3:3
----- Context ------------------------------------------------------------------
1: (ns lazygitclj.core
2: "lazygitclj - A lazygit-inspired TUI for git."
3: (:require [tui.simple :as tui]
^--- Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
4: [tui.core :refer [quit]]
5: [lazygitclj.git :as git]
6: [clojure.string :as str]))
7:
8: ;; === Model ===
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-help && cd /tmp/lazygitclj-e2e-help && bb -
-config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-help/.git/
[main (root-commit) 73a02ed] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch b40de63] Add feature
1 file changed, 1 insertion(+)
create mode 100644 feature.txt
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-help
----- Error --------------------------------------------------------------------
Type: java.io.FileNotFoundException
Message: Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
Location: /home/ajet/repos/lazygitclj/src/lazygitclj/core.clj:3:3
----- Context ------------------------------------------------------------------
1: (ns lazygitclj.core
2: "lazygitclj - A lazygit-inspired TUI for git."
3: (:require [tui.simple :as tui]
^--- Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
4: [tui.core :refer [quit]]
5: [lazygitclj.git :as git]
6: [clojure.string :as str]))
7:
8: ;; === Model ===
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-help && cd /tmp/lazygitclj-e2e-help && bb -
-config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-help/.git/
[main (root-commit) 73a02ed] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch b40de63] Add feature
1 file changed, 1 insertion(+)
create mode 100644 feature.txt
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-help
----- Error --------------------------------------------------------------------
Type: java.io.FileNotFoundException
Message: Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
Location: /home/ajet/repos/lazygitclj/src/lazygitclj/core.clj:3:3
----- Context ------------------------------------------------------------------
1: (ns lazygitclj.core
2: "lazygitclj - A lazygit-inspired TUI for git."
3: (:require [tui.simple :as tui]
^--- Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
4: [tui.core :refer [quit]]
5: [lazygitclj.git :as git]
6: [clojure.string :as str]))
7:
8: ;; === Model ===
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-help && cd /tmp/lazygitclj-e2e-help && bb -
-config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-help/.git/
[main (root-commit) 73a02ed] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch b40de63] Add feature
1 file changed, 1 insertion(+)
create mode 100644 feature.txt
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-help
----- Error --------------------------------------------------------------------
Type: java.io.FileNotFoundException
Message: Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
Location: /home/ajet/repos/lazygitclj/src/lazygitclj/core.clj:3:3
----- Context ------------------------------------------------------------------
1: (ns lazygitclj.core
2: "lazygitclj - A lazygit-inspired TUI for git."
3: (:require [tui.simple :as tui]
^--- Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
4: [tui.core :refer [quit]]
5: [lazygitclj.git :as git]
6: [clojure.string :as str]))
7:
8: ;; === Model ===
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-help && cd /tmp/lazygitclj-e2e-help && bb -
-config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-help/.git/
[main (root-commit) 73a02ed] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch b40de63] Add feature
1 file changed, 1 insertion(+)
create mode 100644 feature.txt
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-help
----- Error --------------------------------------------------------------------
Type: java.io.FileNotFoundException
Message: Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
Location: /home/ajet/repos/lazygitclj/src/lazygitclj/core.clj:3:3
----- Context ------------------------------------------------------------------
1: (ns lazygitclj.core
2: "lazygitclj - A lazygit-inspired TUI for git."
3: (:require [tui.simple :as tui]
^--- Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
4: [tui.core :refer [quit]]
5: [lazygitclj.git :as git]
6: [clojure.string :as str]))
7:
8: ;; === Model ===
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-help && cd /tmp/lazygitclj-e2e-help && bb -
-config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-help/.git/
[main (root-commit) 73a02ed] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch b40de63] Add feature
1 file changed, 1 insertion(+)
create mode 100644 feature.txt
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-help
----- Error --------------------------------------------------------------------
Type: java.io.FileNotFoundException
Message: Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
Location: /home/ajet/repos/lazygitclj/src/lazygitclj/core.clj:3:3
----- Context ------------------------------------------------------------------
1: (ns lazygitclj.core
2: "lazygitclj - A lazygit-inspired TUI for git."
3: (:require [tui.simple :as tui]
^--- Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
4: [tui.core :refer [quit]]
5: [lazygitclj.git :as git]
6: [clojure.string :as str]))
7:
8: ;; === Model ===
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-help && cd /tmp/lazygitclj-e2e-help && bb -
-config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-help/.git/
[main (root-commit) 73a02ed] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch b40de63] Add feature
1 file changed, 1 insertion(+)
create mode 100644 feature.txt
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-help
----- Error --------------------------------------------------------------------
Type: java.io.FileNotFoundException
Message: Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
Location: /home/ajet/repos/lazygitclj/src/lazygitclj/core.clj:3:3
----- Context ------------------------------------------------------------------
1: (ns lazygitclj.core
2: "lazygitclj - A lazygit-inspired TUI for git."
3: (:require [tui.simple :as tui]
^--- Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
4: [tui.core :refer [quit]]
5: [lazygitclj.git :as git]
6: [clojure.string :as str]))
7:
8: ;; === Model ===
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-help && cd /tmp/lazygitclj-e2e-help && bb -
-config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-help/.git/
[main (root-commit) 73a02ed] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch b40de63] Add feature
1 file changed, 1 insertion(+)
create mode 100644 feature.txt
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-help
----- Error --------------------------------------------------------------------
Type: java.io.FileNotFoundException
Message: Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
Location: /home/ajet/repos/lazygitclj/src/lazygitclj/core.clj:3:3
----- Context ------------------------------------------------------------------
1: (ns lazygitclj.core
2: "lazygitclj - A lazygit-inspired TUI for git."
3: (:require [tui.simple :as tui]
^--- Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
4: [tui.core :refer [quit]]
5: [lazygitclj.git :as git]
6: [clojure.string :as str]))
7:
8: ;; === Model ===
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-help && cd /tmp/lazygitclj-e2e-help && bb -
-config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-help/.git/
[main (root-commit) 73a02ed] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch b40de63] Add feature
1 file changed, 1 insertion(+)
create mode 100644 feature.txt
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-help
----- Error --------------------------------------------------------------------
Type: java.io.FileNotFoundException
Message: Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
Location: /home/ajet/repos/lazygitclj/src/lazygitclj/core.clj:3:3
----- Context ------------------------------------------------------------------
1: (ns lazygitclj.core
2: "lazygitclj - A lazygit-inspired TUI for git."
3: (:require [tui.simple :as tui]
^--- Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
4: [tui.core :refer [quit]]
5: [lazygitclj.git :as git]
6: [clojure.string :as str]))
7:
8: ;; === Model ===
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-help && cd /tmp/lazygitclj-e2e-help && bb -
-config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-help/.git/
[main (root-commit) 73a02ed] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch b40de63] Add feature
1 file changed, 1 insertion(+)
create mode 100644 feature.txt
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-help
----- Error --------------------------------------------------------------------
Type: java.io.FileNotFoundException
Message: Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
Location: /home/ajet/repos/lazygitclj/src/lazygitclj/core.clj:3:3
----- Context ------------------------------------------------------------------
1: (ns lazygitclj.core
2: "lazygitclj - A lazygit-inspired TUI for git."
3: (:require [tui.simple :as tui]
^--- Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
4: [tui.core :refer [quit]]
5: [lazygitclj.git :as git]
6: [clojure.string :as str]))
7:
8: ;; === Model ===
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-help && cd /tmp/lazygitclj-e2e-help && bb -
-config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-help/.git/
[main (root-commit) 73a02ed] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch b40de63] Add feature
1 file changed, 1 insertion(+)
create mode 100644 feature.txt
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-help
----- Error --------------------------------------------------------------------
Type: java.io.FileNotFoundException
Message: Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
Location: /home/ajet/repos/lazygitclj/src/lazygitclj/core.clj:3:3
----- Context ------------------------------------------------------------------
1: (ns lazygitclj.core
2: "lazygitclj - A lazygit-inspired TUI for git."
3: (:require [tui.simple :as tui]
^--- Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
4: [tui.core :refer [quit]]
5: [lazygitclj.git :as git]
6: [clojure.string :as str]))
7:
8: ;; === Model ===
────────────────────────────────────────────────────────────────────────────────
Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

File diff suppressed because it is too large Load Diff
Binary file not shown.

Before

Width:  |  Height:  |  Size: 520 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 131 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

File diff suppressed because it is too large Load Diff
Binary file not shown.

Before

Width:  |  Height:  |  Size: 683 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

-943
View File
@@ -1,943 +0,0 @@
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-modal-large && cd /tmp/lazygitclj-e2e-modal-large && bb --config /home/ajet/repos/lazyg
itclj/bb.edn start
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-modal-large && cd /tmp/lazygitclj-e2e-modal-large && bb --config /home/ajet/repos/lazyg
itclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-modal-large/.git/
[main (root-commit) c127d79] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch c25f4cc] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-modal-large
- main branch with 1 commit
- feature-branch with 1 extra commit
- 1 staged file (file2.txt)
- 1 unstaged file (file1.txt)
- 1 untracked file (newfile.txt)
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────────────────────────────────────────────────┐
│ main → c127d79 │ │ diff --git a/file2.txt b/file2.txt │
└────────────────────────────┘ │ index a29bdeb..723650f 100644 │
╔═ 2 Files (3) ══════════════╗ │ --- a/file2.txt │
║ M file2.txt ║ │ +++ b/file2.txt │
║ M file1.txt ║ │ @@ -1 +1,2 @@ │
║ ?? newfile.txt ║ │ line1 │
║ ║ │ +staged content │
║ ║ │ │
║ ║ │ │
║ ║ │ │
║ ║ │ │
║ ║ │ │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ───────┐ │ │
│ feature-branch │ │ │
│ * main │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 4 Commits [C] R ──────────┐ │ │
│ c127d79 Initial commit │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ └──────────────────────────────────────────────────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────────────────────────────────────────────────┐
│ │ │ │
│ │ │ │
└────────────────────────────┘ └──────────────────────────────────────────────────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────────────────────────────────────────────────┐
│ main → c127d79 │ │ │
└────────────────────────────┘ │ │
┌─ 2 Files (3) ──────────────┐ │ │
│ M file2.txt │ │ │
│ M file1.txt │ │ │
│ ?? newfile.txt │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
╔═ 3 Branches [L] R T ═══════╗ │ │
║ feature-branch ║ │ │
║ * main ║ │ │
║ ║ │ │
║ ║ │ │
║ ║ │ │
║ ║ │ │
║ ║ │ │
║ ║ │ │
║ ║ │ │
╚════════════════════════════╝ │ │
┌─ 4 Commits [C] R ──────────┐ │ │
│ c127d79 Initial commit │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ └──────────────────────────────────────────────────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────────────────────────────────────────────────┐
│ │ │ │
│ │ │ │
└────────────────────────────┘ └──────────────────────────────────────────────────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav []:tabs n:new d:del p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────────────────────────────────────────────────┐
│ main → c127d79 │ │ │
└────────────────────────────┘ │ │
┌─ 2 Files (3) ──────────────┐ │ │
│ M file2.txt │ │ │
│ M file1.txt │ │ │
│ ?? newfile.txt │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
╔═ 3 Branches [L] R T ═══════╗ │ │
║ feature-branch ║ │ │
║ * main ║ │ │
║ ║ │ │
║ ║ │ │
║ ║ │ │
║ ║ │ │
║ ║ │ │
║ ║ │ │
║ ║ │ │
╚════════════════════════════╝ │ │
┌─ 4 Commits [C] R ──────────┐ │ │
│ c127d79 Initial commit │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ └──────────────────────────────────────────────────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────────────────────────────────────────────────┐
│ │ │ │
│ │ │ │
└────────────────────────────┘ └──────────────────────────────────────────────────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav []:tabs n:new d:del p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────────────────────────────────────────────────┐
│ main → c127d79 │ │ commit c127d793cea490de325799ba375483edcc007e5f │
└────────────────────────────┘ │ Author: Test User <test@example.com> │
┌─ 2 Files (3) ──────────────┐ │ Date: Wed Jan 21 18:04:17 2026 -0500 │
│ M file2.txt │ │ │
│ M file1.txt │ │ Initial commit │
│ ?? newfile.txt │ │ --- │
│ │ │ README.md | 1 + │
│ │ │ file1.txt | 1 + │
│ │ │ file2.txt | 1 + │
│ │ │ 3 files changed, 3 insertions(+) │
│ │ │ │
│ │ │ diff --git a/README.md b/README.md │
└────────────────────────────┘ │ new file mode 100644 │
┌─ 3 Branches [L] R T ───────┐ │ index 0000000..181e1c3 │
│ feature-branch │ │ --- /dev/null │
│ * main │ │ +++ b/README.md │
│ │ │ @@ -0,0 +1 @@ │
│ │ │ +# Test Project │
│ │ │ diff --git a/file1.txt b/file1.txt │
│ │ │ new file mode 100644 │
│ │ │ index 0000000..a29bdeb │
│ │ │ --- /dev/null │
│ │ │ +++ b/file1.txt │
└────────────────────────────┘ │ @@ -0,0 +1 @@ │
╔═ 4 Commits [C] R ══════════╗ │ +line1 │
║ c127d79 Initial commit ║ │ diff --git a/file2.txt b/file2.txt │
║ ║ │ new file mode 100644 │
║ ║ │ index 0000000..a29bdeb │
║ ║ │ --- /dev/null │
║ ║ │ +++ b/file2.txt │
║ ║ │ @@ -0,0 +1 @@ │
║ ║ │ +line1 │
║ ║ │ │
║ ║ │ │
╚════════════════════════════╝ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ └──────────────────────────────────────────────────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────────────────────────────────────────────────┐
│ │ │ │
│ │ │ │
└────────────────────────────┘ └──────────────────────────────────────────────────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav []:tabs spc:checkout p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────────────────────────────────────────────────┐
│ main → c127d79 │ │ commit c127d793cea490de325799ba375483edcc007e5f │
└────────────────────────────┘ │ Author: Test User <test@example.com> │
┌─ 2 Files (3) ──────────────┐ │ Date: Wed Jan 21 18:04:17 2026 -0500 │
│ M file2.txt │ │ │
│ M file1.txt │ │ Initial commit │
│ ?? newfile.txt │ │ --- │
│ │ │ README.md | 1 + │
│ │ │ file1.txt | 1 + │
│ │ │ file2.txt | 1 + │
│ │ │ 3 files changed, 3 insertions(+) │
│ │ │ │
│ │ │ diff --git a/README.md b/README.md │
└────────────────────────────┘ │ new file mode 100644 │
┌─ 3 Branches [L] R T ───────┐ │ index 0000000..181e1c3 │
│ feature-branch │ │ --- /dev/null │
│ * main │ │ +++ b/README.md │
│ │ │ @@ -0,0 +1 @@ │
│ │ │ +# Test Project │
│ │ │ diff --git a/file1.txt b/file1.txt │
│ │ │ new file mode 100644 │
│ │ │ index 0000000..a29bdeb │
│ │ │ --- /dev/null │
│ │ │ +++ b/file1.txt │
└────────────────────────────┘ │ @@ -0,0 +1 @@ │
╔═ 4 Commits [C] R ══════════╗ │ +line1 │
║ c127d79 Initial commit ║ │ diff --git a/file2.txt b/file2.txt │
║ ║ │ new file mode 100644 │
║ ║ │ index 0000000..a29bdeb │
║ ║ │ --- /dev/null │
║ ║ │ +++ b/file2.txt │
║ ║ │ @@ -0,0 +1 @@ │
║ ║ │ +line1 │
║ ║ │ │
║ ║ │ │
╚════════════════════════════╝ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ └──────────────────────────────────────────────────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────────────────────────────────────────────────┐
│ │ │ │
│ │ │ │
└────────────────────────────┘ └──────────────────────────────────────────────────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav []:tabs spc:checkout p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────────────────────────────────────────────────┐
│ main → c127d79 │ │ commit c127d793cea490de325799ba375483edcc007e5f │
└────────────────────────────┘ │ Author: Test User <test@example.com> │
┌─ 2 Files (3) ──────────────┐ │ Date: Wed Jan 21 18:04:17 2026 -0500 │
│ M file2.txt │ │ │
│ M file1.txt │ │ Initial commit │
│ ?? newfile.txt │ │ --- │
│ │ │ README.md | 1 + │
│ │ │ file1.txt╔═ Help - Keybindings ══════════════════════════════╗ │
│ │ │ file2.txt║ Global: ║ │
│ │ │ 3 files c║ q - Quit r - Refresh ║ │
│ │ │ ║ h/l - Prev/Next panel 2-5 - Jump to panel ║ │
│ │ │ diff --git║ j/k - Move down/up z/Z - Undo/Redo ║ │
└────────────────────────────┘ │ new file m║ p - Pull P - Push ║ │
┌─ 3 Branches [L] R T ───────┐ │ index 0000║ ? - Help D - Reset options ║ │
│ feature-branch │ │ --- /dev/n║ ║ │
│ * main │ │ +++ b/READ║ Files (2): ║ │
│ │ │ @@ -0,0 +1║ space - Stage/unstage a - Stage all ║ │
│ │ │ +# Test Pr║ c - Commit d - Discard file ║ │
│ │ │ diff --git║ s - Quick stash S - Stash options ║ │
│ │ │ new file m║ ║ │
│ │ │ index 0000║ Branches (3): ║ │
│ │ │ --- /dev/n║ [/] - Switch tabs enter - Checkout ║ │
│ │ │ +++ b/file║ n - New branch d - Delete branch ║ │
└────────────────────────────┘ │ @@ -0,0 +1║ R - Rename M - Merge ║ │
╔═ 4 Commits [C] R ══════════╗ │ +line1 ║ f - Fast-forward ║ │
║ c127d79 Initial commit ║ │ diff --git║ ║ │
║ ║ │ new file m║ Commits (4): ║ │
║ ║ │ index 0000║ [/] - Switch tabs space - Checkout ║ │
║ ║ │ --- /dev/n║ g - Reset to C - Cherry-pick ║ │
║ ║ │ +++ b/file║ t - Revert r - Reword (HEAD only) ║ │
║ ║ │ @@ -0,0 +1║ y - Show SHA ║ │
║ ║ │ +line1 ║ ║ │
║ ║ │ ║ Stash (5): ║ │
║ ║ │ ║ space - Apply g - Pop (apply+drop) ║ │
╚════════════════════════════╝ │ ║ d - Drop n - Branch from stash ║ │
┌─ 5 Stash (0) ──────────────┐ │ ║ ║ │
│ No stashes │ │ ║ Press ?, q, or esc to close ║ │
│ │ │ ╚═══════════════════════════════════════════════════╝ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ └──────────────────────────────────────────────────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────────────────────────────────────────────────┐
│ │ │ │
│ │ │ │
└────────────────────────────┘ └──────────────────────────────────────────────────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav []:tabs spc:checkout p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────────────────────────────────────────────────┐
│ main → c127d79 │ │ commit c127d793cea490de325799ba375483edcc007e5f │
└────────────────────────────┘ │ Author: Test User <test@example.com> │
┌─ 2 Files (3) ──────────────┐ │ Date: Wed Jan 21 18:04:17 2026 -0500 │
│ M file2.txt │ │ │
│ M file1.txt │ │ Initial commit │
│ ?? newfile.txt │ │ --- │
│ │ │ README.md | 1 + │
│ │ │ file1.txt╔═ Help - Keybindings ══════════════════════════════╗ │
│ │ │ file2.txt║ Global: ║ │
│ │ │ 3 files c║ q - Quit r - Refresh ║ │
│ │ │ ║ h/l - Prev/Next panel 2-5 - Jump to panel ║ │
│ │ │ diff --git║ j/k - Move down/up z/Z - Undo/Redo ║ │
└────────────────────────────┘ │ new file m║ p - Pull P - Push ║ │
┌─ 3 Branches [L] R T ───────┐ │ index 0000║ ? - Help D - Reset options ║ │
│ feature-branch │ │ --- /dev/n║ ║ │
│ * main │ │ +++ b/READ║ Files (2): ║ │
│ │ │ @@ -0,0 +1║ space - Stage/unstage a - Stage all ║ │
│ │ │ +# Test Pr║ c - Commit d - Discard file ║ │
│ │ │ diff --git║ s - Quick stash S - Stash options ║ │
│ │ │ new file m║ ║ │
│ │ │ index 0000║ Branches (3): ║ │
│ │ │ --- /dev/n║ [/] - Switch tabs enter - Checkout ║ │
│ │ │ +++ b/file║ n - New branch d - Delete branch ║ │
└────────────────────────────┘ │ @@ -0,0 +1║ R - Rename M - Merge ║ │
╔═ 4 Commits [C] R ══════════╗ │ +line1 ║ f - Fast-forward ║ │
║ c127d79 Initial commit ║ │ diff --git║ ║ │
║ ║ │ new file m║ Commits (4): ║ │
║ ║ │ index 0000║ [/] - Switch tabs space - Checkout ║ │
║ ║ │ --- /dev/n║ g - Reset to C - Cherry-pick ║ │
║ ║ │ +++ b/file║ t - Revert r - Reword (HEAD only) ║ │
║ ║ │ @@ -0,0 +1║ y - Show SHA ║ │
║ ║ │ +line1 ║ ║ │
║ ║ │ ║ Stash (5): ║ │
║ ║ │ ║ space - Apply g - Pop (apply+drop) ║ │
╚════════════════════════════╝ │ ║ d - Drop n - Branch from stash ║ │
┌─ 5 Stash (0) ──────────────┐ │ ║ ║ │
│ No stashes │ │ ║ Press ?, q, or esc to close ║ │
│ │ │ ╚═══════════════════════════════════════════════════╝ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ └──────────────────────────────────────────────────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────────────────────────────────────────────────┐
│ │ │ │
│ │ │ │
└────────────────────────────┘ └──────────────────────────────────────────────────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav []:tabs spc:checkout p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────────────────────────────────────────────────┐
│ main → c127d79 │ │ commit c127d793cea490de325799ba375483edcc007e5f │
└────────────────────────────┘ │ Author: Test User <test@example.com> │
┌─ 2 Files (3) ──────────────┐ │ Date: Wed Jan 21 18:04:17 2026 -0500 │
│ M file2.txt │ │ │
│ M file1.txt │ │ Initial commit │
│ ?? newfile.txt │ │ --- │
│ │ │ README.md | 1 + │
│ │ │ file1.txt╔═ Help - Keybindings ══════════════════════════════╗ │
│ │ │ file2.txt║ Global: ║ │
│ │ │ 3 files c║ q - Quit r - Refresh ║ │
│ │ │ ║ h/l - Prev/Next panel 2-5 - Jump to panel ║ │
│ │ │ diff --git║ j/k - Move down/up z/Z - Undo/Redo ║ │
└────────────────────────────┘ │ new file m║ p - Pull P - Push ║ │
┌─ 3 Branches [L] R T ───────┐ │ index 0000║ ? - Help D - Reset options ║ │
│ feature-branch │ │ --- /dev/n║ ║ │
│ * main │ │ +++ b/READ║ Files (2): ║ │
│ │ │ @@ -0,0 +1║ space - Stage/unstage a - Stage all ║ │
│ │ │ +# Test Pr║ c - Commit d - Discard file ║ │
│ │ │ diff --git║ s - Quick stash S - Stash options ║ │
│ │ │ new file m║ ║ │
│ │ │ index 0000║ Branches (3): ║ │
│ │ │ --- /dev/n║ [/] - Switch tabs enter - Checkout ║ │
│ │ │ +++ b/file║ n - New branch d - Delete branch ║ │
└────────────────────────────┘ │ @@ -0,0 +1║ R - Rename M - Merge ║ │
╔═ 4 Commits [C] R ══════════╗ │ +line1 ║ f - Fast-forward ║ │
║ c127d79 Initial commit ║ │ diff --git║ ║ │
║ ║ │ new file m║ Commits (4): ║ │
║ ║ │ index 0000║ [/] - Switch tabs space - Checkout ║ │
║ ║ │ --- /dev/n║ g - Reset to C - Cherry-pick ║ │
║ ║ │ +++ b/file║ t - Revert r - Reword (HEAD only) ║ │
║ ║ │ @@ -0,0 +1║ y - Show SHA ║ │
║ ║ │ +line1 ║ ║ │
║ ║ │ ║ Stash (5): ║ │
║ ║ │ ║ space - Apply g - Pop (apply+drop) ║ │
╚════════════════════════════╝ │ ║ d - Drop n - Branch from stash ║ │
┌─ 5 Stash (0) ──────────────┐ │ ║ ║ │
│ No stashes │ │ ║ Press ?, q, or esc to close ║ │
│ │ │ ╚═══════════════════════════════════════════════════╝ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ └──────────────────────────────────────────────────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────────────────────────────────────────────────┐
│ │ │ │
│ │ │ │
└────────────────────────────┘ └──────────────────────────────────────────────────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav []:tabs spc:checkout p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────────────────────────────────────────────────┐
│ main → c127d79 │ │ commit c127d793cea490de325799ba375483edcc007e5f │
└────────────────────────────┘ │ Author: Test User <test@example.com> │
┌─ 2 Files (3) ──────────────┐ │ Date: Wed Jan 21 18:04:17 2026 -0500 │
│ M file2.txt │ │ │
│ M file1.txt │ │ Initial commit │
│ ?? newfile.txt │ │ --- │
│ │ │ README.md | 1 + │
│ │ │ file1.txt | 1 + │
│ │ │ file2.txt | 1 + │
│ │ │ 3 files changed, 3 insertions(+) │
│ │ │ │
│ │ │ diff --git a/README.md b/README.md │
└────────────────────────────┘ │ new file mode 100644 │
┌─ 3 Branches [L] R T ───────┐ │ index 0000000..181e1c3 │
│ feature-branch │ │ --- /dev/null │
│ * main │ │ +++ b/README.md │
│ │ │ @@ -0,0 +1 @@ │
│ │ │ +# Test Project │
│ │ │ diff --git a/file1.txt b/file1.txt │
│ │ │ new file mode 100644 │
│ │ │ index 0000000..a29bdeb │
│ │ │ --- /dev/null │
│ │ │ +++ b/file1.txt │
└────────────────────────────┘ │ @@ -0,0 +1 @@ │
╔═ 4 Commits [C] R ══════════╗ │ +line1 │
║ c127d79 Initial commit ║ │ diff --git a/file2.txt b/file2.txt │
║ ║ │ new file mode 100644 │
║ ║ │ index 0000000..a29bdeb │
║ ║ │ --- /dev/null │
║ ║ │ +++ b/file2.txt │
║ ║ │ @@ -0,0 +1 @@ │
║ ║ │ +line1 │
║ ║ │ │
║ ║ │ │
╚════════════════════════════╝ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ └──────────────────────────────────────────────────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────────────────────────────────────────────────┐
│ │ │ │
│ │ │ │
└────────────────────────────┘ └──────────────────────────────────────────────────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav []:tabs spc:checkout p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-modal-large && cd /tmp/lazygitclj-e2e-modal-large && bb --config /home/ajet/repos/lazyg
itclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-modal-large/.git/
[main (root-commit) c127d79] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch c25f4cc] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-modal-large
- main branch with 1 commit
- feature-branch with 1 extra commit
- 1 staged file (file2.txt)
- 1 unstaged file (file1.txt)
- 1 untracked file (newfile.txt)
Starting lazygitclj...
Goodbye!
>
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-modal-large && cd /tmp/lazygitclj-e2e-modal-large && bb --config /home/ajet/repos/lazyg
itclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-modal-large/.git/
[main (root-commit) c127d79] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch c25f4cc] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-modal-large
- main branch with 1 commit
- feature-branch with 1 extra commit
- 1 staged file (file2.txt)
- 1 unstaged file (file1.txt)
- 1 untracked file (newfile.txt)
Starting lazygitclj...
Goodbye!
>
────────────────────────────────────────────────────────────────────────────────
Binary file not shown.

Before

Width:  |  Height:  |  Size: 315 KiB

-696
View File
@@ -1,696 +0,0 @@
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/la
zygitclj-e2e-modal-narrow && cd /tmp/la
zygitclj-e2e-modal-narrow && bb --confi
g /home/ajet/repos/lazygitclj/bb.edn st
art
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/la
zygitclj-e2e-modal-narrow && cd /tmp/la
zygitclj-e2e-modal-narrow && bb --confi
g /home/ajet/repos/lazygitclj/bb.edn st
art
Initialized empty Git repository in /tm
p/lazygitclj-e2e-modal-narrow/.git/
[main (root-commit) c0156f0] Initial co
mmit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branc
h'
[feature-branch 229b261] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2
e-modal-narrow
- main branch with 1 commit
- feature-branch with 1 extra commit
- 1 staged file (file2.txt)
- 1 unstaged file (file1.txt)
- 1 untracked file (newfile.txt)
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ──────────────────────────┐
│ main → c0156f0 │
└─────────────────────────────────────┘
╔═ 2 Files (3) ═══════════════════════╗
║ M file2.txt ║
║ M file1.txt ║
╚═════════════════════════════════════╝
┌─ 3 Branches [L] R T ────────────────┐
│ feature-branch │
│ * main │
└─────────────────────────────────────┘
┌─ 4 Commits [C] R ───────────────────┐
│ c0156f0 Initial commit │
│ │
└─────────────────────────────────────┘
┌─ 5 Stash (0) ───────────────────────┐
│ No stashes │
└─────────────────────────────────────┘
┌─ 0 Main ────────────────────────────┐
│ diff --git a/file2.txt b/file2.txt │
│ index a29bdeb..723650f 100644 │
└─────────────────────────────────────┘
┌─ Command Log ───────────────────────┐
│ │
│ │
└─────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:st
age a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ──────────────────────────┐
│ main → c0156f0 │
└─────────────────────────────────────┘
┌─ 2 Files (3) ───────────────────────┐
│ M file2.txt │
│ M file1.txt │
└─────────────────────────────────────┘
╔═ 3 Branches [L] R T ════════════════╗
║ feature-branch ║
║ * main ║
╚═════════════════════════════════════╝
┌─ 4 Commits [C] R ───────────────────┐
│ c0156f0 Initial commit │
│ │
└─────────────────────────────────────┘
┌─ 5 Stash (0) ───────────────────────┐
│ No stashes │
└─────────────────────────────────────┘
┌─ 0 Main ────────────────────────────┐
│ │
│ │
└─────────────────────────────────────┘
┌─ Command Log ───────────────────────┐
│ │
│ │
└─────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav []:tab
s n:new d:del p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ──────────────────────────┐
│ main → c0156f0 │
└─────────────────────────────────────┘
┌─ 2 Files (3) ───────────────────────┐
│ M file2.txt │
│ M file1.txt │
└─────────────────────────────────────┘
╔═ 3 Branches [L] R T ════════════════╗
║ feature-branch ║
║ * main ║
╚═════════════════════════════════════╝
┌─ 4 Commits [C] R ───────────────────┐
│ c0156f0 Initial commit │
│ │
└─────────────────────────────────────┘
┌─ 5 Stash (0) ───────────────────────┐
│ No stashes │
└─────────────────────────────────────┘
┌─ 0 Main ────────────────────────────┐
│ │
│ │
└─────────────────────────────────────┘
┌─ Command Log ───────────────────────┐
│ │
│ │
└─────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav []:tab
s n:new d:del p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ──────────────────────────┐
│ main → c0156f0 │
└─────────────────────────────────────┘
┌─ 2 Files (3) ───────────────────────┐
│ M file2.txt │
│ M file1.txt │
└─────────────────────────────────────┘
┌─ 3 Branches [L] R T ────────────────┐
│ feature-branch │
│ * main │
└─────────────────────────────────────┘
╔═ 4 Commits [C] R ═══════════════════╗
║ c0156f0 Initial commit ║
║ ║
╚═════════════════════════════════════╝
┌─ 5 Stash (0) ───────────────────────┐
│ No stashes │
└─────────────────────────────────────┘
┌─ 0 Main ────────────────────────────┐
│ commit c0156f02c655f17932d5381166975c
5355a50ff3 │
│ Author: Test User <test@example.com>
└─────────────────────────────────────┘
┌─ Command Log ───────────────────────┐
│ │
│ │
└─────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav []:tab
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ──────────────────────────┐
│ main → c0156f0 │
└─────────────────────────────────────┘
┌─ 2 Files (3) ───────────────────────┐
│ M file2.txt │
│ M file1.txt │
└─────────────────────────────────────┘
┌─ 3 Branches [L] R T ────────────────┐
│ feature-branch │
│ * main │
└─────────────────────────────────────┘
╔═ 4 Commits [C] R ═══════════════════╗
║ c0156f0 Initial commit ║
║ ║
╚═════════════════════════════════════╝
┌─ 5 Stash (0) ───────────────────────┐
│ No stashes │
└─────────────────────────────────────┘
┌─ 0 Main ────────────────────────────┐
│ commit c0156f02c655f17932d5381166975c
5355a50ff3 │
│ Author: Test User <test@example.com>
└─────────────────────────────────────┘
┌─ Command Log ───────────────────────┐
│ │
│ │
└─────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav []:tab
────────────────────────────────────────────────────────────────────────────────
║ h/l - Prev/Next panel 2-5 - Jump
to panel ║
║ j/k - Move down/up z/Z - Undo
/Redo ║
║ p - Pull P - Push
║ ? - Help D - Reset
options ║
║ Files (2):
║ space - Stage/unstage a - Stage
all ║
║ c - Commit d - Discar
d file ║
║ s - Quick stash S - Stash
options ║
║ Branches (3):
║ [/] - Switch tabs enter - Ch
eckout ║
║ n - New branch d - Delete
branch ║
║ R - Rename M - Merge
║ f - Fast-forward
────────────────────────────────────────────────────────────────────────────────
║ h/l - Prev/Next panel 2-5 - Jump
to panel ║
║ j/k - Move down/up z/Z - Undo
/Redo ║
║ p - Pull P - Push
║ ? - Help D - Reset
options ║
║ Files (2):
║ space - Stage/unstage a - Stage
all ║
║ c - Commit d - Discar
d file ║
║ s - Quick stash S - Stash
options ║
║ Branches (3):
║ [/] - Switch tabs enter - Ch
eckout ║
║ n - New branch d - Delete
branch ║
║ R - Rename M - Merge
║ f - Fast-forward
────────────────────────────────────────────────────────────────────────────────
║ h/l - Prev/Next panel 2-5 - Jump
to panel ║
║ j/k - Move down/up z/Z - Undo
/Redo ║
║ p - Pull P - Push
║ ? - Help D - Reset
options ║
║ Files (2):
║ space - Stage/unstage a - Stage
all ║
║ c - Commit d - Discar
d file ║
║ s - Quick stash S - Stash
options ║
║ Branches (3):
║ [/] - Switch tabs enter - Ch
eckout ║
║ n - New branch d - Delete
branch ║
║ R - Rename M - Merge
║ f - Fast-forward
────────────────────────────────────────────────────────────────────────────────
to panel ║
║ j/k - Move down/up z/Z - Undo
/Redo ║
║ p - Pull P - Push
║ ? - Help D - Reset
options ║
║ Files (2):
║ space - Stage/unstage a - Stage
all ║
║ c - Commit d - Discar
d file ║
║ s - Quick stash S - Stash
options ║
║ Branches (3):
║ [/] - Switch tabs enter - Ch
┌─ 1 Status ──────────────────────────┐
│ main → c0156f0 │
└─────────────────────────────────────┘
┌─ 2 Files (3) ───────────────────────┐
│ M file2.txt │
│ M file1.txt │
└─────────────────────────────────────┘
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/la
zygitclj-e2e-modal-narrow && cd /tmp/la
zygitclj-e2e-modal-narrow && bb --confi
g /home/ajet/repos/lazygitclj/bb.edn st
art
Initialized empty Git repository in /tm
p/lazygitclj-e2e-modal-narrow/.git/
[main (root-commit) c0156f0] Initial co
mmit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branc
h'
[feature-branch 229b261] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2
e-modal-narrow
- main branch with 1 commit
- feature-branch with 1 extra commit
- 1 staged file (file2.txt)
- 1 unstaged file (file1.txt)
- 1 untracked file (newfile.txt)
Starting lazygitclj...
Goodbye!
>
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/la
zygitclj-e2e-modal-narrow && cd /tmp/la
zygitclj-e2e-modal-narrow && bb --confi
g /home/ajet/repos/lazygitclj/bb.edn st
art
Initialized empty Git repository in /tm
p/lazygitclj-e2e-modal-narrow/.git/
[main (root-commit) c0156f0] Initial co
mmit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branc
h'
[feature-branch 229b261] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2
e-modal-narrow
- main branch with 1 commit
- feature-branch with 1 extra commit
- 1 staged file (file2.txt)
- 1 unstaged file (file1.txt)
- 1 untracked file (newfile.txt)
Starting lazygitclj...
Goodbye!
>
────────────────────────────────────────────────────────────────────────────────
Binary file not shown.

Before

Width:  |  Height:  |  Size: 253 KiB

-527
View File
@@ -1,527 +0,0 @@
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2
e-modal-small && cd /tmp/lazygitclj-e2e-modal-smal
l && bb --config /home/ajet/repos/lazygitclj/bb.ed
n start
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2
e-modal-small && cd /tmp/lazygitclj-e2e-modal-smal
l && bb --config /home/ajet/repos/lazygitclj/bb.ed
n start
Initialized empty Git repository in /tmp/lazygitcl
j-e2e-modal-small/.git/
[main (root-commit) 5555bdd] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 15c0d8c] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-modal-sma
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────────────────────────┐
│ main → 5555bdd │
└────────────────────────────────────────────────┘
╔═ 2 Files (3) ══════════════════════════════════╗
╚════════════════════════════════════════════════╝
┌─ 3 Branches [L] R T ───────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 4 Commits [C] R ──────────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 5 Stash (0) ──────────────────────────────────┐
│ No stashes │
└────────────────────────────────────────────────┘
┌─ 0 Main ───────────────────────────────────────┐
└────────────────────────────────────────────────┘
┌─ Command Log ──────────────────────────────────┐
│ │
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────────────────────────┐
│ main → 5555bdd │
└────────────────────────────────────────────────┘
╔═ 2 Files (3) ══════════════════════════════════╗
┌─ 1 Status ─────────────────────────────────────┐
│ main → 5555bdd │
└────────────────────────────────────────────────┘
┌─ 2 Files (3) ──────────────────────────────────┐
└────────────────────────────────────────────────┘
╔═ 3 Branches [L] R T ═══════════════════════════╗
╚════════════════════════════════════════════════╝
┌─ 4 Commits [C] R ──────────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 5 Stash (0) ──────────────────────────────────┐
│ No stashes │
└────────────────────────────────────────────────┘
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────────────────────────┐
│ main → 5555bdd │
└────────────────────────────────────────────────┘
╔═ 2 Files (3) ══════════════════════════════════╗
┌─ 1 Status ─────────────────────────────────────┐
│ main → 5555bdd │
└────────────────────────────────────────────────┘
┌─ 2 Files (3) ──────────────────────────────────┐
└────────────────────────────────────────────────┘
╔═ 3 Branches [L] R T ═══════════════════════════╗
╚════════════════════════════════════════════════╝
┌─ 4 Commits [C] R ──────────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 5 Stash (0) ──────────────────────────────────┐
│ No stashes │
└────────────────────────────────────────────────┘
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────────────────────────┐
│ main → 5555bdd │
└────────────────────────────────────────────────┘
╔═ 2 Files (3) ══════════════════════════════════╗
┌─ 1 Status ─────────────────────────────────────┐
│ main → 5555bdd │
└────────────────────────────────────────────────┘
┌─ 2 Files (3) ──────────────────────────────────┐
┌─ 1 Status ─────────────────────────────────────┐
│ main → 5555bdd │
└────────────────────────────────────────────────┘
┌─ 2 Files (3) ──────────────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 3 Branches [L] R T ───────────────────────────┐
└────────────────────────────────────────────────┘
╔═ 4 Commits [C] R ══════════════════════════════╗
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────────────────────────┐
│ main → 5555bdd │
└────────────────────────────────────────────────┘
╔═ 2 Files (3) ══════════════════════════════════╗
┌─ 1 Status ─────────────────────────────────────┐
│ main → 5555bdd │
└────────────────────────────────────────────────┘
┌─ 2 Files (3) ──────────────────────────────────┐
┌─ 1 Status ─────────────────────────────────────┐
│ main → 5555bdd │
└────────────────────────────────────────────────┘
┌─ 2 Files (3) ──────────────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 3 Branches [L] R T ───────────────────────────┐
└────────────────────────────────────────────────┘
╔═ 4 Commits [C] R ══════════════════════════════╗
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────────────────────────┐
│ main → 5555bdd │
└────────────────────────────────────────────────┘
╔═ 2 Files (3) ══════════════════════════════════╗
┌─ 1 Status ─────────────────────────────────────┐
│ main → 5555bdd │
└────────────────────────────────────────────────┘
┌─ 2 Files (3) ──────────────────────────────────┐
┌─ 1 Status ─────────────────────────────────────┐
│ main → 5555bdd │
└────────────────────────────────────────────────┘
┌─ 2 Files (3) ──────────────────────────────────┐
╔═ Help - Keybindings ════════════════════════════
══╗
║ Global:
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────────────────────────┐
│ main → 5555bdd │
└────────────────────────────────────────────────┘
╔═ 2 Files (3) ══════════════════════════════════╗
┌─ 1 Status ─────────────────────────────────────┐
│ main → 5555bdd │
└────────────────────────────────────────────────┘
┌─ 2 Files (3) ──────────────────────────────────┐
┌─ 1 Status ─────────────────────────────────────┐
│ main → 5555bdd │
└────────────────────────────────────────────────┘
┌─ 2 Files (3) ──────────────────────────────────┐
╔═ Help - Keybindings ════════════════════════════
══╗
║ Global:
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────────────────────────┐
│ main → 5555bdd │
└────────────────────────────────────────────────┘
╔═ 2 Files (3) ══════════════════════════════════╗
┌─ 1 Status ─────────────────────────────────────┐
│ main → 5555bdd │
└────────────────────────────────────────────────┘
┌─ 2 Files (3) ──────────────────────────────────┐
┌─ 1 Status ─────────────────────────────────────┐
│ main → 5555bdd │
└────────────────────────────────────────────────┘
┌─ 2 Files (3) ──────────────────────────────────┐
╔═ Help - Keybindings ════════════════════════════
══╗
║ Global:
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────────────────────────┐
│ main → 5555bdd │
└────────────────────────────────────────────────┘
╔═ 2 Files (3) ══════════════════════════════════╗
┌─ 1 Status ─────────────────────────────────────┐
│ main → 5555bdd │
└────────────────────────────────────────────────┘
┌─ 2 Files (3) ──────────────────────────────────┐
┌─ 1 Status ─────────────────────────────────────┐
│ main → 5555bdd │
└────────────────────────────────────────────────┘
┌─ 2 Files (3) ──────────────────────────────────┐
╔═ Help - Keybindings ════════════════════════════
══╗
║ Global:
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2
e-modal-small && cd /tmp/lazygitclj-e2e-modal-smal
l && bb --config /home/ajet/repos/lazygitclj/bb.ed
n start
Initialized empty Git repository in /tmp/lazygitcl
j-e2e-modal-small/.git/
[main (root-commit) 5555bdd] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 15c0d8c] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-modal-sma
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2
e-modal-small && cd /tmp/lazygitclj-e2e-modal-smal
l && bb --config /home/ajet/repos/lazygitclj/bb.ed
n start
Initialized empty Git repository in /tmp/lazygitcl
j-e2e-modal-small/.git/
[main (root-commit) 5555bdd] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 15c0d8c] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-modal-sma
────────────────────────────────────────────────────────────────────────────────
Binary file not shown.

Before

Width:  |  Height:  |  Size: 152 KiB

-696
View File
@@ -1,696 +0,0 @@
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-modal && cd /tmp/lazygitclj-e2e-modal && bb
--config /home/ajet/repos/lazygitclj/bb.edn start
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-modal && cd /tmp/lazygitclj-e2e-modal && bb
--config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-modal/.git/
[main (root-commit) 95bc2ab] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch ffa41af] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-modal
- main branch with 1 commit
- feature-branch with 1 extra commit
- 1 staged file (file2.txt)
- 1 unstaged file (file1.txt)
- 1 untracked file (newfile.txt)
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → 95bc2ab │ │ diff --git a/file2.txt b/file2.txt │
└────────────────────────────┘ │ index a29bdeb..723650f 100644 │
╔═ 2 Files (3) ══════════════╗ │ --- a/file2.txt │
║ M file2.txt ║ │ +++ b/file2.txt │
║ M file1.txt ║ │ @@ -1 +1,2 @@ │
║ ?? newfile.txt ║ │ line1 │
║ ║ │ +staged content │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ───────┐ │ │
│ feature-branch │ │ │
│ * main │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 4 Commits [C] R ──────────┐ │ │
│ 95bc2ab Initial commit │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ │ │
│ │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
└────────────────────────────┘ │ │
└──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → 95bc2ab │ │ │
└────────────────────────────┘ │ │
┌─ 2 Files (3) ──────────────┐ │ │
│ M file2.txt │ │ │
│ M file1.txt │ │ │
│ ?? newfile.txt │ │ │
│ │ │ │
└────────────────────────────┘ │ │
╔═ 3 Branches [L] R T ═══════╗ │ │
║ feature-branch ║ │ │
║ * main ║ │ │
║ ║ │ │
║ ║ │ │
╚════════════════════════════╝ │ │
┌─ 4 Commits [C] R ──────────┐ │ │
│ 95bc2ab Initial commit │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ │ │
│ │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
└────────────────────────────┘ │ │
└──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav []:tabs n:new d:del p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → 95bc2ab │ │ │
└────────────────────────────┘ │ │
┌─ 2 Files (3) ──────────────┐ │ │
│ M file2.txt │ │ │
│ M file1.txt │ │ │
│ ?? newfile.txt │ │ │
│ │ │ │
└────────────────────────────┘ │ │
╔═ 3 Branches [L] R T ═══════╗ │ │
║ feature-branch ║ │ │
║ * main ║ │ │
║ ║ │ │
║ ║ │ │
╚════════════════════════════╝ │ │
┌─ 4 Commits [C] R ──────────┐ │ │
│ 95bc2ab Initial commit │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ │ │
│ │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
└────────────────────────────┘ │ │
└──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav []:tabs n:new d:del p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → 95bc2ab │ │ commit 95bc2abf2b2afa44d77bb468eabbc44e550b85f4 │
└────────────────────────────┘ │ Author: Test User <test@example.com> │
┌─ 2 Files (3) ──────────────┐ │ Date: Wed Jan 21 17:54:56 2026 -0500 │
│ M file2.txt │ │ │
│ M file1.txt │ │ Initial commit │
│ ?? newfile.txt │ │ --- │
│ │ │ README.md | 1 + │
└────────────────────────────┘ │ file1.txt | 1 + │
┌─ 3 Branches [L] R T ───────┐ │ file2.txt | 1 + │
│ feature-branch │ │ 3 files changed, 3 insertions(+) │
│ * main │ │ │
│ │ │ diff --git a/README.md b/README.md │
│ │ │ new file mode 100644 │
└────────────────────────────┘ │ index 0000000..181e1c3 │
╔═ 4 Commits [C] R ══════════╗ │ --- /dev/null │
║ 95bc2ab Initial commit ║ │ +++ b/README.md │
║ ║ │ @@ -0,0 +1 @@ │
║ ║ │ +# Test Project │
║ ║ │ diff --git a/file1.txt b/file1.txt │
╚════════════════════════════╝ │ new file mode 100644 │
┌─ 5 Stash (0) ──────────────┐ │ index 0000000..a29bdeb │
│ No stashes │ │ --- /dev/null │
│ │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
└────────────────────────────┘ │ │
└──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav []:tabs spc:checkout p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → 95bc2ab │ │ commit 95bc2abf2b2afa44d77bb468eabbc44e550b85f4 │
└────────────────────────────┘ │ Author: Test User <test@example.com> │
┌─ 2 Files (3) ──────────────┐ │ Date: Wed Jan 21 17:54:56 2026 -0500 │
│ M file2.txt │ │ │
│ M file1.txt │ │ Initial commit │
│ ?? newfile.txt │ │ --- │
│ │ │ README.md | 1 + │
└────────────────────────────┘ │ file1.txt | 1 + │
┌─ 3 Branches [L] R T ───────┐ │ file2.txt | 1 + │
│ feature-branch │ │ 3 files changed, 3 insertions(+) │
│ * main │ │ │
│ │ │ diff --git a/README.md b/README.md │
│ │ │ new file mode 100644 │
└────────────────────────────┘ │ index 0000000..181e1c3 │
╔═ 4 Commits [C] R ══════════╗ │ --- /dev/null │
║ 95bc2ab Initial commit ║ │ +++ b/README.md │
║ ║ │ @@ -0,0 +1 @@ │
║ ║ │ +# Test Project │
║ ║ │ diff --git a/file1.txt b/file1.txt │
╚════════════════════════════╝ │ new file mode 100644 │
┌─ 5 Stash (0) ──────────────┐ │ index 0000000..a29bdeb │
│ No stashes │ │ --- /dev/null │
│ │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
└────────────────────────────┘ │ │
└──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav []:tabs spc:checkout p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────╔═ Help - Keybindings ══════════════════════════════╗────────────────────┐
│ main → 95bc2ab ║ Global: ║0b85f4 │
└────────────────────║ q - Quit r - Refresh ║ │
┌─ 2 Files (3) ──────║ h/l - Prev/Next panel 2-5 - Jump to panel ║ │
│ M file2.txt ║ j/k - Move down/up z/Z - Undo/Redo ║ │
│ M file1.txt ║ p - Pull P - Push ║ │
│ ?? newfile.txt ║ ? - Help D - Reset options ║ │
│ ║ ║ │
└────────────────────║ Files (2): ║ │
┌─ 3 Branches [L] R T║ space - Stage/unstage a - Stage all ║ │
│ feature-branch ║ c - Commit d - Discard file ║ │
│ * main ║ s - Quick stash S - Stash options ║ │
│ ║ ║ │
│ ║ Branches (3): ║ │
└────────────────────║ [/] - Switch tabs enter - Checkout ║ │
╔═ 4 Commits [C] R ══║ n - New branch d - Delete branch ║ │
║ 95bc2ab Initial com║ R - Rename M - Merge ║ │
║ ║ f - Fast-forward ║ │
║ ║ ║ │
║ ║ Commits (4): ║ │
╚════════════════════║ [/] - Switch tabs space - Checkout ║ │
┌─ 5 Stash (0) ──────║ g - Reset to C - Cherry-pick ║ │
│ No stashes ║ t - Revert r - Reword (HEAD only) ║ │
│ ║ y - Show SHA ║────────────────────┘
│ ║ ║────────────────────┐
│ ║ Stash (5): ║ │
└────────────────────║ space - Apply g - Pop (apply+drop) ║ │
║ d - Drop n - Branch from stash ║────────────────────┘
q:quit ?:help h/l:pan║ ║
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────╔═ Help - Keybindings ══════════════════════════════╗────────────────────┐
│ main → 95bc2ab ║ Global: ║0b85f4 │
└────────────────────║ q - Quit r - Refresh ║ │
┌─ 2 Files (3) ──────║ h/l - Prev/Next panel 2-5 - Jump to panel ║ │
│ M file2.txt ║ j/k - Move down/up z/Z - Undo/Redo ║ │
│ M file1.txt ║ p - Pull P - Push ║ │
│ ?? newfile.txt ║ ? - Help D - Reset options ║ │
│ ║ ║ │
└────────────────────║ Files (2): ║ │
┌─ 3 Branches [L] R T║ space - Stage/unstage a - Stage all ║ │
│ feature-branch ║ c - Commit d - Discard file ║ │
│ * main ║ s - Quick stash S - Stash options ║ │
│ ║ ║ │
│ ║ Branches (3): ║ │
└────────────────────║ [/] - Switch tabs enter - Checkout ║ │
╔═ 4 Commits [C] R ══║ n - New branch d - Delete branch ║ │
║ 95bc2ab Initial com║ R - Rename M - Merge ║ │
║ ║ f - Fast-forward ║ │
║ ║ ║ │
║ ║ Commits (4): ║ │
╚════════════════════║ [/] - Switch tabs space - Checkout ║ │
┌─ 5 Stash (0) ──────║ g - Reset to C - Cherry-pick ║ │
│ No stashes ║ t - Revert r - Reword (HEAD only) ║ │
│ ║ y - Show SHA ║────────────────────┘
│ ║ ║────────────────────┐
│ ║ Stash (5): ║ │
└────────────────────║ space - Apply g - Pop (apply+drop) ║ │
║ d - Drop n - Branch from stash ║────────────────────┘
q:quit ?:help h/l:pan║ ║
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────╔═ Help - Keybindings ══════════════════════════════╗────────────────────┐
│ main → 95bc2ab ║ Global: ║0b85f4 │
└────────────────────║ q - Quit r - Refresh ║ │
┌─ 2 Files (3) ──────║ h/l - Prev/Next panel 2-5 - Jump to panel ║ │
│ M file2.txt ║ j/k - Move down/up z/Z - Undo/Redo ║ │
│ M file1.txt ║ p - Pull P - Push ║ │
│ ?? newfile.txt ║ ? - Help D - Reset options ║ │
│ ║ ║ │
└────────────────────║ Files (2): ║ │
┌─ 3 Branches [L] R T║ space - Stage/unstage a - Stage all ║ │
│ feature-branch ║ c - Commit d - Discard file ║ │
│ * main ║ s - Quick stash S - Stash options ║ │
│ ║ ║ │
│ ║ Branches (3): ║ │
└────────────────────║ [/] - Switch tabs enter - Checkout ║ │
╔═ 4 Commits [C] R ══║ n - New branch d - Delete branch ║ │
║ 95bc2ab Initial com║ R - Rename M - Merge ║ │
║ ║ f - Fast-forward ║ │
║ ║ ║ │
║ ║ Commits (4): ║ │
╚════════════════════║ [/] - Switch tabs space - Checkout ║ │
┌─ 5 Stash (0) ──────║ g - Reset to C - Cherry-pick ║ │
│ No stashes ║ t - Revert r - Reword (HEAD only) ║ │
│ ║ y - Show SHA ║────────────────────┘
│ ║ ║────────────────────┐
│ ║ Stash (5): ║ │
└────────────────────║ space - Apply g - Pop (apply+drop) ║ │
║ d - Drop n - Branch from stash ║────────────────────┘
q:quit ?:help h/l:pan║ ║
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → 95bc2ab │ │ commit 95bc2abf2b2afa44d77bb468eabbc44e550b85f4 │
└────────────────────────────┘ │ Author: Test User <test@example.com> │
┌─ 2 Files (3) ──────────────┐ │ Date: Wed Jan 21 17:54:56 2026 -0500 │
│ M file2.txt │ │ │
│ M file1.txt │ │ Initial commit │
│ ?? newfile.txt │ │ --- │
│ │ │ README.md | 1 + │
└────────────────────────────┘ │ file1.txt | 1 + │
┌─ 3 Branches [L] R T ───────┐ │ file2.txt | 1 + │
│ feature-branch │ │ 3 files changed, 3 insertions(+) │
│ * main │ │ │
│ │ │ diff --git a/README.md b/README.md │
│ │ │ new file mode 100644 │
└────────────────────────────┘ │ index 0000000..181e1c3 │
╔═ 4 Commits [C] R ══════════╗ │ --- /dev/null │
║ 95bc2ab Initial commit ║ │ +++ b/README.md │
║ ║ │ @@ -0,0 +1 @@ │
║ ║ │ +# Test Project │
║ ║ │ diff --git a/file1.txt b/file1.txt │
╚════════════════════════════╝ │ new file mode 100644 │
┌─ 5 Stash (0) ──────────────┐ │ index 0000000..a29bdeb │
│ No stashes │ │ --- /dev/null │
│ │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
└────────────────────────────┘ │ │
└──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav []:tabs spc:checkout p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-modal && cd /tmp/lazygitclj-e2e-modal && bb
--config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-modal/.git/
[main (root-commit) 95bc2ab] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch ffa41af] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-modal
- main branch with 1 commit
- feature-branch with 1 extra commit
- 1 staged file (file2.txt)
- 1 unstaged file (file1.txt)
- 1 untracked file (newfile.txt)
Starting lazygitclj...
Goodbye!
>
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-modal && cd /tmp/lazygitclj-e2e-modal && bb
--config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-modal/.git/
[main (root-commit) 95bc2ab] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch ffa41af] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-modal
- main branch with 1 commit
- feature-branch with 1 extra commit
- 1 staged file (file2.txt)
- 1 unstaged file (file1.txt)
- 1 untracked file (newfile.txt)
Starting lazygitclj...
Goodbye!
>
────────────────────────────────────────────────────────────────────────────────
Binary file not shown.

Before

Width:  |  Height:  |  Size: 308 KiB

-531
View File
@@ -1,531 +0,0 @@
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2
e-scroll && cd /tmp/lazygitclj-e2e-scroll && bb --
config /home/ajet/repos/lazygitclj/bb.edn start
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2
e-scroll && cd /tmp/lazygitclj-e2e-scroll && bb --
config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitcl
j-e2e-scroll/.git/
[main (root-commit) de5dd2a] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────────────────────────┐
│ main → de5dd2a │
└────────────────────────────────────────────────┘
╔═ 2 Files (3) ══════════════════════════════════╗
╚════════════════════════════════════════════════╝
┌─ 3 Branches [L] R T ───────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 4 Commits [C] R ──────────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 5 Stash (0) ──────────────────────────────────┐
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────────────────────────┐
│ main → de5dd2a │
└────────────────────────────────────────────────┘
╔═ 2 Files (3) ══════════════════════════════════╗
╚════════════════════════════════════════════════╝
┌─ 3 Branches [L] R T ───────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 4 Commits [C] R ──────────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 5 Stash (0) ──────────────────────────────────┐
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────────────────────────┐
│ main → de5dd2a │
└────────────────────────────────────────────────┘
╔═ 2 Files (3) ══════════════════════════════════╗
╚════════════════════════════════════════════════╝
┌─ 3 Branches [L] R T ───────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 4 Commits [C] R ──────────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 5 Stash (0) ──────────────────────────────────┐
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────────────────────────┐
│ main → de5dd2a │
└────────────────────────────────────────────────┘
╔═ 2 Files (3) ══════════════════════════════════╗
╚════════════════════════════════════════════════╝
┌─ 3 Branches [L] R T ───────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 4 Commits [C] R ──────────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 5 Stash (0) ──────────────────────────────────┐
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────────────────────────┐
│ main → de5dd2a │
└────────────────────────────────────────────────┘
╔═ 2 Files (3) ══════════════════════════════════╗
╚════════════════════════════════════════════════╝
┌─ 3 Branches [L] R T ───────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 4 Commits [C] R ──────────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 5 Stash (0) ──────────────────────────────────┐
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────────────────────────┐
│ main → de5dd2a │
└────────────────────────────────────────────────┘
╔═ 2 Files (3) ══════════════════════════════════╗
╚════════════════════════════════════════════════╝
┌─ 3 Branches [L] R T ───────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 4 Commits [C] R ──────────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 5 Stash (0) ──────────────────────────────────┐
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────────────────────────┐
│ main → de5dd2a │
└────────────────────────────────────────────────┘
╔═ 2 Files (3) ══════════════════════════════════╗
╚════════════════════════════════════════════════╝
┌─ 3 Branches [L] R T ───────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 4 Commits [C] R ──────────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 5 Stash (0) ──────────────────────────────────┐
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────────────────────────┐
│ main → de5dd2a │
└────────────────────────────────────────────────┘
╔═ 2 Files (3) ══════════════════════════════════╗
╚════════════════════════════════════════════════╝
┌─ 3 Branches [L] R T ───────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 4 Commits [C] R ──────────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 5 Stash (0) ──────────────────────────────────┐
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────────────────────────┐
│ main → de5dd2a │
└────────────────────────────────────────────────┘
╔═ 2 Files (3) ══════════════════════════════════╗
╚════════════════════════════════════════════════╝
┌─ 3 Branches [L] R T ───────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 4 Commits [C] R ──────────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 5 Stash (0) ──────────────────────────────────┐
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────────────────────────┐
│ main → de5dd2a │
└────────────────────────────────────────────────┘
╔═ 2 Files (3) ══════════════════════════════════╗
╚════════════════════════════════════════════════╝
┌─ 3 Branches [L] R T ───────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 4 Commits [C] R ──────────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 5 Stash (0) ──────────────────────────────────┐
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────────────────────────┐
│ main → de5dd2a │
└────────────────────────────────────────────────┘
╔═ 2 Files (3) ══════════════════════════════════╗
╚════════════════════════════════════════════════╝
┌─ 3 Branches [L] R T ───────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 4 Commits [C] R ──────────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 5 Stash (0) ──────────────────────────────────┐
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────────────────────────┐
│ main → de5dd2a │
└────────────────────────────────────────────────┘
╔═ 2 Files (3) ══════════════════════════════════╗
╚════════════════════════════════════════════════╝
┌─ 3 Branches [L] R T ───────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 4 Commits [C] R ──────────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 5 Stash (0) ──────────────────────────────────┐
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────────────────────────┐
│ main → de5dd2a │
└────────────────────────────────────────────────┘
╔═ 2 Files (3) ══════════════════════════════════╗
╚════════════════════════════════════════════════╝
┌─ 3 Branches [L] R T ───────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 4 Commits [C] R ──────────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 5 Stash (0) ──────────────────────────────────┐
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────────────────────────┐
│ main → de5dd2a │
└────────────────────────────────────────────────┘
╔═ 2 Files (3) ══════════════════════════════════╗
╚════════════════════════════════════════════════╝
┌─ 3 Branches [L] R T ───────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 4 Commits [C] R ──────────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 5 Stash (0) ──────────────────────────────────┐
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────────────────────────┐
│ main → de5dd2a │
└────────────────────────────────────────────────┘
╔═ 2 Files (3) ══════════════════════════════════╗
╚════════════════════════════════════════════════╝
┌─ 3 Branches [L] R T ───────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 4 Commits [C] R ──────────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 5 Stash (0) ──────────────────────────────────┐
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────────────────────────┐
│ main → de5dd2a │
└────────────────────────────────────────────────┘
╔═ 2 Files (3) ══════════════════════════════════╗
╚════════════════════════════════════════════════╝
┌─ 3 Branches [L] R T ───────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 4 Commits [C] R ──────────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 5 Stash (0) ──────────────────────────────────┐
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────────────────────────┐
│ main → de5dd2a │
└────────────────────────────────────────────────┘
╔═ 2 Files (3) ══════════════════════════════════╗
╚════════════════════════════════════════════════╝
┌─ 3 Branches [L] R T ───────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 4 Commits [C] R ──────────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 5 Stash (0) ──────────────────────────────────┐
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────────────────────────┐
│ main → de5dd2a │
└────────────────────────────────────────────────┘
╔═ 2 Files (3) ══════════════════════════════════╗
╚════════════════════════════════════════════════╝
┌─ 3 Branches [L] R T ───────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 4 Commits [C] R ──────────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 5 Stash (0) ──────────────────────────────────┐
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────────────────────────┐
│ main → de5dd2a │
└────────────────────────────────────────────────┘
╔═ 2 Files (3) ══════════════════════════════════╗
╚════════════════════════════════════════════════╝
┌─ 3 Branches [L] R T ───────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 4 Commits [C] R ──────────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 5 Stash (0) ──────────────────────────────────┐
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────────────────────────┐
│ main → de5dd2a │
└────────────────────────────────────────────────┘
╔═ 2 Files (3) ══════════════════════════════════╗
╚════════════════════════════════════════════════╝
┌─ 3 Branches [L] R T ───────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 4 Commits [C] R ──────────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 5 Stash (0) ──────────────────────────────────┐
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────────────────────────┐
│ main → de5dd2a │
└────────────────────────────────────────────────┘
╔═ 2 Files (3) ══════════════════════════════════╗
╚════════════════════════════════════════════════╝
┌─ 3 Branches [L] R T ───────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 4 Commits [C] R ──────────────────────────────┐
└────────────────────────────────────────────────┘
┌─ 5 Stash (0) ──────────────────────────────────┐
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2
e-scroll && cd /tmp/lazygitclj-e2e-scroll && bb --
config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitcl
j-e2e-scroll/.git/
[main (root-commit) de5dd2a] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2
e-scroll && cd /tmp/lazygitclj-e2e-scroll && bb --
config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitcl
j-e2e-scroll/.git/
[main (root-commit) de5dd2a] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
────────────────────────────────────────────────────────────────────────────────
Binary file not shown.

Before

Width:  |  Height:  |  Size: 163 KiB

File diff suppressed because it is too large Load Diff
Binary file not shown.

Before

Width:  |  Height:  |  Size: 109 KiB

-876
View File
@@ -1,876 +0,0 @@
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-reset && cd /tmp/lazygitclj-e2e-reset && bb
--config /home/ajet/repos/lazygitclj/bb.edn start
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-reset && cd /tmp/lazygitclj-e2e-reset && bb
--config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-reset/.git/
[main (root-commit) bcf7fe9] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch c24e652] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-reset
- main branch with 1 commit
- feature-branch with 1 extra commit
- 1 staged file (file2.txt)
- 1 unstaged file (file1.txt)
- 1 untracked file (newfile.txt)
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → bcf7fe9 │ │ diff --git a/file2.txt b/file2.txt │
└────────────────────────────┘ │ index a29bdeb..723650f 100644 │
╔═ 2 Files (3) ══════════════╗ │ --- a/file2.txt │
║ M file2.txt ║ │ +++ b/file2.txt │
║ M file1.txt ║ │ @@ -1 +1,2 @@ │
║ ?? newfile.txt ║ │ line1 │
║ ║ │ +staged content │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ───────┐ │ │
│ feature-branch │ │ │
│ * main │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 4 Commits [C] R ──────────┐ │ │
│ bcf7fe9 Initial commit │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ │ │
│ │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
└────────────────────────────┘ │ │
└──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → bcf7fe9 │ │ diff --git a/file2.txt b/file2.txt │
└────────────────────────────┘ │ index a29bdeb..723650f 100644 │
╔═ 2 Files (3) ══════════════╗ │ --- a/file2.txt │
║ M file2.txt ║ │ +++ b/file2.txt │
║ M file1.txt ║ │ @@ -1 +1,2 @@ │
║ ?? newfile.txt ║ │ line1 │
║ ║ │ +staged content │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ────╔═ Reset Options ════════════════════════╗ │
│ feature-branch ║ s - Soft reset (uncommit, keep staged) ║ │
│ * main ║ m - Mixed reset (uncommit, unstage) ║ │
│ ║ h - Hard reset (discard all changes) ║ │
│ ║ ║ │
└─────────────────────────║ u - Unstage all staged changes ║ │
┌─ 4 Commits [C] R ───────║ d - Discard all unstaged changes ║ │
│ bcf7fe9 Initial commit ║ c - Clean untracked files ║ │
│ ║ ║ │
│ ║ esc - Cancel ║ │
│ ╚════════════════════════════════════════╝ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ │ │
│ │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
└────────────────────────────┘ │ │
└──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → bcf7fe9 │ │ diff --git a/file2.txt b/file2.txt │
└────────────────────────────┘ │ index a29bdeb..723650f 100644 │
╔═ 2 Files (3) ══════════════╗ │ --- a/file2.txt │
║ M file2.txt ║ │ +++ b/file2.txt │
║ M file1.txt ║ │ @@ -1 +1,2 @@ │
║ ?? newfile.txt ║ │ line1 │
║ ║ │ +staged content │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ────╔═ Reset Options ════════════════════════╗ │
│ feature-branch ║ s - Soft reset (uncommit, keep staged) ║ │
│ * main ║ m - Mixed reset (uncommit, unstage) ║ │
│ ║ h - Hard reset (discard all changes) ║ │
│ ║ ║ │
└─────────────────────────║ u - Unstage all staged changes ║ │
┌─ 4 Commits [C] R ───────║ d - Discard all unstaged changes ║ │
│ bcf7fe9 Initial commit ║ c - Clean untracked files ║ │
│ ║ ║ │
│ ║ esc - Cancel ║ │
│ ╚════════════════════════════════════════╝ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ │ │
│ │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
└────────────────────────────┘ │ │
└──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → bcf7fe9 │ │ diff --git a/file2.txt b/file2.txt │
└────────────────────────────┘ │ index a29bdeb..723650f 100644 │
╔═ 2 Files (3) ══════════════╗ │ --- a/file2.txt │
║ M file2.txt ║ │ +++ b/file2.txt │
║ M file1.txt ║ │ @@ -1 +1,2 @@ │
║ ?? newfile.txt ║ │ line1 │
║ ║ │ +staged content │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ────╔═ Reset Options ════════════════════════╗ │
│ feature-branch ║ s - Soft reset (uncommit, keep staged) ║ │
│ * main ║ m - Mixed reset (uncommit, unstage) ║ │
│ ║ h - Hard reset (discard all changes) ║ │
│ ║ ║ │
└─────────────────────────║ u - Unstage all staged changes ║ │
┌─ 4 Commits [C] R ───────║ d - Discard all unstaged changes ║ │
│ bcf7fe9 Initial commit ║ c - Clean untracked files ║ │
│ ║ ║ │
│ ║ esc - Cancel ║ │
│ ╚════════════════════════════════════════╝ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ │ │
│ │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
└────────────────────────────┘ │ │
└──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → bcf7fe9 │ │ diff --git a/file2.txt b/file2.txt │
└────────────────────────────┘ │ index a29bdeb..723650f 100644 │
╔═ 2 Files (3) ══════════════╗ │ --- a/file2.txt │
║ M file2.txt ║ │ +++ b/file2.txt │
║ M file1.txt ║ │ @@ -1 +1,2 @@ │
║ ?? newfile.txt ║ │ line1 │
║ ║ │ +staged content │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ───────┐ │ │
│ feature-branch │ │ │
│ * main │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 4 Commits [C] R ──────────┐ │ │
│ bcf7fe9 Initial commit │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ │ │
│ │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
└────────────────────────────┘ │ │
└──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → bcf7fe9 │ │ diff --git a/file2.txt b/file2.txt │
└────────────────────────────┘ │ index a29bdeb..723650f 100644 │
╔═ 2 Files (3) ══════════════╗ │ --- a/file2.txt │
║ M file2.txt ║ │ +++ b/file2.txt │
║ M file1.txt ║ │ @@ -1 +1,2 @@ │
║ ?? newfile.txt ║ │ line1 │
║ ║ │ +staged content │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ────╔═ Reset Options ════════════════════════╗ │
│ feature-branch ║ s - Soft reset (uncommit, keep staged) ║ │
│ * main ║ m - Mixed reset (uncommit, unstage) ║ │
│ ║ h - Hard reset (discard all changes) ║ │
│ ║ ║ │
└─────────────────────────║ u - Unstage all staged changes ║ │
┌─ 4 Commits [C] R ───────║ d - Discard all unstaged changes ║ │
│ bcf7fe9 Initial commit ║ c - Clean untracked files ║ │
│ ║ ║ │
│ ║ esc - Cancel ║ │
│ ╚════════════════════════════════════════╝ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ │ │
│ │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
└────────────────────────────┘ │ │
└──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → bcf7fe9 │ │ diff --git a/file2.txt b/file2.txt │
└────────────────────────────┘ │ index a29bdeb..723650f 100644 │
╔═ 2 Files (3) ══════════════╗ │ --- a/file2.txt │
║ M file2.txt ║ │ +++ b/file2.txt │
║ M file1.txt ║ │ @@ -1 +1,2 @@ │
║ ?? newfile.txt ║ │ line1 │
║ ║ │ +staged content │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ────╔═ Reset Options ════════════════════════╗ │
│ feature-branch ║ s - Soft reset (uncommit, keep staged) ║ │
│ * main ║ m - Mixed reset (uncommit, unstage) ║ │
│ ║ h - Hard reset (discard all changes) ║ │
│ ║ ║ │
└─────────────────────────║ u - Unstage all staged changes ║ │
┌─ 4 Commits [C] R ───────║ d - Discard all unstaged changes ║ │
│ bcf7fe9 Initial commit ║ c - Clean untracked files ║ │
│ ║ ║ │
│ ║ esc - Cancel ║ │
│ ╚════════════════════════════════════════╝ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ │ │
│ │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
└────────────────────────────┘ │ │
└──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
Unstaged all changes
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → bcf7fe9 │ │ diff --git a/file1.txt b/file1.txt │
└────────────────────────────┘ │ index a29bdeb..2a08f83 100644 │
╔═ 2 Files (3) ══════════════╗ │ --- a/file1.txt │
║ M file1.txt ║ │ +++ b/file1.txt │
║ M file2.txt ║ │ @@ -1 +1,2 @@ │
║ ?? newfile.txt ║ │ line1 │
║ ║ │ +modified │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ───────┐ │ │
│ feature-branch │ │ │
│ * main │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 4 Commits [C] R ──────────┐ │ │
│ bcf7fe9 Initial commit │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
│ │ │ │
└────────────────────────────┘ └──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
Unstaged all changes
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → bcf7fe9 │ │ diff --git a/file1.txt b/file1.txt │
└────────────────────────────┘ │ index a29bdeb..2a08f83 100644 │
╔═ 2 Files (3) ══════════════╗ │ --- a/file1.txt │
║ M file1.txt ║ │ +++ b/file1.txt │
║ M file2.txt ║ │ @@ -1 +1,2 @@ │
║ ?? newfile.txt ║ │ line1 │
║ ║ │ +modified │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ───────┐ │ │
│ feature-branch │ │ │
│ * main │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 4 Commits [C] R ──────────┐ │ │
│ bcf7fe9 Initial commit │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
│ │ │ │
└────────────────────────────┘ └──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
Unstaged all changes
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → bcf7fe9 │ │ diff --git a/file2.txt b/file2.txt │
└────────────────────────────┘ │ index a29bdeb..723650f 100644 │
╔═ 2 Files (3) ══════════════╗ │ --- a/file2.txt │
║ M file1.txt ║ │ +++ b/file2.txt │
║ M file2.txt ║ │ @@ -1 +1,2 @@ │
║ ?? newfile.txt ║ │ line1 │
║ ║ │ +staged content │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ───────┐ │ │
│ feature-branch │ │ │
│ * main │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 4 Commits [C] R ──────────┐ │ │
│ bcf7fe9 Initial commit │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
│ │ │ │
└────────────────────────────┘ └──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
Unstaged all changes
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → bcf7fe9 │ │ diff --git a/file2.txt b/file2.txt │
└────────────────────────────┘ │ index a29bdeb..723650f 100644 │
╔═ 2 Files (3) ══════════════╗ │ --- a/file2.txt │
║ M file1.txt ║ │ +++ b/file2.txt │
║ M file2.txt ║ │ @@ -1 +1,2 @@ │
║ ?? newfile.txt ║ │ line1 │
║ ║ │ +staged content │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ───────┐ │ │
│ feature-branch │ │ │
│ * main │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 4 Commits [C] R ──────────┐ │ │
│ bcf7fe9 Initial commit │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
│ │ │ │
└────────────────────────────┘ └──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
Unstaged all changes
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → bcf7fe9 │ │ diff --git a/file2.txt b/file2.txt │
└────────────────────────────┘ │ index a29bdeb..723650f 100644 │
╔═ 2 Files (3) ══════════════╗ │ --- a/file2.txt │
║ M file1.txt ║ │ +++ b/file2.txt │
║ M file2.txt ║ │ @@ -1 +1,2 @@ │
║ ?? newfile.txt ║ │ line1 │
║ ║ │ +staged content │
╚═════════════════════════╔═ Reset Options ════════════════════════╗ │
┌─ 3 Branches [L] R T ────║ s - Soft reset (uncommit, keep staged) ║ │
│ feature-branch ║ m - Mixed reset (uncommit, unstage) ║ │
│ * main ║ h - Hard reset (discard all changes) ║ │
│ ║ ║ │
│ ║ u - Unstage all staged changes ║ │
└─────────────────────────║ d - Discard all unstaged changes ║ │
┌─ 4 Commits [C] R ───────║ c - Clean untracked files ║ │
│ bcf7fe9 Initial commit ║ ║ │
│ ║ esc - Cancel ║ │
│ ╚════════════════════════════════════════╝ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
│ │ │ │
└────────────────────────────┘ └──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
Unstaged all changes
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → bcf7fe9 │ │ diff --git a/file2.txt b/file2.txt │
└────────────────────────────┘ │ index a29bdeb..723650f 100644 │
╔═ 2 Files (3) ══════════════╗ │ --- a/file2.txt │
║ M file1.txt ║ │ +++ b/file2.txt │
║ M file2.txt ║ │ @@ -1 +1,2 @@ │
║ ?? newfile.txt ║ │ line1 │
║ ║ │ +staged content │
╚═════════════════════════╔═ Reset Options ════════════════════════╗ │
┌─ 3 Branches [L] R T ────║ s - Soft reset (uncommit, keep staged) ║ │
│ feature-branch ║ m - Mixed reset (uncommit, unstage) ║ │
│ * main ║ h - Hard reset (discard all changes) ║ │
│ ║ ║ │
│ ║ u - Unstage all staged changes ║ │
└─────────────────────────║ d - Discard all unstaged changes ║ │
┌─ 4 Commits [C] R ───────║ c - Clean untracked files ║ │
│ bcf7fe9 Initial commit ║ ║ │
│ ║ esc - Cancel ║ │
│ ╚════════════════════════════════════════╝ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
│ │ │ │
└────────────────────────────┘ └──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
Discarded unstaged changes
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → bcf7fe9 │ │ │
└────────────────────────────┘ │ │
╔═ 2 Files (1) ══════════════╗ │ │
║ ?? newfile.txt ║ │ │
║ ║ │ │
║ ║ │ │
║ ║ │ │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ───────┐ │ │
│ feature-branch │ │ │
│ * main │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 4 Commits [C] R ──────────┐ │ │
│ bcf7fe9 Initial commit │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
│ │ │ │
└────────────────────────────┘ └──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
Discarded unstaged changes
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → bcf7fe9 │ │ │
└────────────────────────────┘ │ │
╔═ 2 Files (1) ══════════════╗ │ │
║ ?? newfile.txt ║ │ │
║ ║ │ │
║ ║ │ │
║ ║ │ │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ───────┐ │ │
│ feature-branch │ │ │
│ * main │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 4 Commits [C] R ──────────┐ │ │
│ bcf7fe9 Initial commit │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
│ │ │ │
└────────────────────────────┘ └──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-reset && cd /tmp/lazygitclj-e2e-reset && bb
--config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-reset/.git/
[main (root-commit) bcf7fe9] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch c24e652] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-reset
- main branch with 1 commit
- feature-branch with 1 extra commit
- 1 staged file (file2.txt)
- 1 unstaged file (file1.txt)
- 1 untracked file (newfile.txt)
Starting lazygitclj...
Goodbye!
>
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-reset && cd /tmp/lazygitclj-e2e-reset && bb
--config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-reset/.git/
[main (root-commit) bcf7fe9] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch c24e652] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-reset
- main branch with 1 commit
- feature-branch with 1 extra commit
- 1 staged file (file2.txt)
- 1 unstaged file (file1.txt)
- 1 untracked file (newfile.txt)
Starting lazygitclj...
Goodbye!
>
────────────────────────────────────────────────────────────────────────────────
Binary file not shown.

Before

Width:  |  Height:  |  Size: 275 KiB

-816
View File
@@ -1,816 +0,0 @@
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-stage && cd /tmp/lazygitclj-e2e-stage && bb --c
onfig /home/ajet/repos/lazygitclj/bb.edn start
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-stage && cd /tmp/lazygitclj-e2e-stage && bb --c
onfig /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-stage/.git/
[main (root-commit) 2fcfba5] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 1bf4599] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → 2fcfba5 │ │ diff --git a/file2.txt b/file2.txt │
└────────────────────────────┘ │ index a29bdeb..723650f 100644 │
╔═ 2 Files (3) ══════════════╗ │ --- a/file2.txt │
║ M file2.txt ║ │ +++ b/file2.txt │
║ M file1.txt ║ │ @@ -1 +1,2 @@ │
║ ?? newfile.txt ║ │ line1 │
║ ║ │ +staged content │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ───────┐ │ │
│ feature-branch │ │ │
│ * main │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 4 Commits [C] R ──────────┐ │ │
│ 2fcfba5 Initial commit │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ │ │
│ │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
└────────────────────────────┘ │ │
└──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → 2fcfba5 │ │ diff --git a/file1.txt b/file1.txt │
└────────────────────────────┘ │ index a29bdeb..2a08f83 100644 │
╔═ 2 Files (3) ══════════════╗ │ --- a/file1.txt │
║ M file1.txt ║ │ +++ b/file1.txt │
║ M file2.txt ║ │ @@ -1 +1,2 @@ │
║ ?? newfile.txt ║ │ line1 │
║ ║ │ +modified │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ───────┐ │ │
│ feature-branch │ │ │
│ * main │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 4 Commits [C] R ──────────┐ │ │
│ 2fcfba5 Initial commit │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ │ │
│ │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
└────────────────────────────┘ │ │
└──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → 2fcfba5 │ │ diff --git a/file1.txt b/file1.txt │
└────────────────────────────┘ │ index a29bdeb..2a08f83 100644 │
╔═ 2 Files (3) ══════════════╗ │ --- a/file1.txt │
║ M file1.txt ║ │ +++ b/file1.txt │
║ M file2.txt ║ │ @@ -1 +1,2 @@ │
║ ?? newfile.txt ║ │ line1 │
║ ║ │ +modified │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ───────┐ │ │
│ feature-branch │ │ │
│ * main │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 4 Commits [C] R ──────────┐ │ │
│ 2fcfba5 Initial commit │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ │ │
│ │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
└────────────────────────────┘ │ │
└──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → 2fcfba5 │ │ diff --git a/file2.txt b/file2.txt │
└────────────────────────────┘ │ index a29bdeb..723650f 100644 │
╔═ 2 Files (3) ══════════════╗ │ --- a/file2.txt │
║ M file1.txt ║ │ +++ b/file2.txt │
║ M file2.txt ║ │ @@ -1 +1,2 @@ │
║ ?? newfile.txt ║ │ line1 │
║ ║ │ +staged content │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ───────┐ │ │
│ feature-branch │ │ │
│ * main │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 4 Commits [C] R ──────────┐ │ │
│ 2fcfba5 Initial commit │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ │ │
│ │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
└────────────────────────────┘ │ │
└──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → 2fcfba5 │ │ diff --git a/file2.txt b/file2.txt │
└────────────────────────────┘ │ index a29bdeb..723650f 100644 │
╔═ 2 Files (3) ══════════════╗ │ --- a/file2.txt │
║ M file1.txt ║ │ +++ b/file2.txt │
║ M file2.txt ║ │ @@ -1 +1,2 @@ │
║ ?? newfile.txt ║ │ line1 │
║ ║ │ +staged content │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ───────┐ │ │
│ feature-branch │ │ │
│ * main │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 4 Commits [C] R ──────────┐ │ │
│ 2fcfba5 Initial commit │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ │ │
│ │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
└────────────────────────────┘ │ │
└──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → 2fcfba5 │ │ diff --git a/file1.txt b/file1.txt │
└────────────────────────────┘ │ index a29bdeb..2a08f83 100644 │
╔═ 2 Files (3) ══════════════╗ │ --- a/file1.txt │
║ M file2.txt ║ │ +++ b/file1.txt │
║ M file1.txt ║ │ @@ -1 +1,2 @@ │
║ ?? newfile.txt ║ │ line1 │
║ ║ │ +modified │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ───────┐ │ │
│ feature-branch │ │ │
│ * main │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 4 Commits [C] R ──────────┐ │ │
│ 2fcfba5 Initial commit │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ │ │
│ │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
└────────────────────────────┘ │ │
└──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → 2fcfba5 │ │ diff --git a/file1.txt b/file1.txt │
└────────────────────────────┘ │ index a29bdeb..2a08f83 100644 │
╔═ 2 Files (3) ══════════════╗ │ --- a/file1.txt │
║ M file2.txt ║ │ +++ b/file1.txt │
║ M file1.txt ║ │ @@ -1 +1,2 @@ │
║ ?? newfile.txt ║ │ line1 │
║ ║ │ +modified │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ───────┐ │ │
│ feature-branch │ │ │
│ * main │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 4 Commits [C] R ──────────┐ │ │
│ 2fcfba5 Initial commit │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ │ │
│ │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
└────────────────────────────┘ │ │
└──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → 2fcfba5 │ │ diff --git a/file2.txt b/file2.txt │
└────────────────────────────┘ │ index a29bdeb..723650f 100644 │
╔═ 2 Files (3) ══════════════╗ │ --- a/file2.txt │
║ M file1.txt ║ │ +++ b/file2.txt │
║ M file2.txt ║ │ @@ -1 +1,2 @@ │
║ A newfile.txt ║ │ line1 │
║ ║ │ +staged content │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ───────┐ │ │
│ feature-branch │ │ │
│ * main │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 4 Commits [C] R ──────────┐ │ │
│ 2fcfba5 Initial commit │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ │ │
│ │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
└────────────────────────────┘ │ │
└──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → 2fcfba5 │ │ diff --git a/file2.txt b/file2.txt │
└────────────────────────────┘ │ index a29bdeb..723650f 100644 │
╔═ 2 Files (3) ══════════════╗ │ --- a/file2.txt │
║ M file1.txt ║ │ +++ b/file2.txt │
║ M file2.txt ║ │ @@ -1 +1,2 @@ │
║ A newfile.txt ║ │ line1 │
║ ║ │ +staged content │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ───────┐ │ │
│ feature-branch │ │ │
│ * main │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 4 Commits [C] R ──────────┐ │ │
│ 2fcfba5 Initial commit │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ │ │
│ │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
└────────────────────────────┘ │ │
└──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → 2fcfba5 │ │ diff --git a/newfile.txt b/newfile.txt │
└────────────────────────────┘ │ new file mode 100644 │
╔═ 2 Files (3) ══════════════╗ │ index 0000000..8e66654 │
║ M file1.txt ║ │ --- /dev/null │
║ M file2.txt ║ │ +++ b/newfile.txt │
║ A newfile.txt ║ │ @@ -0,0 +1 @@ │
║ ║ │ +new file content │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ───────┐ │ │
│ feature-branch │ │ │
│ * main │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 4 Commits [C] R ──────────┐ │ │
│ 2fcfba5 Initial commit │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ │ │
│ │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
└────────────────────────────┘ │ │
└──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → 2fcfba5 │ │ diff --git a/newfile.txt b/newfile.txt │
└────────────────────────────┘ │ new file mode 100644 │
╔═ 2 Files (3) ══════════════╗ │ index 0000000..8e66654 │
║ M file1.txt ║ │ --- /dev/null │
║ M file2.txt ║ │ +++ b/newfile.txt │
║ A newfile.txt ║ │ @@ -0,0 +1 @@ │
║ ║ │ +new file content │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ───────┐ │ │
│ feature-branch │ │ │
│ * main │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 4 Commits [C] R ──────────┐ │ │
│ 2fcfba5 Initial commit │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ │ │
│ │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
└────────────────────────────┘ │ │
└──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
Can only discard unstaged changes
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → 2fcfba5 │ │ diff --git a/newfile.txt b/newfile.txt │
└────────────────────────────┘ │ new file mode 100644 │
╔═ 2 Files (3) ══════════════╗ │ index 0000000..8e66654 │
║ M file1.txt ║ │ --- /dev/null │
║ M file2.txt ║ │ +++ b/newfile.txt │
║ A newfile.txt ║ │ @@ -0,0 +1 @@ │
║ ║ │ +new file content │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ───────┐ │ │
│ feature-branch │ │ │
│ * main │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 4 Commits [C] R ──────────┐ │ │
│ 2fcfba5 Initial commit │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
│ │ │ │
└────────────────────────────┘ └──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
Can only discard unstaged changes
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → 2fcfba5 │ │ diff --git a/newfile.txt b/newfile.txt │
└────────────────────────────┘ │ new file mode 100644 │
╔═ 2 Files (3) ══════════════╗ │ index 0000000..8e66654 │
║ M file1.txt ║ │ --- /dev/null │
║ M file2.txt ║ │ +++ b/newfile.txt │
║ A newfile.txt ║ │ @@ -0,0 +1 @@ │
║ ║ │ +new file content │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ───────┐ │ │
│ feature-branch │ │ │
│ * main │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 4 Commits [C] R ──────────┐ │ │
│ 2fcfba5 Initial commit │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
│ │ │ │
└────────────────────────────┘ └──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-stage && cd /tmp/lazygitclj-e2e-stage && bb --c
onfig /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-stage/.git/
[main (root-commit) 2fcfba5] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 1bf4599] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-stage
- main branch with 1 commit
- feature-branch with 1 extra commit
- 1 staged file (file2.txt)
- 1 unstaged file (file1.txt)
- 1 untracked file (newfile.txt)
Starting lazygitclj...
Goodbye!
>
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-stage && cd /tmp/lazygitclj-e2e-stage && bb --c
onfig /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-stage/.git/
[main (root-commit) 2fcfba5] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 1bf4599] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-stage
- main branch with 1 commit
- feature-branch with 1 extra commit
- 1 staged file (file2.txt)
- 1 unstaged file (file1.txt)
- 1 untracked file (newfile.txt)
Starting lazygitclj...
Goodbye!
>
────────────────────────────────────────────────────────────────────────────────
Binary file not shown.

Before

Width:  |  Height:  |  Size: 235 KiB

-756
View File
@@ -1,756 +0,0 @@
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-stash-menu && cd /tmp/lazygitclj-e2e-stash-
menu && bb --config /home/ajet/repos/lazygitclj/bb.edn start
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-stash-menu && cd /tmp/lazygitclj-e2e-stash-
menu && bb --config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-stash-menu/.git/
[main (root-commit) b6e5ae8] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch d306507] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-stash-menu
- main branch with 1 commit
- feature-branch with 1 extra commit
- 1 staged file (file2.txt)
- 1 unstaged file (file1.txt)
- 1 untracked file (newfile.txt)
Starting lazygitclj...
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → b6e5ae8 │ │ diff --git a/file2.txt b/file2.txt │
└────────────────────────────┘ │ index a29bdeb..723650f 100644 │
╔═ 2 Files (3) ══════════════╗ │ --- a/file2.txt │
║ M file2.txt ║ │ +++ b/file2.txt │
║ M file1.txt ║ │ @@ -1 +1,2 @@ │
║ ?? newfile.txt ║ │ line1 │
║ ║ │ +staged content │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ───────┐ │ │
│ feature-branch │ │ │
│ * main │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 4 Commits [C] R ──────────┐ │ │
│ b6e5ae8 Initial commit │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ │ │
│ │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
└────────────────────────────┘ │ │
└──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → b6e5ae8 │ │ diff --git a/file2.txt b/file2.txt │
└────────────────────────────┘ │ index a29bdeb..723650f 100644 │
╔═ 2 Files (3) ══════════════╗ │ --- a/file2.txt │
║ M file2.txt ║ │ +++ b/file2.txt │
║ M file1.txt ║ │ @@ -1 +1,2 @@ │
║ ?? newfile.txt ║ │ line1 │
║ ║ │ +staged content │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ───────┐ │ │
│ feature-branch ╔═ Stash Options ═════════════════════════╗ │
│ * main ║ a - Stash all changes ║ │
│ ║ i - Stash all changes and keep index ║ │
│ ║ U - Stash all including untracked files ║ │
└─────────────────────────║ s - Stash staged changes only ║ │
┌─ 4 Commits [C] R ───────║ u - Stash unstaged changes only ║ │
│ b6e5ae8 Initial commit ║ ║ │
│ ║ esc - Cancel ║ │
│ ╚═════════════════════════════════════════╝ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ │ │
│ │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
└────────────────────────────┘ │ │
└──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → b6e5ae8 │ │ diff --git a/file2.txt b/file2.txt │
└────────────────────────────┘ │ index a29bdeb..723650f 100644 │
╔═ 2 Files (3) ══════════════╗ │ --- a/file2.txt │
║ M file2.txt ║ │ +++ b/file2.txt │
║ M file1.txt ║ │ @@ -1 +1,2 @@ │
║ ?? newfile.txt ║ │ line1 │
║ ║ │ +staged content │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ───────┐ │ │
│ feature-branch ╔═ Stash Options ═════════════════════════╗ │
│ * main ║ a - Stash all changes ║ │
│ ║ i - Stash all changes and keep index ║ │
│ ║ U - Stash all including untracked files ║ │
└─────────────────────────║ s - Stash staged changes only ║ │
┌─ 4 Commits [C] R ───────║ u - Stash unstaged changes only ║ │
│ b6e5ae8 Initial commit ║ ║ │
│ ║ esc - Cancel ║ │
│ ╚═════════════════════════════════════════╝ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ │ │
│ │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
└────────────────────────────┘ │ │
└──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → b6e5ae8 │ │ diff --git a/file2.txt b/file2.txt │
└────────────────────────────┘ │ index a29bdeb..723650f 100644 │
╔═ 2 Files (3) ══════════════╗ │ --- a/file2.txt │
║ M file2.txt ║ │ +++ b/file2.txt │
║ M file1.txt ║ │ @@ -1 +1,2 @@ │
║ ?? newfile.txt ║ │ line1 │
║ ║ │ +staged content │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ───────┐ │ │
│ feature-branch ╔═ Stash Options ═════════════════════════╗ │
│ * main ║ a - Stash all changes ║ │
│ ║ i - Stash all changes and keep index ║ │
│ ║ U - Stash all including untracked files ║ │
└─────────────────────────║ s - Stash staged changes only ║ │
┌─ 4 Commits [C] R ───────║ u - Stash unstaged changes only ║ │
│ b6e5ae8 Initial commit ║ ║ │
│ ║ esc - Cancel ║ │
│ ╚═════════════════════════════════════════╝ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ │ │
│ │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
└────────────────────────────┘ │ │
└──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → b6e5ae8 │ │ diff --git a/file2.txt b/file2.txt │
└────────────────────────────┘ │ index a29bdeb..723650f 100644 │
╔═ 2 Files (3) ══════════════╗ │ --- a/file2.txt │
║ M file2.txt ║ │ +++ b/file2.txt │
║ M file1.txt ║ │ @@ -1 +1,2 @@ │
║ ?? newfile.txt ║ │ line1 │
║ ║ │ +staged content │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ───────┐ │ │
│ feature-branch │ │ │
│ * main │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 4 Commits [C] R ──────────┐ │ │
│ b6e5ae8 Initial commit │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ │ │
│ │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
└────────────────────────────┘ │ │
└──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → b6e5ae8 │ │ diff --git a/file2.txt b/file2.txt │
└────────────────────────────┘ │ index a29bdeb..723650f 100644 │
╔═ 2 Files (3) ══════════════╗ │ --- a/file2.txt │
║ M file2.txt ║ │ +++ b/file2.txt │
║ M file1.txt ║ │ @@ -1 +1,2 @@ │
║ ?? newfile.txt ║ │ line1 │
║ ║ │ +staged content │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ───────┐ │ │
│ feature-branch ╔═ Stash Options ═════════════════════════╗ │
│ * main ║ a - Stash all changes ║ │
│ ║ i - Stash all changes and keep index ║ │
│ ║ U - Stash all including untracked files ║ │
└─────────────────────────║ s - Stash staged changes only ║ │
┌─ 4 Commits [C] R ───────║ u - Stash unstaged changes only ║ │
│ b6e5ae8 Initial commit ║ ║ │
│ ║ esc - Cancel ║ │
│ ╚═════════════════════════════════════════╝ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ │ │
│ │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
└────────────────────────────┘ │ │
└──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → b6e5ae8 │ │ diff --git a/file2.txt b/file2.txt │
└────────────────────────────┘ │ index a29bdeb..723650f 100644 │
╔═ 2 Files (3) ══════════════╗ │ --- a/file2.txt │
║ M file2.txt ║ │ +++ b/file2.txt │
║ M file1.txt ║ │ @@ -1 +1,2 @@ │
║ ?? newfile.txt ║ │ line1 │
║ ║ │ +staged content │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ───────┐ │ │
│ feature-branch ╔═ Stash Options ═════════════════════════╗ │
│ * main ║ a - Stash all changes ║ │
│ ║ i - Stash all changes and keep index ║ │
│ ║ U - Stash all including untracked files ║ │
└─────────────────────────║ s - Stash staged changes only ║ │
┌─ 4 Commits [C] R ───────║ u - Stash unstaged changes only ║ │
│ b6e5ae8 Initial commit ║ ║ │
│ ║ esc - Cancel ║ │
│ ╚═════════════════════════════════════════╝ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (0) ──────────────┐ │ │
│ No stashes │ │ │
│ │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
└────────────────────────────┘ │ │
└──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
Stashed all changes
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → b6e5ae8 │ │ │
└────────────────────────────┘ │ │
╔═ 2 Files (1) ══════════════╗ │ │
║ ?? newfile.txt ║ │ │
║ ║ │ │
║ ║ │ │
║ ║ │ │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ───────┐ │ │
│ feature-branch │ │ │
│ * main │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 4 Commits [C] R ──────────┐ │ │
│ b6e5ae8 Initial commit │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (1) ──────────────┐ │ │
│ 0 b6e5ae8 Initial comm... │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
│ │ │ │
└────────────────────────────┘ └──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
Stashed all changes
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → b6e5ae8 │ │ │
└────────────────────────────┘ │ │
╔═ 2 Files (1) ══════════════╗ │ │
║ ?? newfile.txt ║ │ │
║ ║ │ │
║ ║ │ │
║ ║ │ │
╚════════════════════════════╝ │ │
┌─ 3 Branches [L] R T ───────┐ │ │
│ feature-branch │ │ │
│ * main │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 4 Commits [C] R ──────────┐ │ │
│ b6e5ae8 Initial commit │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
└────────────────────────────┘ │ │
┌─ 5 Stash (1) ──────────────┐ │ │
│ 0 b6e5ae8 Initial comm... │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
│ │ │ │
└────────────────────────────┘ └──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:stage a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
Stashed all changes
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → b6e5ae8 │ │ commit b6e5ae86aa941f490e574b7a9f7a021839c08ff7 │
└────────────────────────────┘ │ Author: Test User <test@example.com> │
┌─ 2 Files (1) ──────────────┐ │ Date: Wed Jan 21 17:59:09 2026 -0500 │
│ ?? newfile.txt │ │ │
│ │ │ Initial commit │
│ │ │ --- │
│ │ │ README.md | 1 + │
└────────────────────────────┘ │ file1.txt | 1 + │
┌─ 3 Branches [L] R T ───────┐ │ file2.txt | 1 + │
│ feature-branch │ │ 3 files changed, 3 insertions(+) │
│ * main │ │ │
│ │ │ diff --git a/README.md b/README.md │
│ │ │ new file mode 100644 │
└────────────────────────────┘ │ index 0000000..181e1c3 │
╔═ 4 Commits [C] R ══════════╗ │ --- /dev/null │
║ b6e5ae8 Initial commit ║ │ +++ b/README.md │
║ ║ │ @@ -0,0 +1 @@ │
║ ║ │ +# Test Project │
║ ║ │ diff --git a/file1.txt b/file1.txt │
╚════════════════════════════╝ │ new file mode 100644 │
┌─ 5 Stash (1) ──────────────┐ │ index 0000000..a29bdeb │
│ 0 b6e5ae8 Initial comm... │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
│ │ │ │
└────────────────────────────┘ └──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav []:tabs spc:checkout p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
Stashed all changes
┌─ 1 Status ─────────────────┐ ┌─ 0 Main ─────────────────────────────────────────────────────┐
│ main → b6e5ae8 │ │ commit b6e5ae86aa941f490e574b7a9f7a021839c08ff7 │
└────────────────────────────┘ │ Author: Test User <test@example.com> │
┌─ 2 Files (1) ──────────────┐ │ Date: Wed Jan 21 17:59:09 2026 -0500 │
│ ?? newfile.txt │ │ │
│ │ │ Initial commit │
│ │ │ --- │
│ │ │ README.md | 1 + │
└────────────────────────────┘ │ file1.txt | 1 + │
┌─ 3 Branches [L] R T ───────┐ │ file2.txt | 1 + │
│ feature-branch │ │ 3 files changed, 3 insertions(+) │
│ * main │ │ │
│ │ │ diff --git a/README.md b/README.md │
│ │ │ new file mode 100644 │
└────────────────────────────┘ │ index 0000000..181e1c3 │
╔═ 4 Commits [C] R ══════════╗ │ --- /dev/null │
║ b6e5ae8 Initial commit ║ │ +++ b/README.md │
║ ║ │ @@ -0,0 +1 @@ │
║ ║ │ +# Test Project │
║ ║ │ diff --git a/file1.txt b/file1.txt │
╚════════════════════════════╝ │ new file mode 100644 │
┌─ 5 Stash (1) ──────────────┐ │ index 0000000..a29bdeb │
│ 0 b6e5ae8 Initial comm... │ └──────────────────────────────────────────────────────────────┘
│ │ ┌─ Command Log ────────────────────────────────────────────────┐
│ │ │ │
│ │ │ │
└────────────────────────────┘ └──────────────────────────────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav []:tabs spc:checkout p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-stash-menu && cd /tmp/lazygitclj-e2e-stash-
menu && bb --config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-stash-menu/.git/
[main (root-commit) b6e5ae8] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch d306507] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-stash-menu
- main branch with 1 commit
- feature-branch with 1 extra commit
- 1 staged file (file2.txt)
- 1 unstaged file (file1.txt)
- 1 untracked file (newfile.txt)
Starting lazygitclj...
Goodbye!
>
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-stash-menu && cd /tmp/lazygitclj-e2e-stash-
menu && bb --config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-stash-menu/.git/
[main (root-commit) b6e5ae8] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch d306507] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-stash-menu
- main branch with 1 commit
- feature-branch with 1 extra commit
- 1 staged file (file2.txt)
- 1 unstaged file (file1.txt)
- 1 untracked file (newfile.txt)
Starting lazygitclj...
Goodbye!
>
────────────────────────────────────────────────────────────────────────────────
Binary file not shown.

Before

Width:  |  Height:  |  Size: 273 KiB

-996
View File
@@ -1,996 +0,0 @@
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-stash && cd /tmp/lazygitclj-e2e-stash && bb
--config /home/ajet/repos/lazygitclj/bb.edn start
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-stash && cd /tmp/lazygitclj-e2e-stash && bb
--config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-stash/.git/
[main (root-commit) 0cdea44] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 418b20b] Add feature
1 file changed, 1 insertion(+)
create mode 100644 feature.txt
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-stash
----- Error --------------------------------------------------------------------
Type: java.io.FileNotFoundException
Message: Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
Location: /home/ajet/repos/lazygitclj/src/lazygitclj/core.clj:3:3
----- Context ------------------------------------------------------------------
1: (ns lazygitclj.core
2: "lazygitclj - A lazygit-inspired TUI for git."
3: (:require [tui.simple :as tui]
^--- Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
4: [tui.core :refer [quit]]
5: [lazygitclj.git :as git]
6: [clojure.string :as str]))
7:
8: ;; === Model ===
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-stash && cd /tmp/lazygitclj-e2e-stash && bb
--config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-stash/.git/
[main (root-commit) 0cdea44] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 418b20b] Add feature
1 file changed, 1 insertion(+)
create mode 100644 feature.txt
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-stash
----- Error --------------------------------------------------------------------
Type: java.io.FileNotFoundException
Message: Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
Location: /home/ajet/repos/lazygitclj/src/lazygitclj/core.clj:3:3
----- Context ------------------------------------------------------------------
1: (ns lazygitclj.core
2: "lazygitclj - A lazygit-inspired TUI for git."
3: (:require [tui.simple :as tui]
^--- Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
4: [tui.core :refer [quit]]
5: [lazygitclj.git :as git]
6: [clojure.string :as str]))
7:
8: ;; === Model ===
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-stash && cd /tmp/lazygitclj-e2e-stash && bb
--config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-stash/.git/
[main (root-commit) 0cdea44] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 418b20b] Add feature
1 file changed, 1 insertion(+)
create mode 100644 feature.txt
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-stash
----- Error --------------------------------------------------------------------
Type: java.io.FileNotFoundException
Message: Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
Location: /home/ajet/repos/lazygitclj/src/lazygitclj/core.clj:3:3
----- Context ------------------------------------------------------------------
1: (ns lazygitclj.core
2: "lazygitclj - A lazygit-inspired TUI for git."
3: (:require [tui.simple :as tui]
^--- Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
4: [tui.core :refer [quit]]
5: [lazygitclj.git :as git]
6: [clojure.string :as str]))
7:
8: ;; === Model ===
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-stash && cd /tmp/lazygitclj-e2e-stash && bb
--config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-stash/.git/
[main (root-commit) 0cdea44] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 418b20b] Add feature
1 file changed, 1 insertion(+)
create mode 100644 feature.txt
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-stash
----- Error --------------------------------------------------------------------
Type: java.io.FileNotFoundException
Message: Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
Location: /home/ajet/repos/lazygitclj/src/lazygitclj/core.clj:3:3
----- Context ------------------------------------------------------------------
1: (ns lazygitclj.core
2: "lazygitclj - A lazygit-inspired TUI for git."
3: (:require [tui.simple :as tui]
^--- Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
4: [tui.core :refer [quit]]
5: [lazygitclj.git :as git]
6: [clojure.string :as str]))
7:
8: ;; === Model ===
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-stash && cd /tmp/lazygitclj-e2e-stash && bb
--config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-stash/.git/
[main (root-commit) 0cdea44] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 418b20b] Add feature
1 file changed, 1 insertion(+)
create mode 100644 feature.txt
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-stash
----- Error --------------------------------------------------------------------
Type: java.io.FileNotFoundException
Message: Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
Location: /home/ajet/repos/lazygitclj/src/lazygitclj/core.clj:3:3
----- Context ------------------------------------------------------------------
1: (ns lazygitclj.core
2: "lazygitclj - A lazygit-inspired TUI for git."
3: (:require [tui.simple :as tui]
^--- Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
4: [tui.core :refer [quit]]
5: [lazygitclj.git :as git]
6: [clojure.string :as str]))
7:
8: ;; === Model ===
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-stash && cd /tmp/lazygitclj-e2e-stash && bb
--config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-stash/.git/
[main (root-commit) 0cdea44] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 418b20b] Add feature
1 file changed, 1 insertion(+)
create mode 100644 feature.txt
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-stash
----- Error --------------------------------------------------------------------
Type: java.io.FileNotFoundException
Message: Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
Location: /home/ajet/repos/lazygitclj/src/lazygitclj/core.clj:3:3
----- Context ------------------------------------------------------------------
1: (ns lazygitclj.core
2: "lazygitclj - A lazygit-inspired TUI for git."
3: (:require [tui.simple :as tui]
^--- Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
4: [tui.core :refer [quit]]
5: [lazygitclj.git :as git]
6: [clojure.string :as str]))
7:
8: ;; === Model ===
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-stash && cd /tmp/lazygitclj-e2e-stash && bb
--config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-stash/.git/
[main (root-commit) 0cdea44] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 418b20b] Add feature
1 file changed, 1 insertion(+)
create mode 100644 feature.txt
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-stash
----- Error --------------------------------------------------------------------
Type: java.io.FileNotFoundException
Message: Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
Location: /home/ajet/repos/lazygitclj/src/lazygitclj/core.clj:3:3
----- Context ------------------------------------------------------------------
1: (ns lazygitclj.core
2: "lazygitclj - A lazygit-inspired TUI for git."
3: (:require [tui.simple :as tui]
^--- Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
4: [tui.core :refer [quit]]
5: [lazygitclj.git :as git]
6: [clojure.string :as str]))
7:
8: ;; === Model ===
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-stash && cd /tmp/lazygitclj-e2e-stash && bb
--config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-stash/.git/
[main (root-commit) 0cdea44] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 418b20b] Add feature
1 file changed, 1 insertion(+)
create mode 100644 feature.txt
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-stash
----- Error --------------------------------------------------------------------
Type: java.io.FileNotFoundException
Message: Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
Location: /home/ajet/repos/lazygitclj/src/lazygitclj/core.clj:3:3
----- Context ------------------------------------------------------------------
1: (ns lazygitclj.core
2: "lazygitclj - A lazygit-inspired TUI for git."
3: (:require [tui.simple :as tui]
^--- Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
4: [tui.core :refer [quit]]
5: [lazygitclj.git :as git]
6: [clojure.string :as str]))
7:
8: ;; === Model ===
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-stash && cd /tmp/lazygitclj-e2e-stash && bb
--config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-stash/.git/
[main (root-commit) 0cdea44] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 418b20b] Add feature
1 file changed, 1 insertion(+)
create mode 100644 feature.txt
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-stash
----- Error --------------------------------------------------------------------
Type: java.io.FileNotFoundException
Message: Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
Location: /home/ajet/repos/lazygitclj/src/lazygitclj/core.clj:3:3
----- Context ------------------------------------------------------------------
1: (ns lazygitclj.core
2: "lazygitclj - A lazygit-inspired TUI for git."
3: (:require [tui.simple :as tui]
^--- Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
4: [tui.core :refer [quit]]
5: [lazygitclj.git :as git]
6: [clojure.string :as str]))
7:
8: ;; === Model ===
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-stash && cd /tmp/lazygitclj-e2e-stash && bb
--config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-stash/.git/
[main (root-commit) 0cdea44] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 418b20b] Add feature
1 file changed, 1 insertion(+)
create mode 100644 feature.txt
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-stash
----- Error --------------------------------------------------------------------
Type: java.io.FileNotFoundException
Message: Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
Location: /home/ajet/repos/lazygitclj/src/lazygitclj/core.clj:3:3
----- Context ------------------------------------------------------------------
1: (ns lazygitclj.core
2: "lazygitclj - A lazygit-inspired TUI for git."
3: (:require [tui.simple :as tui]
^--- Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
4: [tui.core :refer [quit]]
5: [lazygitclj.git :as git]
6: [clojure.string :as str]))
7:
8: ;; === Model ===
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-stash && cd /tmp/lazygitclj-e2e-stash && bb
--config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-stash/.git/
[main (root-commit) 0cdea44] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 418b20b] Add feature
1 file changed, 1 insertion(+)
create mode 100644 feature.txt
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-stash
----- Error --------------------------------------------------------------------
Type: java.io.FileNotFoundException
Message: Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
Location: /home/ajet/repos/lazygitclj/src/lazygitclj/core.clj:3:3
----- Context ------------------------------------------------------------------
1: (ns lazygitclj.core
2: "lazygitclj - A lazygit-inspired TUI for git."
3: (:require [tui.simple :as tui]
^--- Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
4: [tui.core :refer [quit]]
5: [lazygitclj.git :as git]
6: [clojure.string :as str]))
7:
8: ;; === Model ===
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-stash && cd /tmp/lazygitclj-e2e-stash && bb
--config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-stash/.git/
[main (root-commit) 0cdea44] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 418b20b] Add feature
1 file changed, 1 insertion(+)
create mode 100644 feature.txt
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-stash
----- Error --------------------------------------------------------------------
Type: java.io.FileNotFoundException
Message: Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
Location: /home/ajet/repos/lazygitclj/src/lazygitclj/core.clj:3:3
----- Context ------------------------------------------------------------------
1: (ns lazygitclj.core
2: "lazygitclj - A lazygit-inspired TUI for git."
3: (:require [tui.simple :as tui]
^--- Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
4: [tui.core :refer [quit]]
5: [lazygitclj.git :as git]
6: [clojure.string :as str]))
7:
8: ;; === Model ===
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-stash && cd /tmp/lazygitclj-e2e-stash && bb
--config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-stash/.git/
[main (root-commit) 0cdea44] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 418b20b] Add feature
1 file changed, 1 insertion(+)
create mode 100644 feature.txt
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-stash
----- Error --------------------------------------------------------------------
Type: java.io.FileNotFoundException
Message: Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
Location: /home/ajet/repos/lazygitclj/src/lazygitclj/core.clj:3:3
----- Context ------------------------------------------------------------------
1: (ns lazygitclj.core
2: "lazygitclj - A lazygit-inspired TUI for git."
3: (:require [tui.simple :as tui]
^--- Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
4: [tui.core :refer [quit]]
5: [lazygitclj.git :as git]
6: [clojure.string :as str]))
7:
8: ;; === Model ===
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-stash && cd /tmp/lazygitclj-e2e-stash && bb
--config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-stash/.git/
[main (root-commit) 0cdea44] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 418b20b] Add feature
1 file changed, 1 insertion(+)
create mode 100644 feature.txt
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-stash
----- Error --------------------------------------------------------------------
Type: java.io.FileNotFoundException
Message: Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
Location: /home/ajet/repos/lazygitclj/src/lazygitclj/core.clj:3:3
----- Context ------------------------------------------------------------------
1: (ns lazygitclj.core
2: "lazygitclj - A lazygit-inspired TUI for git."
3: (:require [tui.simple :as tui]
^--- Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
4: [tui.core :refer [quit]]
5: [lazygitclj.git :as git]
6: [clojure.string :as str]))
7:
8: ;; === Model ===
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-stash && cd /tmp/lazygitclj-e2e-stash && bb
--config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-stash/.git/
[main (root-commit) 0cdea44] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 418b20b] Add feature
1 file changed, 1 insertion(+)
create mode 100644 feature.txt
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-stash
----- Error --------------------------------------------------------------------
Type: java.io.FileNotFoundException
Message: Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
Location: /home/ajet/repos/lazygitclj/src/lazygitclj/core.clj:3:3
----- Context ------------------------------------------------------------------
1: (ns lazygitclj.core
2: "lazygitclj - A lazygit-inspired TUI for git."
3: (:require [tui.simple :as tui]
^--- Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
4: [tui.core :refer [quit]]
5: [lazygitclj.git :as git]
6: [clojure.string :as str]))
7:
8: ;; === Model ===
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-stash && cd /tmp/lazygitclj-e2e-stash && bb
--config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-stash/.git/
[main (root-commit) 0cdea44] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 418b20b] Add feature
1 file changed, 1 insertion(+)
create mode 100644 feature.txt
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-stash
----- Error --------------------------------------------------------------------
Type: java.io.FileNotFoundException
Message: Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
Location: /home/ajet/repos/lazygitclj/src/lazygitclj/core.clj:3:3
----- Context ------------------------------------------------------------------
1: (ns lazygitclj.core
2: "lazygitclj - A lazygit-inspired TUI for git."
3: (:require [tui.simple :as tui]
^--- Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
4: [tui.core :refer [quit]]
5: [lazygitclj.git :as git]
6: [clojure.string :as str]))
7:
8: ;; === Model ===
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-stash && cd /tmp/lazygitclj-e2e-stash && bb
--config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-stash/.git/
[main (root-commit) 0cdea44] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 418b20b] Add feature
1 file changed, 1 insertion(+)
create mode 100644 feature.txt
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-stash
----- Error --------------------------------------------------------------------
Type: java.io.FileNotFoundException
Message: Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
Location: /home/ajet/repos/lazygitclj/src/lazygitclj/core.clj:3:3
----- Context ------------------------------------------------------------------
1: (ns lazygitclj.core
2: "lazygitclj - A lazygit-inspired TUI for git."
3: (:require [tui.simple :as tui]
^--- Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
4: [tui.core :refer [quit]]
5: [lazygitclj.git :as git]
6: [clojure.string :as str]))
7:
8: ;; === Model ===
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-stash && cd /tmp/lazygitclj-e2e-stash && bb
--config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-stash/.git/
[main (root-commit) 0cdea44] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 418b20b] Add feature
1 file changed, 1 insertion(+)
create mode 100644 feature.txt
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-stash
----- Error --------------------------------------------------------------------
Type: java.io.FileNotFoundException
Message: Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
Location: /home/ajet/repos/lazygitclj/src/lazygitclj/core.clj:3:3
----- Context ------------------------------------------------------------------
1: (ns lazygitclj.core
2: "lazygitclj - A lazygit-inspired TUI for git."
3: (:require [tui.simple :as tui]
^--- Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
4: [tui.core :refer [quit]]
5: [lazygitclj.git :as git]
6: [clojure.string :as str]))
7:
8: ;; === Model ===
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-stash && cd /tmp/lazygitclj-e2e-stash && bb
--config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-stash/.git/
[main (root-commit) 0cdea44] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 418b20b] Add feature
1 file changed, 1 insertion(+)
create mode 100644 feature.txt
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-stash
----- Error --------------------------------------------------------------------
Type: java.io.FileNotFoundException
Message: Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
Location: /home/ajet/repos/lazygitclj/src/lazygitclj/core.clj:3:3
----- Context ------------------------------------------------------------------
1: (ns lazygitclj.core
2: "lazygitclj - A lazygit-inspired TUI for git."
3: (:require [tui.simple :as tui]
^--- Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
4: [tui.core :refer [quit]]
5: [lazygitclj.git :as git]
6: [clojure.string :as str]))
7:
8: ;; === Model ===
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-stash && cd /tmp/lazygitclj-e2e-stash && bb
--config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-stash/.git/
[main (root-commit) 0cdea44] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 418b20b] Add feature
1 file changed, 1 insertion(+)
create mode 100644 feature.txt
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-stash
----- Error --------------------------------------------------------------------
Type: java.io.FileNotFoundException
Message: Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
Location: /home/ajet/repos/lazygitclj/src/lazygitclj/core.clj:3:3
----- Context ------------------------------------------------------------------
1: (ns lazygitclj.core
2: "lazygitclj - A lazygit-inspired TUI for git."
3: (:require [tui.simple :as tui]
^--- Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
4: [tui.core :refer [quit]]
5: [lazygitclj.git :as git]
6: [clojure.string :as str]))
7:
8: ;; === Model ===
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-stash && cd /tmp/lazygitclj-e2e-stash && bb
--config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-stash/.git/
[main (root-commit) 0cdea44] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 418b20b] Add feature
1 file changed, 1 insertion(+)
create mode 100644 feature.txt
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-stash
----- Error --------------------------------------------------------------------
Type: java.io.FileNotFoundException
Message: Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
Location: /home/ajet/repos/lazygitclj/src/lazygitclj/core.clj:3:3
----- Context ------------------------------------------------------------------
1: (ns lazygitclj.core
2: "lazygitclj - A lazygit-inspired TUI for git."
3: (:require [tui.simple :as tui]
^--- Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
4: [tui.core :refer [quit]]
5: [lazygitclj.git :as git]
6: [clojure.string :as str]))
7:
8: ;; === Model ===
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-stash && cd /tmp/lazygitclj-e2e-stash && bb
--config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-stash/.git/
[main (root-commit) 0cdea44] Initial commit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branch'
[feature-branch 418b20b] Add feature
1 file changed, 1 insertion(+)
create mode 100644 feature.txt
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-stash
----- Error --------------------------------------------------------------------
Type: java.io.FileNotFoundException
Message: Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
Location: /home/ajet/repos/lazygitclj/src/lazygitclj/core.clj:3:3
----- Context ------------------------------------------------------------------
1: (ns lazygitclj.core
2: "lazygitclj - A lazygit-inspired TUI for git."
3: (:require [tui.simple :as tui]
^--- Could not locate tui/simple.bb, tui/simple.clj or tui/simple.cljc on classpath.
4: [tui.core :refer [quit]]
5: [lazygitclj.git :as git]
6: [clojure.string :as str]))
7:
8: ;; === Model ===
────────────────────────────────────────────────────────────────────────────────
Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 206 KiB

+6 -1
View File
@@ -13,7 +13,7 @@ Set Height 600
Set Framerate 10
# Setup test repo with changes and run lazygitclj
Type "./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-reset && cd /tmp/lazygitclj-e2e-reset && bb --config /home/ajet/repos/lazygitclj/bb.edn start"
Type "cd /home/ajet/repos/lazygitclj && bb e2e:setup /tmp/lazygitclj-e2e-reset && cd /tmp/lazygitclj-e2e-reset && bb --config /home/ajet/repos/lazygitclj/bb.edn start"
Enter
Sleep 2s
@@ -55,3 +55,8 @@ Sleep 1s
# Quit
Type "q"
Sleep 1s
# Cleanup test repo
Type "rm -rf /tmp/lazygitclj-e2e-reset"
Enter
Sleep 500ms
-54
View File
@@ -1,54 +0,0 @@
#!/bin/bash
# Run all VHS e2e tests
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$SCRIPT_DIR"
echo "Running lazygitclj VHS e2e tests..."
echo "================================="
# List of test tapes
TESTS=(
"debug.tape"
"navigation.tape"
"staging.tape"
"commit.tape"
"commit-verify.tape"
"branches.tape"
"branch-operations.tape"
"stash-operations.tape"
"stash-menu.tape"
"help-panel.tape"
"reset-menu.tape"
"commits-tabs.tape"
"branches-tabs.tape"
"undo-redo.tape"
)
PASSED=0
FAILED=0
for tape in "${TESTS[@]}"; do
echo ""
echo "Running: $tape"
echo "---"
if timeout 60 vhs "$tape" 2>&1; then
echo "PASSED: $tape"
((PASSED++))
else
echo "FAILED: $tape"
((FAILED++))
fi
done
echo ""
echo "================================="
echo "Results: $PASSED passed, $FAILED failed"
echo "================================="
if [ $FAILED -gt 0 ]; then
exit 1
fi
-37
View File
@@ -1,37 +0,0 @@
#!/bin/bash
# Setup a test git repository for e2e tests
# Usage: ./setup-test-repo.sh /tmp/test-repo
REPO_DIR="${1:-/tmp/lazygitclj-e2e-test}"
# Remove existing repo if present
rm -rf "$REPO_DIR"
# Create and initialize repo
mkdir -p "$REPO_DIR"
cd "$REPO_DIR"
git init -b main
# Configure git
git config user.email "test@example.com"
git config user.name "Test User"
# Create initial files
echo "# Test Project" > README.md
echo "line1" > file1.txt
echo "line2" > file2.txt
git add .
git commit -m "Initial commit"
# Create feature branch with changes
git checkout -b feature-branch
echo "feature content" > feature.txt
git add .
git commit -m "Add feature"
# Go back to main and make some uncommitted changes
git checkout main
echo "modified" >> file1.txt
echo "new file" > new-file.txt
echo "Test repo created at $REPO_DIR"
+6 -1
View File
@@ -13,7 +13,7 @@ Set Height 600
Set Framerate 10
# Setup test repo and run lazygitclj
Type "./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-stage && cd /tmp/lazygitclj-e2e-stage && bb --config /home/ajet/repos/lazygitclj/bb.edn start"
Type "cd /home/ajet/repos/lazygitclj && bb e2e:setup /tmp/lazygitclj-e2e-stage && cd /tmp/lazygitclj-e2e-stage && bb --config /home/ajet/repos/lazygitclj/bb.edn start"
Enter
Sleep 2s
@@ -43,3 +43,8 @@ Sleep 500ms
# Quit
Type "q"
Sleep 1s
# Cleanup test repo
Type "rm -rf /tmp/lazygitclj-e2e-stage"
Enter
Sleep 500ms
+6 -1
View File
@@ -13,7 +13,7 @@ Set Height 600
Set Framerate 10
# Setup test repo with changes and run lazygitclj
Type "./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-stash-menu && cd /tmp/lazygitclj-e2e-stash-menu && bb --config /home/ajet/repos/lazygitclj/bb.edn start"
Type "cd /home/ajet/repos/lazygitclj && bb e2e:setup /tmp/lazygitclj-e2e-stash-menu && cd /tmp/lazygitclj-e2e-stash-menu && bb --config /home/ajet/repos/lazygitclj/bb.edn start"
Enter
Sleep 2s
@@ -48,3 +48,8 @@ Sleep 500ms
# Quit
Type "q"
Sleep 1s
# Cleanup test repo
Type "rm -rf /tmp/lazygitclj-e2e-stash-menu"
Enter
Sleep 500ms

Some files were not shown because too many files have changed in this diff Show More