Commit Graph

415 Commits

Author SHA1 Message Date
Chooooooo
e789eb1a55
Add preview support for untracked binary files 2024-10-15 03:31:28 +09:00
Chooooo
b4c84fdfd8
Merge branch 'master' into feat/parse-binary-file 2024-10-15 00:07:28 +09:00
Navtoj Chahal
1e59bb412c
enable opening URLs with the default browser 2024-10-13 19:44:26 -07:00
Sebastian Thiel
9175e60e60
re-enable now working test thanks to gitoxide fix 2024-10-11 18:59:38 +02:00
Chooooooo
3c9eb56a37
Add parsing for binary files 2024-10-10 19:04:36 +09:00
Caleb Owens
5071cc40ff LIst conflicted files in commit files list 2024-10-09 20:21:57 +02:00
Kiril Videlov
9cc51ff84a
Merge pull request #5065 from gitbutlerapp/dependabot/cargo/tauri-plugin-context-menu-8d5854f
Bump tauri-plugin-context-menu from `1cdd3b5` to `8d5854f`
2024-10-09 14:59:03 +02:00
dependabot[bot]
e414d3d360
Bump tauri-plugin-context-menu from 1cdd3b5 to 8d5854f
Bumps [tauri-plugin-context-menu](https://github.com/c2r0b/tauri-plugin-context-menu) from `1cdd3b5` to `8d5854f`.
- [Commits](1cdd3b5567...8d5854f186)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-09 09:36:08 +00:00
Kiril Videlov
87a4c61b9f Consistent setting of stack head updating the series 2024-10-08 22:25:19 +02:00
Kiril Videlov
f172855c61 Adds a new method to StackActions 2024-10-08 16:12:21 +02:00
Kiril Videlov
9e9f3255a8 Remove some types out of the stack crate
Seems i can get away without adding it
2024-10-08 15:44:59 +02:00
Kiril Videlov
7ec59f8489 extract the Branch types to crate gitbutler-stack 2024-10-08 15:27:16 +02:00
Kiril Videlov
d78ebbe176 rename crate gitbutler-stack to gitbutler-stack-api
This is needed to free up the name gitbutler-stack
2024-10-08 14:53:23 +02:00
Kiril Videlov
5b7109e8ee refactor(Branch): implement set_head() and make field private
This allows us to control the head setting and update the stack `heads` field accordingly
2024-10-08 12:21:57 +02:00
Caleb Owens
3f37e5aaf9 Use random names in commit_tree testing utility 2024-10-02 14:55:33 +02:00
Kiril Videlov
0122bb5dba
Merge pull request #5014 from gitbutlerapp/dependabot/cargo/tauri-plugin-single-instance-0b59bc7
Bump tauri-plugin-single-instance from `677bade` to `0b59bc7`
2024-10-03 01:16:17 +02:00
Kiril Videlov
4cd93a6733
Merge pull request #5020 from gitbutlerapp/dependabot/cargo/cargo-22a2db0795
Bump tonic from 0.12.1 to 0.12.3 in the cargo group
2024-10-03 01:15:48 +02:00
dependabot[bot]
69752599be
Bump the rust-updates group across 1 directory with 13 updates
Bumps the rust-updates group with 13 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [serde](https://github.com/serde-rs/serde) | `1.0.209` | `1.0.210` |
| [thiserror](https://github.com/dtolnay/thiserror) | `1.0.63` | `1.0.64` |
| [backtrace](https://github.com/rust-lang/backtrace-rs) | `0.3.73` | `0.3.74` |
| [once_cell](https://github.com/matklad/once_cell) | `1.19.0` | `1.20.1` |
| [reqwest](https://github.com/seanmonstar/reqwest) | `0.12.7` | `0.12.8` |
| [serde_json](https://github.com/serde-rs/json) | `1.0.127` | `1.0.128` |
| [pretty_assertions](https://github.com/rust-pretty-assertions/rust-pretty-assertions) | `1.4.0` | `1.4.1` |
| [tempfile](https://github.com/Stebalien/tempfile) | `3.12.0` | `3.13.0` |
| [tauri-build](https://github.com/tauri-apps/tauri) | `1.5.4` | `1.5.5` |
| [tokio-util](https://github.com/tokio-rs/tokio) | `0.7.11` | `0.7.12` |
| [rstest](https://github.com/la10736/rstest) | `0.22.0` | `0.23.0` |
| [clap](https://github.com/clap-rs/clap) | `4.5.16` | `4.5.19` |
| [regex](https://github.com/rust-lang/regex) | `1.10.6` | `1.11.0` |



Updates `serde` from 1.0.209 to 1.0.210
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.209...v1.0.210)

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

Updates `backtrace` from 0.3.73 to 0.3.74
- [Release notes](https://github.com/rust-lang/backtrace-rs/releases)
- [Commits](https://github.com/rust-lang/backtrace-rs/compare/0.3.73...0.3.74)

Updates `once_cell` from 1.19.0 to 1.20.1
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md)
- [Commits](https://github.com/matklad/once_cell/compare/v1.19.0...v1.20.1)

Updates `reqwest` from 0.12.7 to 0.12.8
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.12.7...v0.12.8)

Updates `serde_json` from 1.0.127 to 1.0.128
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/1.0.127...1.0.128)

Updates `pretty_assertions` from 1.4.0 to 1.4.1
- [Release notes](https://github.com/rust-pretty-assertions/rust-pretty-assertions/releases)
- [Changelog](https://github.com/rust-pretty-assertions/rust-pretty-assertions/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-pretty-assertions/rust-pretty-assertions/compare/v1.4.0...v1.4.1)

Updates `tempfile` from 3.12.0 to 3.13.0
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.12.0...v3.13.0)

Updates `tauri-build` from 1.5.4 to 1.5.5
- [Release notes](https://github.com/tauri-apps/tauri/releases)
- [Commits](https://github.com/tauri-apps/tauri/compare/tauri-build-v1.5.4...tauri-build-v1.5.5)

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

Updates `rstest` from 0.22.0 to 0.23.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.22.0...v0.23.0)

Updates `clap` from 4.5.16 to 4.5.19
- [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.16...clap_complete-v4.5.19)

Updates `regex` from 1.10.6 to 1.11.0
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.10.6...1.11.0)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-updates
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-updates
- dependency-name: backtrace
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-updates
- dependency-name: once_cell
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: rust-updates
- dependency-name: reqwest
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-updates
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-updates
- dependency-name: pretty_assertions
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-updates
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: rust-updates
- dependency-name: tauri-build
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-updates
- dependency-name: tokio-util
  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
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-updates
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: rust-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-02 22:37:53 +00:00
Kiril Videlov
b8f69d9406 Wire up v2 stacking api as Tauri commands 2024-10-02 20:47:50 +02:00
Kiril Videlov
89960f6bfc Make stack initialization more forgiving 2024-10-02 19:28:29 +02:00
dependabot[bot]
7ca8d91923
Bump tonic from 0.12.1 to 0.12.3 in the cargo group
Bumps the cargo group with 1 update: [tonic](https://github.com/hyperium/tonic).


Updates `tonic` from 0.12.1 to 0.12.3
- [Release notes](https://github.com/hyperium/tonic/releases)
- [Changelog](https://github.com/hyperium/tonic/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hyperium/tonic/compare/v0.12.1...v0.12.3)

---
updated-dependencies:
- dependency-name: tonic
  dependency-type: indirect
  dependency-group: cargo
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-02 09:27:48 +00:00
Kiril Videlov
03659e4731 Add tests for Stack method push_series 2024-10-02 01:49:12 +02:00
dependabot[bot]
374085a52d
Bump tauri-plugin-single-instance from 677bade to 0b59bc7
Bumps [tauri-plugin-single-instance](https://github.com/tauri-apps/plugins-workspace) from `677bade` to `0b59bc7`.
- [Release notes](https://github.com/tauri-apps/plugins-workspace/releases)
- [Commits](677bade908...0b59bc7096)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-01 16:04:23 +00:00
Kiril Videlov
3742349a22
Merge pull request #4999 from icorbrey-contrib/master
chore: Bump `git2-hooks`
2024-09-30 19:00:56 +02:00
Isaac Corbrey
7045f1c365 chore: Bump git2-hooks 2024-09-30 11:54:34 -04:00
Caleb Owens
511ca5212e Support executable blobs 2024-09-30 17:34:20 +02:00
Kiril Videlov
3ba6f7238a Tests for Stack trait implementation 2024-09-30 00:22:35 +02:00
Kiril Videlov
f6ec80d8ce Adds a trait Stack with an implementation for Branch
This provides a well defined interface for interacting with Stacks. It is implemented for gitbutler_branch::Branch, and it is specifically meant to operate on and update the `heads` field of Branch
This facilitates creating, updating, removing, pushing and listing of "stacked branches" within the Stack (formerly the virtual branch).
2024-09-29 19:26:39 +02:00
Kiril Videlov
a2aafd919b Introduce PatchReference and a heads field on Branch
- The PatchReference type represents a "reference" that is entirely managed by GitButler. It can either point to a commit or a GitButler change (which itself points to a commit)
- The Branch type (as persisted in virtual_branches.toml) now has a `heads` fields with a list of PatchReferences. This list is not to be meant to be manipulated directly, but with the `Stack` trait
2024-09-28 12:34:29 +02:00
Caleb Owens
8a84753e92
Merge branch 'master' into Testing-rebase 2024-09-24 20:00:38 +02:00
Caleb Owens
bbbf81c4c1 Start to introduce index resolution tests 2024-09-24 17:01:38 +02:00
Sebastian Thiel
fe7d5d92e7
add crate to keep gitoxide conversions to prevent duplication 2024-09-24 15:54:07 +02:00
ndom91
ad2290dc7a fix: bump tauri@1.8.0 in preparation for v2 upgrade 2024-09-17 17:10:45 +02:00
Kiril Videlov
57c3e8b5d2
Merge pull request #4900 from Byron/better-locking
ignore lock-errors on filesystems that lack support
2024-09-16 10:22:51 +02:00
Sebastian Thiel
31626b726b
Edit trees directly when running create_wd_tree() to bypass the index. 2024-09-14 18:48:01 +02:00
Sebastian Thiel
099ac50f5d
update gix to get tree-editing capabilities 2024-09-14 15:35:08 +02:00
Sebastian Thiel
6285d9177e
fix: ignore lock-failures on filesystems that don't support it (#4895)
Just like `cargo` does.
2024-09-14 08:48:17 +02:00
ndom91
e842b282ae fix: merge conflicts 2024-09-13 11:15:06 +02:00
Caleb Owens
191686ec4d
Ahhh, don't loose shit 2024-09-11 11:23:20 +02:00
ndom91
13c866da73 Merged origin/master into ndom91/use-template-dropdown 2024-09-10 18:56:29 +02:00
Kiril Videlov
f93fad98c1
Update gix-path to version 0.10.11 2024-09-10 17:37:10 +02:00
ndom91
ac420780e0 fix: walk .github recursively 2024-09-08 17:11:54 +02:00
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