Commit Graph

6838 Commits

Author SHA1 Message Date
Caleb Owens
645726ab93 Render files in chunks of 100
Rendering the files in chunks of 100 prevents the UI from completly locking up. It is a little slugish until it finishes rendering (for the same 2 seconds), but is a markable improvement none hte less
2024-05-06 01:44:26 +01:00
Caleb Owens
85e3420f23 Drastically improve render performance
When rendering 1900 odd files, flexbox can cause performance issues due to having to recalculate many times.

I've removed a selection of un-needed flex declarations which has improved perfomrance sugnificantly.
2024-05-06 00:31:11 +01:00
Kiril Videlov
7fdd85f522
Merge pull request #3695 from gitbutlerapp/restore-snapshot-and-refresh
add some details to the undo interface
2024-05-06 00:20:43 +02:00
Kiril Videlov
08eba701fb
add some details to the undo interface 2024-05-06 00:19:22 +02:00
Kiril Videlov
f2b2434d7c
Merge pull request #3694 from gitbutlerapp/refactor-snapshot-functions-as-trait-methods
refactor snapshotting as an Oplog trait
2024-05-05 22:46:08 +02:00
Kiril Videlov
4f1c63ca77
dont error commands on snapshoting erros
If the snapshoting returns an error that should not interfere with the command that the user originally intended to run
2024-05-05 22:34:15 +02:00
Kiril Videlov
5f6ff257d1
refactor snapshotting as an Oplog trait
Implemented on Project
2024-05-05 22:28:12 +02:00
ndom91
214667b17b
Merge branch 'master' into ndom91/add-nix-flake 2024-05-05 22:27:07 +02:00
Pavel Laptev
6d9848e3d7
lint fixes 2024-05-05 22:18:59 +02:00
Pavel Laptev
e38e68477b
lint fixes 2024-05-05 21:57:45 +02:00
Pavel Laptev
043917ad45
Help window menu added 2024-05-05 21:40:06 +02:00
Kiril Videlov
988291886b
Merge pull request #3692 from anaisbetts/ignore-envs
Ignore .env.development and friends
2024-05-05 21:33:54 +02:00
Ani Betts
de2bcdb390 Ignore .env.development and friends 2024-05-05 21:18:05 +02:00
Kiril Videlov
bb1d79e87a
Merge pull request #3691 from gitbutlerapp/added-snapshot-creation-based-on-changed-lines
fix: auto snapshotting on changed lines of code
2024-05-05 20:29:19 +02:00
Kiril Videlov
c59767651d fix: auto snapshotting on changed lines of code
Compare against the last snapshot
2024-05-05 20:08:34 +02:00
Caleb Owens
442ff9dbac Push rather than inserting
This in theory is a faster way of adding items to the list, but at the very least, makes it consistent with the other branch which also uses `push`
2024-05-05 18:07:30 +01:00
Caleb Owens
fc8d8bcb43 Optimize virtual branch file sorting
The changes in this commit optimize the sorting of virtual branch files
by pre-computing the index positions of the ownership claims for each
file path. This improves the performance of the sorting operation by
avoiding the need to repeatedly search for the index positions during
the comparison step.

With 1900 hunks in a vbranch, I've found that this helps reduce the run time from 9 seconds down to just 5.

