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
Esteban Vega
1a47f5ec4d
Merge pull request #4850 from gitbutlerapp/ndom91/use-template-dropdown
...
fix: refactor pr template path input to pre-filled `Select` instead of `TextBox`
2024-09-13 17:25:58 +02:00
Caleb Owens
edd0cbe0e6
Rename unapplying
2024-09-13 16:58:42 +02:00
ndom91
aa91c4ca42
fix: cargo test
2024-09-13 12:25:21 +02:00
ndom91
e8bb66c151
fix: use relativePath and get project basePath on rust side
2024-09-13 12:01:03 +02:00
ndom91
e842b282ae
fix: merge conflicts
2024-09-13 11:15:06 +02:00
Caleb Owens
db992dedfa
Merge pull request #4869 from gitbutlerapp/update-api
...
Update api
2024-09-12 13:23:05 +02:00
Caleb Owens
932070ca1f
Read index
2024-09-12 13:03:04 +02:00
Caleb Owens
1389b9e465
A time before time
2024-09-12 12:46:36 +02:00
Sebastian Thiel
630c253637
for safety, don't fail if the file to be removed doesn't exist.
...
The code could run into this if `allow_new_file` is `true` and no
file actually exists.
Maybe in practice this can't happen, but calls can be made that trigger this.
2024-09-11 21:39:21 +02:00
Sebastian Thiel
ffdb0f6e2f
Minor refactor for slightly improved readability
...
Maybe the intent of some parts is clearer now as well.
2024-09-11 21:34:18 +02:00
Kiril Videlov
530a982379
fixes a bug where discarding created files does not work
2024-09-11 21:06:50 +02:00
Kiril Videlov
63a8603054
fixes a bug where discarding deleted files doesnt work
2024-09-11 21:06:34 +02:00
Kiril Videlov
8ad8797b5d
whenever a hunk is reversed also reverse change type
2024-09-11 20:48:09 +02:00
Kiril Videlov
199129162d
on empty new file the generic hunk is type added
2024-09-11 20:47:15 +02:00
Caleb Owens
aeea013ba0
Update base branch button feature flagged
2024-09-11 15:18:20 +02:00
Caleb Owens
6e7aefd5c3
Merge commiting
2024-09-11 14:47:36 +02:00
Caleb Owens
955c99e5d8
Rebasing working
2024-09-11 13:43:39 +02:00
Caleb Owens
191686ec4d
Ahhh, don't loose shit
2024-09-11 11:23:20 +02:00
ndom91
8194283275
fix: simplify error handling read_file_from_workspa
2024-09-10 19:22:03 +02:00
ndom91
b7a037b1dc
fix: move new template methods to PRService
2024-09-10 19:18:42 +02:00
ndom91
13c866da73
Merged origin/master into ndom91/use-template-dropdown
2024-09-10 18:56:29 +02:00
ndom91
781fbb5a13
fix: merge conflict
2024-09-10 18:55:45 +02:00
GitButler
e889d90779
GitButler WIP Commit
2024-09-10 18:45:48 +02:00
Kiril Videlov
f93fad98c1
Update gix-path to version 0.10.11
2024-09-10 17:37:10 +02:00
ndom91
f53b5b8f2e
chore: more cleanup
2024-09-10 17:34:22 +02:00
Kiril Videlov
4ddc6a9a32
Merge pull request #4863 from gitbutlerapp/update-branch-repo-commit-removal
...
fix a bug where deleting a vbranch fails to update state
2024-09-10 17:32:02 +02:00
ndom91
4aa9e96ced
fix: use pullRequestPath as boolean
2024-09-10 17:24:51 +02:00
Kiril Videlov
620ea1418f
Merge pull request #4864 from Zamoca42/fix/wsl-window-maximize-bug
...
fix: A bug with Wayland display (Error 71) in WSL
2024-09-10 17:23:34 +02:00
ndom91
eecea80884
fix: read pr tempalte from disk
2024-09-10 17:14:35 +02:00
Chooooooo
d4718f73bc
fix: Disable window state plugin on Linux
...
Disable the `tauri_plugin_window_state` plugin on Linux platforms as it
causes issues with the application's window behavior. This change ensures
the application runs smoothly across all supported platforms.
2024-09-10 23:42:24 +09:00
ndom91
25bbe28411
fix: cleanup and pass absolute path from rust to FE
2024-09-10 13:55:18 +02:00
Chooooooo
0dc81b1e49
fix: Disable window state plugin for now
...
The window state plugin is causing issues with the application, so it is being temporarily disabled. This change will allow the application to function without the plugin until the issue can be resolved.
2024-09-10 20:42:47 +09:00
ndom91
e888025499
fix: move PrTemplate fns to gitHost
2024-09-10 12:22:02 +02:00
estib
f19c2158eb
push_virtual_branch: Return the remote reference
...
Pushing a virtual branch also returns the branch refname
2024-09-10 11:12:30 +02:00
Kiril Videlov
310d4cf73a
fix a bug where deleting a vbranch fails to update state
2024-09-10 10:55:36 +02:00
ndom91
bfe299aa98
fix: cleanup and PR review
2024-09-10 10:37:15 +02:00
ndom91
cb733d707a
chore: add note for future improvement
2024-09-09 15:48:24 +02:00
ndom91
a5fb400985
fix: simplify setting git_host default settings in projects.json
2024-09-09 15:35:15 +02:00
ndom91
22f71c2a58
fix: rename get_pr_templates fn to github specific
2024-09-09 15:22:05 +02:00
ndom91
7dee307aa6
fix: add instrumentation to new tauri cmd and rm unnecessary reference
2024-09-09 15:07:33 +02:00
ndom91
d7badd82a5
fix: enable saving git_host settings to projects.json
2024-09-08 18:34:45 +02:00
ndom91
32f13df06d
fix: handle old projects which dont have git_host project settings key
2024-09-08 18:23:05 +02:00
ndom91
460e19299a
fix: refactor out use of Persisted store values for pr template boolean and path
2024-09-08 18:11:39 +02:00
ndom91
3c812cb963
fix: move getAvailableTemplates functionality from project service to github service
2024-09-08 17:42:08 +02:00
ndom91
ac420780e0
fix: walk .github recursively
2024-09-08 17:11:54 +02:00
ndom91
6396bfea45
fix: cleanup
2024-09-08 16:39:19 +02:00
ndom91
bbe9249a01
fix: git paths
2024-09-08 16:34:58 +02:00
ndom91
e2bb456f7d
feat: initial template dropdown support
2024-09-08 16:16:09 +02:00
Sebastian Thiel
a4df70c422
refactor clone for clarity
2024-09-07 21:08:31 +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
Kiril Videlov
245c8dfd1c
Merge pull request #4841 from gitbutlerapp/workspace-migration-fix-branch
...
fixes a test that should be using writable fixture
2024-09-06 15:55:51 +02:00
Kiril Videlov
df4d6ac099
fixes a test that should be using writable fixture
2024-09-06 15:18:09 +02:00
Kiril Videlov
7693b7b9ac
removes the legacy bool indicatin a vbranch is applied
2024-09-06 15:16:20 +02:00
Kiril Videlov
95e946b8a1
Remove unnecessary VirtualBranchActions struct
2024-09-06 14:12:14 +02:00
Kiril Videlov
2cad53efa4
Merge pull request #4838 from gitbutlerapp/update-set-branch-target-logic-impl
...
remove unused set branch target function
2024-09-06 11:25:55 +02:00
Kiril Videlov
b9e39a4503
remove unused set branch target function
2024-09-06 11:08:36 +02:00
Kiril Videlov
3899975d6c
remove useless credentials helper struct
2024-09-06 11:03:57 +02:00
Esteban Vega
9105a7b1ff
Merge branch 'master' into unapply-only-hunks-from-lane
2024-09-04 14:28:23 +02:00
Caleb Owens
e4834dbba9
Fancy fast forward
2024-09-04 14:39:38 +03:00
Sebastian Thiel
50c75eef60
refactor backend of reset_files()
to be more idiomatic
...
It also tries to use `Vec<PathBuf>` in the tauri interface, which is
still to be validated.
2024-09-04 08:43:24 +02:00
estib
4eabbaad86
Decouple the get_raw
project method
...
Decouple the `get_raw` method from other variants and only return the information about the project is returned.
This skips any other logic excecuted by the other methods (e.g. `get_inner`)
2024-09-03 13:17:17 +02:00
estib
34e102f336
Only discard the files changes inside the lane
...
When using the file context menu inside a given lane to discard the changes, only the changes to that file inside the lane should be discarded.
Any other changes to that same file that live in other lanes are kept
2024-09-03 11:34:19 +02:00
estib
395104fb67
Skip the project directory creation when getting the project
...
When only getting the project information, don't recreate the project directory.
This allows the app to get the information about a project, which path has been moved.
2024-09-02 18:06:34 +02:00
estib
2129ad5a3d
Ability to update the path of a project
2024-09-02 17:40:05 +02:00
estib
c1cd40a811
Optionally, skip the validation when getting the project
...
Add flag to enable getting the project information from the storage without performing the validation
2024-09-02 17:39:40 +02:00
estib
2c6f295cc5
Remove unused method: delete project by path
2024-09-02 17:38:00 +02:00
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
Sebastian Thiel
82aa2d1760
use gix
powered merge-base for performance and reduced memory consumption
2024-08-26 19:35:09 +02:00
Caleb Owens
e463e2b2e9
Correct the tree side which we write
2024-08-26 19:34:44 +02:00
Kiril Videlov
66257fba2f
rename reference module to change_reference
2024-08-26 19:15:58 +02:00
Kiril Videlov
89d1186b06
refactor this to be a ChangeReference
...
it turns out that a reference to a change_id is all that we need
2024-08-26 17:02:38 +02:00
Caleb Owens
564cd06666
Merge pull request #4756 from gitbutlerapp/Comments-and-another-enum-correction
...
Commits and another enum correction
2024-08-26 15:45:45 +02:00
Caleb Owens
f6dae49a8d
Commits and another enum correction
2024-08-26 15:40:22 +02:00
Pavel Laptev
99dcf812c4
Add zoom functionality with keyboard shortcuts and update menu actions for the View
item ( #4753 )
...
* feat: Add zoom functionality with keyboard shortcuts and menu actions
feat: Implement global settings menu action navigation to settings page
feat: Implement theme switching functionality with keyboard shortcut and menu action
* code review fixes
2024-08-26 15:24:44 +02:00
Caleb Owens
3170042895
Merge pull request #4754 from gitbutlerapp/Use-correct-sides
...
Use the auto-resolution if the head is conflicted
2024-08-26 15:11:08 +02:00
Caleb Owens
ca0ece9d49
Use the auto-resolution if the head is conflicted
2024-08-26 15:05:36 +02:00
Sebastian Thiel
1520a4b7a3
make GPG related spawn failures even clearer ( #4750 )
...
This should help self-disagnose probelms aroung GPG not being found.
2024-08-25 09:18:33 +02:00
Kiril Videlov
2ddb032ebf
show relevant commit refs if feature is toggled
2024-08-23 21:03:44 +02:00
Kiril Videlov
33e7d7b269
adds the ability to create branch refs from the UI
2024-08-23 18:07:24 +02:00
Caleb Owens
74a5c1a2ae
Merge pull request #4742 from gitbutlerapp/Exit-edit-mode-without-saving
...
Exit edit mode without saving
2024-08-23 15:33:53 +02:00
Kiril Videlov
4668a1ec3d
update create and update reference apis
...
No need to provide the change_id as it can be obtained from the commit itself
2024-08-23 14:32:31 +02:00
Sebastian Thiel
7ee0520ffb
Use latest rev_walk()
based API.
...
It's a bit more intuitive than `id().ancestors()` when coming from `git2`.
2024-08-23 13:08:37 +02:00
Caleb Owens
04a63f1712
Exit edit mode without saving
2024-08-23 12:47:17 +02:00
Nico Domino
d15ccc95f0
fix: add linux dependencies to tauri.conf ( #4741 )
2024-08-23 11:13:00 +02:00
Kiril Videlov
aea72e8605
update any branch references during cherry rebase
2024-08-23 00:03:58 +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
Kiril Videlov
9d6508b849
support listing references by commits
2024-08-22 23:21:26 +02:00
Caleb Owens
ec7a38f538
Merge pull request #4717 from gitbutlerapp/Rebase-revolution
...
Rebase revolution
2024-08-22 18:28:49 +02:00
Caleb Owens
553ca5846f
correct lifetime names
2024-08-22 18:16:16 +02:00
Caleb Owens
893b3fc499
Use a default variant on enum
2024-08-22 18:04:11 +02:00
Caleb Owens
c987629262
Add project specific setting and refactor
2024-08-22 17:57:03 +02:00
Caleb Owens
b45a52f111
Remove empty merge commits
2024-08-22 15:27:34 +02:00
Caleb Owens
0603fd7457
Sure up behaviour with blank commits and reordering
2024-08-22 15:15:23 +02:00
Mattias Granlund
8a741bcf2e
Delete entry from .toml file when branch is integrated
...
- virtual_branches.toml file was full of old entries
2024-08-22 13:46:55 +01:00
Nico Domino
0342a46560
fix: invalid CSP syntax ( #4739 )
2024-08-22 12:26:19 +00:00
Sebastian Thiel
fcafaec2be
process merge-bases in the background
...
This way, only the first branch has to wait, all further branches will
likely have their merge-base already computed then.
2024-08-21 20:24:22 +02:00
Sebastian Thiel
bdd109047e
use latest gix
APIs for more convenience and increased readability.
2024-08-21 19:28:12 +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
66c747e611
somewhat fix the ODB performance bottleneck with better caching.
2024-08-21 19:28:12 +02:00
Sebastian Thiel
a2382bde74
Use gix
to find branchs and get the local tracking branch
2024-08-21 19:28:12 +02:00
Sebastian Thiel
29ecbff318
Use gix
for tree-tree-diff
2024-08-21 19:28:12 +02:00
Sebastian Thiel
0db0f1a86a
Use gix
for simple ref-walk that won't go past the merge-base.
2024-08-21 19:28:12 +02:00
Sebastian Thiel
db600b48f9
add benchmark just for revwalking
2024-08-21 19:28:11 +02:00
Sebastian Thiel
42e4ab44f9
Make it more obvious where gitoxide
repositories are used.
2024-08-21 19:28:11 +02:00
Sebastian Thiel
7362bab7aa
Assure we can use different merge bases when showing branch details.
...
Alternatively, correct the assumption that there is a difference.
2024-08-21 19:28:11 +02:00
Sebastian Thiel
07dc9efe02
add tests for get_branch_listing_details()
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
7c768acf4d
Add list-all
subcommand
...
This lists all branches that the user would see (and get details for).
2024-08-21 19:23:43 +02:00
Sebastian Thiel
96e0d3e83f
add --trace
to enable tracing
...
This is useful to get simple performance metrics.
2024-08-21 19:23:42 +02:00
Sebastian Thiel
77cbc50a68
branch listing and branch details for the CLI
2024-08-21 19:23:42 +02:00
Sebastian Thiel
d1fdcde139
minor refactor
2024-08-21 19:23:42 +02:00
Sebastian Thiel
84b2db9685
optimize git2
for good measure, and enable them from tauri
and cli
2024-08-21 19:23:42 +02:00
Mattias Granlund
acf902c2e6
Fix applied -> in_workspace performance issue
...
- loop was taking > 1s for me
- my 8 branches (2 in workspace) were constantly being saved
2024-08-21 16:11:26 +01:00
Kiril Videlov
36c0a1219d
add tests
2024-08-21 16:32:20 +02:00
Kiril Videlov
052270f078
adds support for writable scripted fixtures
2024-08-21 16:31:46 +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
Nico Domino
3ce2b5b338
fix: avatars from Google accounts via Auth0 ( #4725 )
2024-08-21 11:06:52 +02:00
Caleb Owens
4f2a0817c7
Reduce gitbutler_cherry_pick to one code path
2024-08-20 14:51:54 +02:00
Nico Domino
48c1379a45
fix: allow github.com in img-src CSP ( #4720 )
2024-08-20 12:47:55 +02:00
Caleb Owens
e07b4b2d0d
Refactor some code
2024-08-20 10:51:34 +02:00
Caleb Owens
65fb462d64
Rebase revolution
...
Co-authored-by: Scott <schacon@gmail.com>
2024-08-19 18:10:28 +02:00
Caleb Owens
17d15719ce
Update terminology
2024-08-19 13:25:46 +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
575d8a0492
Merge pull request #4708 from gitbutlerapp/Use-gix-for-cloning
...
Use gix for cloning repositories
2024-08-19 10:44:44 +02:00
Pavel Laptev
87b5590161
feat(menu): Update the text for 'Check for updates' to include an ellipsis
...
Just something I noticed about how other applications spell this.
2024-08-17 09:02:00 +01:00
Mattias Granlund
bc10f4985b
Add manual check for app update
2024-08-17 09:02:00 +01:00
Nico Domino
cd84afde3e
fix: allow use of xdg-open binary to open links ( #4706 )
2024-08-16 13:22:06 +00:00
Mattias Granlund
4fe8b6860f
Fix branch name deduplication
...
- do not include name of branch being updated when deduping
2024-08-16 15:16:40 +02:00
Caleb Owens
2316d0f10d
Use gix for cloning repositories
2024-08-16 12:21:42 +02:00
Caleb Owens
148ac88434
fix mode undefined
2024-08-15 19:33:25 +02:00
Sebastian Thiel
09f19b782d
There is a clear error if the project moved or was deleted
...
The user-interface also gets a code to respond to.
2024-08-15 11:23:15 +02:00
Sebastian Thiel
200b6e6d02
Fail when no author was found, and mark the error so the UI can react.
2024-08-15 08:53:19 +02:00
Kiril Videlov
05650b1e96
removes a code path through which an unknown ssh host is added as a known host
...
This functionality existed for convinience, before the app was able to fork exec to the git binary. Removing this as this trade off is no longer necessary or relevant
2024-08-14 16:26:24 +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
Kiril Videlov
74c8bce48d
add BranchReference type to the Branch persisted struct
...
This allows (virtual) branches to keep track of associated references
2024-08-10 21:35:40 +02:00
Sebastian Thiel
b92407a5df
branch-listing benchmarks now work again
...
They type system is more strict now, rejecting an invalid branch name outright.
2024-08-09 21:53:42 +02:00
Sebastian Thiel
107eea6743
Use gix
for branch normalization
2024-08-09 21:53:38 +02:00
Kiril Videlov
d635f72269
i dont trust the old Refname implementation
...
So not using it for deletion here
2024-08-09 15:59:32 +02:00
Kiril Videlov
e295da03a1
adds a delete local branch command
...
This allows for deleting local branches and any associated virtual branches, so long as they have been unapplied first
2024-08-09 15:29:08 +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
acbd42fce3
Revert "remove unnecessary BString-related serde functions."
...
This reverts commit 3043f099b7
.
We actually need this - me removing it just means it wasn't properly
documented and clarified in the type-system as to why this is needed.
2024-08-09 10:52:05 +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
712ce582cb
Use BranchIdentity
type instead of given_name()
.
...
This is a change in perception, as `given_name()` was the name of a virtual-branch,
which is also used to correlate other similarly named branches.
Thus, it's now more than just that, and for lack of a better word it's called
the 'identity' of a branch.
It's something very specific and shouldn't accidentally be used wrongly, hence
the strong typing.
2024-08-08 20:53:15 +02:00
Sebastian Thiel
5376a8b012
Author name uses BString to avoid degeneration
2024-08-08 20:53:14 +02:00
Sebastian Thiel
3df2da6de5
Use gix::remote::Name
for type-safety.
2024-08-08 20:53:14 +02:00
Sebastian Thiel
3043f099b7
remove unnecessary BString-related serde functions.
...
They are supported when the respective bstring feature is used.
2024-08-08 17:25:18 +02:00
Sebastian Thiel
8ed90644a1
refactor serde crate to avoid name duplication
2024-08-08 16:59:38 +02:00
Kiril Videlov
7d629c52b5
derive some useful traits for tagged string and reference name
2024-08-08 14:48:06 +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
Caleb Owens
22762745e3
Merge pull request #4618 from gitbutlerapp/Use-better-comparison-point-for-real-branches
...
feat: Update merge base comparison for branch listing
2024-08-06 13:32:36 +02:00
Kiril Videlov
05a814146e
Ensure ignored/submodule files and dirs are ignored
2024-08-06 11:47:59 +02:00
Caleb Owens
b36c85b211
feat: Update merge base comparison for branch listing
...
Improves branch listing accuracy by adjusting the merge base
comparison logic. For virtual branches in the workspace, uses the
default target SHA. For others, uses the head commit of the default
branch's upstream. This change ensures more precise branch
comparisons, especially for virtual branches.
2024-08-06 10:24:44 +02:00
Caleb Owens
7b008a4a54
feat: filter out virtual branches without local or remote
2024-08-05 22:09:26 +02:00
Sebastian Thiel
e8cc7f9f03
make the notion of identity
typesafe.
2024-08-05 20:01:00 +02:00
Caleb Owens
c35787a848
fix rust tests
2024-08-05 14:17:46 +02:00
Caleb Owens
1e342de03a
fix merge
2024-08-05 11:45:45 +02:00
Caleb Owens
0b31743a2e
mergey merge
2024-08-05 11:43:10 +02:00
Caleb Owens
aec1bda197
stuff
2024-08-05 11:37:39 +02:00
Nico Domino
e5498665b4
feat: add WebdriverIO based E2E test setup ( #4561 )
2024-08-02 10:46:56 +00:00
Sebastian Thiel
7fea6b8130
fix: don't allow trailing .
( #4570 )
...
This is a quick-fix for a specific case, even though the actual fix
should be offering branch normalization as part of the validation.
2024-08-02 09:15:39 +02:00
Sebastian Thiel
37c81b991b
show that revert
branch name now fails to validate ( #4570 )
2024-08-01 22:17:42 +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
bb86eeacf3
update sysinfo crate version
2024-08-01 21:11:53 +02:00
Caleb Owens
00b778638a
Demoing conflict resolution
2024-08-01 18:09:23 +02:00
Kiril Videlov
6d2ef8afe6
Merge pull request #4564 from Byron/git2-to-gix
...
branch-listing tests and refactors
2024-08-01 17:26:00 +02:00
Nico Domino
cda04e9b5b
feat: clone repo onboarding step ( #4542 )
...
Co-authored-by: Pavel Laptev <pawellaptew@gmail.com>
2024-08-01 16:54:49 +02:00
Sebastian Thiel
949ac1698d
add more tests for a deeper understanding on the graph traversal.
2024-08-01 16:25:03 +02:00
Sebastian Thiel
d0e10ff570
make it possible to show remotes for virtual branches that are targets, too.
2024-08-01 15:34:42 +02:00
Sebastian Thiel
e6b00b5e0e
more tests and refactors for branch-listing
2024-08-01 15:21:30 +02:00
Caleb Owens
5450ef15a1
mergey merge
2024-08-01 14:14:40 +02:00
Sebastian Thiel
b7c38e4f33
fix assumption about branch identity
...
It's possible for virtual branches to have the same 'identity' as
the target branch, yet they should be listed.
2024-08-01 09:24:35 +02:00
Kiril Videlov
917a46c2ce
remove unnecessary method from RepoActionsExt
2024-07-31 21:16:38 +02: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
Sebastian Thiel
a5bc727705
let integration commit also respect author and committer times.
2024-07-31 18:52:01 +02:00
Sebastian Thiel
76d687b55c
Respect author-date for setting up completely static commmit graphs
...
This updates to a yet-to-be-released version of `gix` to be able to
leverage full local-time support thanks to the usage of `jiff`.
This means we can now rely on the local `now()` that `gix` signatures
come with, which naturally respect environment variables that help
to make commits statically known.
For the running Tauri application this won't have an effect as it won't
inherit environment variables, but the CLI will be different in that regard.
2024-07-31 18:52:01 +02:00
Caleb Owens
09de80f6f0
Mergy merge
2024-07-31 13:11:02 +02:00
Kiril Videlov
83679206cd
separate syncing of oplog from regular refs
2024-07-30 21:29:54 +02:00
Mattias Granlund
b676115b11
Always create new commit in get_workspace_head
...
- so we can safely recreate the integration commit
2024-07-30 18:09:07 +01:00
Mattias Granlund
11f0063f18
Remove test cases that do not apply
...
To list virtual branches we should require a base branch to be set.
2024-07-30 18:09:07 +01:00
Mattias Granlund
152b14c226
Remove now unused target_commit function
2024-07-30 18:09:07 +01:00
Mattias Granlund
1e518a3d78
Use octopus commit for creating gitbutler/integration
2024-07-30 18:09:07 +01:00
Caleb Owens
e53c11a477
introduce last commiter field, use jsdoc, add type transforms
2024-07-30 16:42:20 +02:00
Caleb Owens
4563ddb995
Fix gitbutler/integration nuking itself
2024-07-29 19:22:04 +02:00
Sebastian Thiel
9113105413
gitbutler-git
now specifies the minimum required rustc version. (#4514 )
...
That way, the error message will be clear and it's more obvious how to overcome
issues related to older-than-needed compiler versions.
2024-07-29 17:02:06 +02:00
Caleb Owens
742d6bc4d5
Use operating modes in watcher to decide whether to perform operations
2024-07-29 13:38:31 +02:00
Caleb Owens
2d61cae43a
Introduce operating modes
2024-07-29 13:19:38 +02:00
Caleb Owens
d37dcefdf5
Merge pull request #4523 from gitbutlerapp/Boosting-my-contribution-score
...
Boosting my contribution score
2024-07-29 11:18:58 +02:00
Caleb Owens
6f4a190464
project_repo -> ctx
2024-07-29 11:14:02 +02:00
Caleb Owens
21bad4f30f
repo -> repository
2024-07-29 11:13:25 +02:00
Nico Domino
45d340ef37
fix: nightly build ( #4522 )
2024-07-29 08:49:22 +00:00