Commit Graph

373 Commits

Author SHA1 Message Date
Nico Domino
68f0a3c288
fix: use our own open-rs implementation instead of relying on tauri's "shell-open" (#4748)
Co-authored-by: Yerke Tulibergenov <yerke@squareup.com>
Co-authored-by: Caleb Owens <caleb@gitbutler.com>
Co-authored-by: Pavel Laptev <pawellaptew@gmail.com>
Co-authored-by: Mattias Granlund <mtsgrd@gmail.com>
Co-authored-by: Sebastian Thiel <sebastian.thiel@icloud.com>
Co-authored-by: GitButler <gitbutler@gitbutler.com>
2024-09-07 19:28:50 +02:00
dependabot[bot]
6aaf2d89ec
Bump the rust-updates group with 3 updates
Bumps the rust-updates group with 3 updates: [tokio](https://github.com/tokio-rs/tokio), [sysinfo](https://github.com/GuillaumeGomez/sysinfo) and [rstest](https://github.com/la10736/rstest).


Updates `tokio` from 1.39.3 to 1.40.0
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.39.3...tokio-1.40.0)

Updates `sysinfo` from 0.31.3 to 0.31.4
- [Changelog](https://github.com/GuillaumeGomez/sysinfo/blob/master/CHANGELOG.md)
- [Commits](https://github.com/GuillaumeGomez/sysinfo/compare/v0.31.3...v0.31.4)

Updates `rstest` from 0.21.0 to 0.22.0
- [Release notes](https://github.com/la10736/rstest/releases)
- [Changelog](https://github.com/la10736/rstest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/la10736/rstest/compare/v0.21.0...v0.22.0)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: rust-updates
- dependency-name: sysinfo
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-updates
- dependency-name: rstest
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: rust-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-01 15:57:33 +00:00
Sebastian Thiel
47b6d41a26
Merge pull request #4771 from Byron/git2-to-gix
list virtual branches performance
2024-08-29 09:50:35 +02:00
Sebastian Thiel
79798c7407
Exclude big files when performing a worktree diff.
This was lost previously when switching it over to a read-only
implementation.
Implementing it with an ignore list will take time, 400ms in the GitLab
repository, but it's not slower than it was before and it is always
preferred to not dump objects into the ODB unnecessarily.
2024-08-29 09:31:59 +02:00
Sebastian Thiel
751e091f6f
Reuse the worktree-diff during 'recalulate-everything'
It's used for emission of changed files, but also for listing
branch information.

Make sure we only run the worktree-status once to save time.

This also unifies the acquisition of the `HEAD^{commit}`,
which one day will be a natural feature once `gix::Repository`
is used.
2024-08-28 21:42:29 +02:00
Sebastian Thiel
41c053474a
Assure HTTPS support is compiled into gix using curl. 2024-08-28 12:55:44 +02:00
Sebastian Thiel
fc63929da3
Add a flag to allow performance logging: GITBUTLER_PERFORMANCE_LOG
````
GITBUTLER_PERFORMANCE_LOG=1 LOG_LEVEL=debug pnpm tauri dev
````

Additionally, some noise was removed by turning a warning into
a trace.
2024-08-28 11:41:29 +02:00
Kiril Videlov
06f50b4531 Merge branch 'master' into branch-stacking-first-stab 2024-08-27 14:13:08 +02:00
Caleb Owens
3fb5077c4a
Somethign somethign matchy matchy design 2024-08-27 13:05:27 +02:00
Sebastian Thiel
c2decbbdc7
Use the latest version of gix for performance improvements. 2024-08-27 12:17:52 +02:00
Sebastian Thiel
82aa2d1760
use gix powered merge-base for performance and reduced memory consumption 2024-08-26 19:35:09 +02:00
Sebastian Thiel
4ad8c0ed11
use latest gix to make merge-base available. 2024-08-26 19:34:21 +02:00
Yerke Tulibergenov
417a0241ce update git2-hooks to 0.3.3 2024-08-25 23:25:45 +01:00
Sebastian Thiel
47916d8b41
use the latest gix from GitHub with latest improvements 2024-08-23 13:08:37 +02:00
Kiril Videlov
12f826b9ad
move the stacking impl to repo crate
There is just too big of a dependency in both directions to be able to have a separation at this time. The gitbutler-repo crate is needed for the stacking functionality and the `rebase` module inside of it needs to use the new API in order to maintain consistency during rebasing.
2024-08-22 23:29:13 +02:00
Caleb Owens
ec7a38f538
Merge pull request #4717 from gitbutlerapp/Rebase-revolution
Rebase revolution
2024-08-22 18:28:49 +02:00
Sebastian Thiel
e78ef9b115
enable max performance to be competitive in object database access.
This is very relevant for tree-diffing performance, and more could be tuned
here like pack-cache sizes and object cache sizes.
2024-08-21 19:28:12 +02:00
Sebastian Thiel
42e4ab44f9
Make it more obvious where gitoxide repositories are used. 2024-08-21 19:28:11 +02:00
Sebastian Thiel
e26bf2f54a
add benchmarks for branch details 2024-08-21 19:28:09 +02:00
Sebastian Thiel
77cbc50a68
branch listing and branch details for the CLI 2024-08-21 19:23:42 +02:00
Sebastian Thiel
c58112f157
Use latest gix from main 2024-08-21 19:23:42 +02:00
Kiril Videlov
36c0a1219d
add tests 2024-08-21 16:32:20 +02:00
Caleb Owens
ace6facb24 Getting behaviour locked in 2024-08-21 14:45:41 +02:00
Kiril Videlov
a095f8f28b
add methods for manipulating branch references
fix a thing
2024-08-21 12:21:30 +02:00
Caleb Owens
dbe8013de3 Record entering edit mode in oplog 2024-08-19 11:44:59 +02:00
Caleb Owens
7ab7731a31 Add edit mode actions
More edit mode
2024-08-19 11:03:51 +02:00
Caleb Owens
2316d0f10d Use gix for cloning repositories 2024-08-16 12:21:42 +02:00
Caleb Owens
e0d7b56cb5 Provide current mode to frontend 2024-08-13 17:05:28 +02:00
Caleb Owens
c98421171e Introduce edit mode
asdf
2024-08-13 14:14:02 +02:00
Sebastian Thiel
107eea6743
Use gix for branch normalization 2024-08-09 21:53:38 +02:00
Sebastian Thiel
0d1ac25ef4
Use the latest version of gix for sanitization support 2024-08-09 21:14:17 +02:00
Sebastian Thiel
de2989f352
Don't use gix built-in serialization as it will leave BString as sequence of numbers.
Instead, we need it to be a string, even if lossy.
2024-08-09 13:12:36 +02:00
Sebastian Thiel
4c76e2a6ee
Revert "Revert "Merge pull request #4652 from gitbutlerapp/git2-to-gix""
This reverts commit 88496e6219.
2024-08-09 10:30:52 +02:00
Kiril Videlov
88496e6219 Revert "Merge pull request #4652 from gitbutlerapp/git2-to-gix"
This reverts commit ae8b05ae70, reversing
changes made to 4d9b6a4a93.
2024-08-09 10:18:51 +02:00
Sebastian Thiel
6720e987fe
Use gix::refs::PartialName as even stronger guarantee for what's in there 2024-08-08 21:04:09 +02:00
Sebastian Thiel
3df2da6de5
Use gix::remote::Name for type-safety. 2024-08-08 20:53:14 +02:00
Sebastian Thiel
f2a462f9b3
switch to latest gitoxide for updates supported the following changes 2024-08-08 20:53:10 +02:00
Caleb Owens
99eac848cf
Merge pull request #4640 from gitbutlerapp/write-tests-for-existing-gitbutler-modes
Write tests for existing modes
2024-08-08 10:54:20 +02:00
Sebastian Thiel
f43f8c1d2b
assure both applications enforce max-performance settings for gitoxide. 2024-08-07 20:21:56 +02:00
Sebastian Thiel
17850bd210
Use gix for branch listing 2024-08-07 20:21:29 +02:00
Sebastian Thiel
e42fcd4643
add benchmark for branch-listing 2024-08-07 20:10:02 +02:00
Caleb Owens
7ea1a5929c Write tests for existing modes 2024-08-07 12:43:56 +02:00
Sebastian Thiel
9476bf3b96
update gix to the latest version for gix-validate update (#4570) 2024-08-01 22:17:42 +02:00
Kiril Videlov
84b6815bd8
Merge pull request #4580 from gitbutlerapp/dependabot/cargo/rust-updates-191d328b20
Bump the rust-updates group across 1 directory with 8 updates
2024-08-01 22:13:30 +02:00
dependabot[bot]
c9c4630087
Bump the rust-updates group across 1 directory with 8 updates
Bumps the rust-updates group with 8 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [thiserror](https://github.com/dtolnay/thiserror) | `1.0.62` | `1.0.63` |
| [tokio](https://github.com/tokio-rs/tokio) | `1.38.0` | `1.39.2` |
| [console-subscriber](https://github.com/tokio-rs/console) | `0.3.0` | `0.4.0` |
| [serde_json](https://github.com/serde-rs/json) | `1.0.120` | `1.0.121` |
| [assert_cmd](https://github.com/assert-rs/assert_cmd) | `2.0.14` | `2.0.15` |
| [clap](https://github.com/clap-rs/clap) | `4.5.9` | `4.5.13` |
| [bstr](https://github.com/BurntSushi/bstr) | `1.9.1` | `1.10.0` |
| [toml](https://github.com/toml-rs/toml) | `0.8.14` | `0.8.15` |



Updates `thiserror` from 1.0.62 to 1.0.63
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.62...1.0.63)

Updates `tokio` from 1.38.0 to 1.39.2
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.38.0...tokio-1.39.2)

Updates `console-subscriber` from 0.3.0 to 0.4.0
- [Release notes](https://github.com/tokio-rs/console/releases)
- [Changelog](https://github.com/tokio-rs/console/blob/main/release-plz.toml)
- [Commits](https://github.com/tokio-rs/console/compare/console-subscriber-v0.3.0...console-subscriber-v0.4.0)

Updates `serde_json` from 1.0.120 to 1.0.121
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.120...v1.0.121)

Updates `assert_cmd` from 2.0.14 to 2.0.15
- [Changelog](https://github.com/assert-rs/assert_cmd/blob/master/CHANGELOG.md)
- [Commits](https://github.com/assert-rs/assert_cmd/compare/v2.0.14...v2.0.15)

Updates `clap` from 4.5.9 to 4.5.13
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.9...v4.5.13)

Updates `bstr` from 1.9.1 to 1.10.0
- [Commits](https://github.com/BurntSushi/bstr/compare/1.9.1...1.10.0)

Updates `toml` from 0.8.14 to 0.8.15
- [Commits](https://github.com/toml-rs/toml/compare/toml-v0.8.14...toml-v0.8.15)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-updates
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: rust-updates
- dependency-name: console-subscriber
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: rust-updates
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-updates
- dependency-name: assert_cmd
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-updates
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-updates
- dependency-name: bstr
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: rust-updates
- dependency-name: toml
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-01 19:45:06 +00:00
Kiril Videlov
8ce77c26c4
Merge pull request #4574 from gitbutlerapp/dependabot/cargo/tauri-plugin-log-7c9dac1
Bump tauri-plugin-log from `76b0f65` to `7c9dac1`
2024-08-01 21:41:33 +02:00
Kiril Videlov
bb86eeacf3
update sysinfo crate version 2024-08-01 21:11:53 +02:00
dependabot[bot]
d699e7d582
Bump tauri-plugin-log from 76b0f65 to 7c9dac1
Bumps [tauri-plugin-log](https://github.com/tauri-apps/plugins-workspace) from `76b0f65` to `7c9dac1`.
- [Release notes](https://github.com/tauri-apps/plugins-workspace/releases)
- [Commits](76b0f657d1...7c9dac1f42)

---
updated-dependencies:
- dependency-name: tauri-plugin-log
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-01 15:36:02 +00:00
Sebastian Thiel
2d82b6e038
more tests specific to how branches are discovered 2024-07-31 19:44:00 +02:00
Sebastian Thiel
182381dd79
assure normalization will always provide valid ref-names, or fail.
Otherwise, it's possible to run into `git2` errors, which are
more 'indirect'.
2024-07-31 18:52:01 +02:00