estib
105ad7d0fa
Resolve linting errors
2024-09-02 15:18:31 +02:00
estib
be89f303d2
Can remove repository if it's missing
2024-09-02 14:44:03 +02:00
Kiril Videlov
9c0700ba75
Merge pull request #4809 from gitbutlerapp/dependabot/cargo/rust-updates-e51a9d5fb3
...
Bump the rust-updates group with 3 updates
2024-09-02 22:18:00 +02:00
Mattias Granlund
260e81a94e
Use simpler function for asserting workspace is open.
2024-09-02 20:53:19 +03:00
Mattias Granlund
a5962b7e46
Fix spelling mistakes
2024-09-02 20:53:19 +03:00
Mattias Granlund
85ebc4ea78
Add test to ensure old integration branch doesn't throw
2024-09-02 20:53:19 +03:00
Mattias Granlund
0db82ea38c
Replace all relevant occurrences of integration with workspace
2024-09-02 20:53:19 +03:00
Mattias Granlund
9acab668cc
Fix broken test
...
- make use of integration commit title constant
2024-09-02 20:53:19 +03:00
Mattias Granlund
f3e5228fed
Update workspace commit message
2024-09-02 20:53:19 +03:00
Mattias Granlund
d217d96285
Add transition for integration commit detection
2024-09-02 20:53:19 +03:00
Mattias Granlund
5f9c2e5832
Rename gitbutler/integration -> gitbutler/workspace
2024-09-02 20:53:19 +03: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
fe970e1fcd
Trace the git
binary path ( #3601 )
...
This should help in cases the binary can't be found nonetheless,
for yet to be clarified reason.
2024-08-30 15:29:49 +02:00
Kiril Videlov
2c7773a6cd
Merge pull request #4793 from Byron/git2-to-gix
...
performance improvements and bug fixes
2024-08-30 12:53:26 +02:00
Kiril Videlov
af6fdc36a4
add api for updating change references
2024-08-30 12:38:50 +02:00
Caleb Owens
0802d1c477
Resolve merge in less stupid manner
2024-08-30 11:05:20 +02:00
Sebastian Thiel
4d495cb3bc
Adjust integration check to also recognize by matching tree.
...
This is relevant when all commits are equal by tree, but seem changed
due to the added GitButler headers.
For added safety, we also compare by commit message, date and authors,
basically everything that isn't the headers.
2024-08-30 07:15:47 +02:00
Sebastian Thiel
4cafc909b0
Improve the clarity of performance logs
2024-08-30 07:15:47 +02:00
Sebastian Thiel
4ae354392b
Improve performance of list-local
using git2
.
2024-08-30 07:15:47 +02:00
Sebastian Thiel
36f23d529f
CLI with branch list-remotes
to list remote branches
2024-08-30 07:15:46 +02:00
Sebastian Thiel
6a4849d090
refactor: avoid borrowed git2::Oid
as it's a copy type.
...
Usually this makes the affected code simpler.
2024-08-30 07:15:46 +02:00
Sebastian Thiel
c81b140790
Assure the most-recent workspace head is used when emitting changed files.
...
The reason for this is that now the outcome of this can be re-used in `list_virtual_branches`,
which is sensitive to seeing the latest vbranch state which is not a given.
Calculating it makes sure there is no mismatch, and probably "can't be wrong".
Also note that `head_commit()` is still kept around as it's the idea to eventually
use it more.
2024-08-30 07:15:40 +02:00
Sebastian Thiel
b03ba56288
Merge pull request #4784 from Byron/fix-features
...
Remove unnecessary `gix` features from `watcher` and add them to `tauri`
2024-08-29 09:50:53 +02: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
a7b01bd641
Keep using get_workspace_head()
when no cached result is used.
...
That way, the application will not run into unexpected cases.
2024-08-29 09:34:54 +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
8c7159d906
Remove unnecessary gix
features from watcher
and add them to tauri
2024-08-29 07:26:29 +02:00
Sebastian Thiel
a0e236110a
refactor
...
- move `gix` repository extension to where it belongs more naturally.
- make sure that `get_wd_tree()` is named more closely to what it really
does, and use it in more places.
2024-08-28 22:05:25 +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
13deabdebd
find large files more quickly thanks to gix
based dirwalk
...
Also make sure that important `gix` crates are always compiled
with optimization for proper performance.
This is particularly useful when optimizing performance as not
everything has to be done in release mode.
However, it also causes CI to be slower as it compiles some
dependencies longer.
The problem realy is that `tauri dev` doesn't support custom profiles,
so there is only `dev` and `release`.
2024-08-28 21:19:47 +02:00
Sebastian Thiel
7ce143954f
Do not dynamically calculate the head commit when listing virtual branches.
...
That way, the head is static which allows to re-use the worktree status across
multiple related calls.
Also, add a way to quickly get the `head_commit()` from a `git2::Repository`.
Note that this may cause breakage in the app, as now it will see the actual
head, not a computed one, but that should also help us to find places that
didn't properly update their state.
2024-08-28 21:16:43 +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
Sebastian Thiel
7e0878a14f
Use read-only worktree diff
...
The worktree diff is essentially a 'git status' with a given tree,
and that can be expressed with a diff of the workdir, the index and a tree.
This comes at the expense of not being able to control which file sizes are diffed.
2024-08-28 11:10:04 +02:00
Sebastian Thiel
30cc6a4838
Add branch status
to CLI
...
It calls `list_virtual_branches()` which kind of has the effect of a status call.
2024-08-28 11:10:02 +02:00
Sebastian Thiel
dd724f310d
Also debug-trace information on list_virtual_branches
calls.
...
This can be useful for those who seek extra information, and while it's
dominating refresh times.
2024-08-28 11:09:33 +02:00
Kiril Videlov
12d48df0f7
Merge pull request #4774 from gitbutlerapp/remove-unused-feature-flag
...
remove unused feature flag
2024-08-27 20:57:26 +02:00
Kiril Videlov
74e7b1eeb5
remove unused feature flag
2024-08-27 20:46:22 +02:00
Kiril Videlov
e9d6d647d0
build: add a .vercelignore to ignore all files in crates
2024-08-27 19:59:18 +02:00
Kiril Videlov
06f50b4531
Merge branch 'master' into branch-stacking-first-stab
2024-08-27 14:13:08 +02:00
Kiril Videlov
b943c35293
code review fixes
2024-08-27 14:05:27 +02:00
Caleb Owens
d386790930
resolve to our side
2024-08-27 14:00:56 +02:00
Caleb Owens
0b397d2368
Jiggle some code about
2024-08-27 13:05:28 +02:00
Caleb Owens
3fb5077c4a
Somethign somethign matchy matchy design
2024-08-27 13:05:27 +02:00
Caleb Owens
d2d3afbf2b
Added unstaged changes event
2024-08-27 13:05:07 +02:00
Sebastian Thiel
06edec70cb
reuse the commit-graph between runs
...
This time, it contains whole commits and only flags are reset
between runs. With this amount of re-use, it will manage
to rival `git2`.
2024-08-27 12:17:54 +02:00
Sebastian Thiel
b081a115c8
Offload commit-walk to the commit-thread
...
That way, it can leverage already held commit-objects, and be faster
in the absence of a commitgraph.
2024-08-27 09:20:07 +02:00
Sebastian Thiel
afcc1ee26e
Merge pull request #4757 from Byron/git2-to-gix
...
gix merge-base for branch-details
2024-08-27 06:43:16 +02:00
Kiril Videlov
4b5a8d14ef
add commands for pushing change references
2024-08-26 21:38:40 +02:00
Kiril Videlov
cef701796d
update the create reference method to take change id
2024-08-26 20:49:01 +02:00