Commit Graph

6679 Commits

Author SHA1 Message Date
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 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 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 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 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 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 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 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 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 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
Scott Chacon
6c7e07f325 move my cloud stuff to pavels branchswitch thing 2024-05-03 13:48:16 +02:00
Kiril Videlov
8db8ec5641
Merge pull request from gitbutlerapp/update-virtual-branches-toml-on-restore
snapshots: use subtrees for virtual_branches.toml
2024-05-03 02:50:03 -07:00
Scott Chacon
ea08accec1 whoopsie 2024-05-03 11:39:54 +02:00
Scott Chacon
0442744c13
Merge branch 'master' into target-branch-selector-fix 2024-05-03 11:26:16 +02:00
Scott Chacon
5527d2b6e2 initial implementation of different push target 2024-05-03 11:20:47 +02:00
Kiril Videlov
8ef46ce42c
snapshots: use subtrees for virtual_branches.toml
Instead of copying the file to the working directory, simply create a top level tree with a subtree for the workdir and a blob for the toml file
2024-05-03 11:13:55 +02:00
Mattias Granlund
5bb8c25aca Fix bug in updating base branch
- drop "double lock across branches" test because it can't happen
- save correct tree when updating branch states
- use correct integration commit when updating base branch
2024-05-02 17:39:52 +02:00
Kiril Videlov
2e5684a965
Merge pull request from gitbutlerapp/advanced-commit-operations
puts advanced commit ops behind a feature flag
2024-05-02 05:59:03 -07:00
Kiril Videlov
c312e7a287
puts advanced commit ops behind a feature flag 2024-05-02 14:57:32 +02:00