I considered not sorting at all if we didn't have any branches, but this didn't provide any substantial change in performance.
2024-05-05 18:07:30 +01:00
Kiril Videlov
66a21e8ec5
Merge pull request #3690 from gitbutlerapp/fix-snapshot-path-handling
fix a snapshot bug on windows
2024-05-05 18:09:14 +02:00
Kiril Videlov
9aa7b11311
fix a snapshot bug on windows
paths shouldn't be handcoding the separator
2024-05-05 17:55:10 +02:00
Kiril Videlov
bd33ff1645
Merge pull request #3689 from gitbutlerapp/include-conflict-state-in-snapshots
include conflict state in snapshots
2024-05-05 17:52:47 +02:00
Kiril Videlov
a0a834b8bd
create and restore return the shas of the snapshots 2024-05-05 17:39:45 +02:00
Kiril Videlov
bd8b0bf246
improve docs 2024-05-05 17:32:00 +02:00
Kiril Videlov
c24da92b6f
test: snapshotting of conflict state 2024-05-05 17:31:52 +02:00
Kiril Videlov
0771efc52f
include conflict state in snapshots 2024-05-05 17:31:29 +02:00
Pavel Laptev
4d5f77b7f4
Merge branch 'master' into target-branch-selector-fix 2024-05-04 23:30:54 +02:00
Pavel Laptev
09113fec2f fix layout on project setup
- fix text when open `login page` in a browser
- remove `name` from Toggle. We didn't use it
- fields layout updated
2024-05-04 23:26:08 +02:00
Pavel Laptev
88f840174f Branch configuration fixes
- remove console.logs
- in the Select dropdown fix preselecting default values on reload
- replace `===` with `==` (our style guide)
- undisable `Update configuration` if one of the fields were changed
2024-05-04 21:39:57 +02:00
Kiril Videlov
81bc5b327c
Merge pull request #3687 from gitbutlerapp/snapshot-on-file-changes
snapshot on file changes
2024-05-04 19:47:24 +02:00
Kiril Videlov
5e54e0ed01
make SNAPSHOT_LINES_THRESHOLD configurable 2024-05-04 19:34:54 +02:00
Kiril Videlov
ebae6bf8de
create a snapshot every 20 lines changed 2024-05-04 19:20:22 +02:00
Kiril Videlov
25b7acc59c
adds a new snapshot entry type FileChanges 2024-05-04 19:19:52 +02:00
Kiril Videlov
32e5b97495 create a GbRepo trait for building blocks gitbutler uses
As well as an implementation for git2::Repository
2024-05-04 19:19:09 +02:00
Kiril Videlov
f5915262e8
Merge pull request #3686 from gitbutlerapp/exclude-large-new-files
fix: only skip big files from snapshotting if they are untracked
2024-05-04 16:41:23 +02:00
Kiril Videlov
105a355e5d
fix: only skip big files from snapshotting if they are untracked 2024-05-04 16:28:34 +02:00
Kiril Videlov
027e0bec05
Merge pull request #3685 from gitbutlerapp/add-gitbutler-cli-cargo-toml
tiny cli for snapshots
2024-05-04 03:58:35 -07:00
Kiril Videlov
f8e05ec694 skip pager on windows 2024-05-04 12:14:24 +02:00
Kiril Videlov
539ba983b3 add cli crate to ci jobs 2024-05-04 11:31:28 +02:00
Kiril Videlov
9aee55c869
tiny cli for snapshots
this is a cli convinience tool for listing and restoring gitbutler snapshots even if the app can't start or if it's hung. of course this can be done with plain git, but this is more convinient

In the future we could add more functionality to it
2024-05-04 11:29:14 +02:00
Kiril Videlov
d2a51e84e9
Merge pull request #3682 from gitbutlerapp/improve-advanced-commit-options
Improve advanced commit options
2024-05-04 01:47:21 -07:00
Pavel Laptev
c0cc85688f Updated branch switch on the Settings page
- copy updated
- layout updated
- select component max-height fixed
2024-05-04 00:41:15 +02:00
Kiril Videlov
3bfc081b94
Merge pull request #3683 from gitbutlerapp/Update-branch-normalize-function
Update the normalizeBranchName function to match rust
2024-05-03 14:23:18 -07:00
Pavel Laptev
fb6dd2429e CSS fix: truncate long base branch names 2024-05-03 22:39:36 +02:00
Caleb Owens
32a8992af6 Add some basic test cases for normalizeBranchName 2024-05-03 20:16:02 +01:00
Caleb Owens
63ee99b647 Update the normalizeBranchName function to match rust
Before, uppercase letters and hashes were missing from the regex. I've now coppied the regex from the rust code so they are now identical
2024-05-03 20:09:22 +01:00
Caleb Owens
fe30db9760 Change metric for "undoable"
We have two types of commits "RemoteCommit" and "Commit". "RemoteCommit" are what we see in the "Upstream" section, and in branches. These commits can't be undone.

Commits of type "Commit" appear in the "Local" and "Remote" sections and are undoable
2024-05-03 19:49:40 +01:00
Caleb Owens
601d6ba809 Grey out commit buttons when title isnt present 2024-05-03 19:41:45 +01:00
Caleb Owens
c4108dc22c Only show edit title option when commit is undoable 2024-05-03 19:32:30 +01:00
Caleb Owens
6982909689 Use stop propagation to prevent card closing 2024-05-03 19:14:24 +01:00
Caleb Owens
f8109368f3 Improve UI of advanced commit options 2024-05-03 19:10:28 +01:00
Scott Chacon
aa9a775842 Merged origin/master into target-branch-selector-fix 2024-05-03 13:51:01 +02:00