Commit Graph

752 Commits

Author SHA1 Message Date
Sebastian Thiel
929eb52224
auto-migrate secrets from user.json to their location in the keyring
This will also remove them from their plain-text location.

Further, when the secrets are required they will be obtained
specifically, instead of always having them at hand.

The frontend doesn't ever show these, but needs them, and
it now asks for them when it needs them.
2024-07-02 10:02:43 +02:00
Sebastian Thiel
f3e6c7ba94
Add the capability to store and retrieve secrets
This is a global facility without any state, and provides a simplified
interface to the `keyring` crate.
2024-07-02 10:01:44 +02:00
Sebastian Thiel
cedb893ad6
put 'core::serde' into its own module file
It started small, but now is large enough to warrant that.
2024-07-02 10:01:44 +02:00
Kiril Videlov
4db2698cda
bump tauri minor version
this allows us to bundle RPM packages!
2024-07-02 10:48:47 +03:00
Caleb Owens
82c3987d45
Unapply to real branches (#4025)
* Don't return optional

* Rename get_integration_commiter

* Add a header to wip commit

* Stuff

* Unapply all branches

* Reorder code

* Fix one test

* Name resolution

* Fix two tests

* Fix another!

* wip

* Fix so many tests

* Fix unapply.rs tests

* Fix selected for changes tests

* Move unapplying logic to delete_branch method

* Remove unused and kinda borked cherry_commit code

* Fix the tests!!!!!

* Make apply_branch private

* Change handling of headers

* Improve order integrity

* Updated types and comments to convey more meaning
2024-07-01 14:13:52 +00:00
ndom91
836b86a753
Merge branch 'master' into ndom91/create-gitbutler-ui-package 2024-06-28 12:50:44 +02:00
Kiril Videlov
b72f9c2199
move error marker out of virtual_branches mod
It's useful outside of it
2024-06-28 11:35:44 +02:00
ndom91
d8a7f2bbdc
fix: cleanup build npm scripts 2024-06-28 11:34:44 +02:00
Kiril Videlov
b623952fdd
Merge pull request #4198 from gitbutlerapp/remove-print-tree-function
refactor: Remove unused _print_tree function.
2024-06-28 11:21:26 +02:00
Kiril Videlov
8ed324580c
refactor: Remove unused _print_tree function. 2024-06-28 11:10:27 +02:00
Kiril Videlov
251d56677d
refactor: move rebase functions out of virtual_branches module
This opens the doors for further simplifying the core
2024-06-28 11:04:15 +02:00
Sebastian Thiel
adc50a7e7f
more robust login handling by deleting corrupt user.json file
If a user.json file cannot be loaded, delete it automatically
to avoid users to get stuck in 'something went wrong' during layout.

Older versions of GB wouldn't find the access-token in the user.json file
anymore, which would be completely removed via #4165
2024-06-27 15:10:48 +02:00
ndom91
091b45d5e9
feat: create separate component library subpackage 2024-06-26 18:01:09 +02:00
Kiril Videlov
b886ff84f1
refactor: Remove rusqlite dependency and related code. 2024-06-26 16:21:24 +02:00
Kiril Videlov
3fb7f3b8bb
add the ability to toggle the allow rebasing flag for lanes in the UI 2024-06-26 13:53:13 +02:00
Kiril Videlov
d17534d291
adds the ability to update the allow_rebasing flag on branches and fix tests 2024-06-26 10:23:31 +02:00
Kiril Videlov
d4267b81d5
use per-branch flag to check if rebasing is allowed 2024-06-25 21:36:43 +02:00
Kiril Videlov
4a0cf76b53
make RPM bundles 2024-06-25 20:44:11 +02:00
Kiril Videlov
03214dcaa1
introduce a new flag for branches determining if rebasing is allowed 2024-06-25 20:10:27 +02:00
Kiril Videlov
d4ab41cef9
remove unused code 2024-06-25 14:50:17 +02:00
Kiril Videlov
e707bdd812
Merge pull request #4174 from gitbutlerapp/cool-with-submodules
cool with submodules
2024-06-25 13:35:05 +02:00
Mattias Granlund
e499b8fdfd Remove timestamp_ms from Hunk
We are not using it, let's re-introduce if needed in the future.
2024-06-25 14:23:45 +03:00
Kiril Videlov
70dc0b54f3
remove a restriction on adding repos with submodules 2024-06-25 13:23:08 +02:00
Kiril Videlov
e4897c467a
ignore submodules on oplog list submodules 2024-06-25 13:21:51 +02:00
Mattias Granlund
0ae5ded3ec Add test covering issue #4148 2024-06-25 13:09:21 +03:00
Mattias Granlund
e91634bcdb Move a couple of test utils to test_project.rs 2024-06-25 13:09:21 +03:00
Mattias Granlund
d12698abb5 Fix bug in hunk -> branch assignment
- return early on lock only if hunk matches or intersects
2024-06-24 23:11:39 +03:00
dependabot[bot]
b0579da1db
Bump tauri from 1.6.7 to 1.6.8 in the cargo group across 1 directory
Bumps the cargo group with 1 update in the / directory: [tauri](https://github.com/tauri-apps/tauri).


Updates `tauri` from 1.6.7 to 1.6.8
- [Release notes](https://github.com/tauri-apps/tauri/releases)
- [Commits](https://github.com/tauri-apps/tauri/compare/tauri-v1.6.7...tauri-v1.6.8)

---
updated-dependencies:
- dependency-name: tauri
  dependency-type: direct:production
  dependency-group: cargo
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-24 14:30:04 +00:00
Kiril Videlov
8a24b7363a
Merge pull request #4115 from gitbutlerapp/dependabot/cargo/cargo-c9137a7768
Bump the cargo group with 2 updates
2024-06-24 16:27:59 +02:00
Kiril Videlov
b6c41e572f
Merge pull request #4162 from gitbutlerapp/better-exe-resolution
Use `gitoxide` to more reliably find the Git executable on Windows. (#1419)
2024-06-24 16:26:07 +02:00
Sebastian Thiel
cd20bbb859
Use gitoxide to more reliably find the Git executable on Windows. (#1419)
Previously, Windows installations that didn't put git.exe into their PATH
were unable to have their executable found.

`gitoxide` has the same problem to solve and can now 'find harder' in
known installation locations.

This capability is now used here, instead of hard-coding `git.exe` or `git`.
2024-06-24 16:03:15 +02:00
Kiril Videlov
4477cfcb1d
Merge pull request #3948 from Byron/watcher-refactor
watcher refactor
2024-06-24 15:47:12 +02:00
Lukylix
3a079593b2 Removed an unused import 2024-06-21 23:28:08 +02:00
Lukylix
5bc830baa0 Wide path convertion 2024-06-21 22:55:48 +02:00
Lukylix
e42026188d Limiting pipe instances on windows 2024-06-21 22:50:02 +02:00
Lukylix
2d7b7737be Askpass test 2024-06-21 22:49:19 +02:00
Lukylix
7b509c4dcd Windows Pipe CloseHandle and Cloning 2024-06-20 16:43:25 +02:00
Lukylix
28668e1b2c Fix askpass pipe on windows 2024-06-19 14:08:10 +02:00
dependabot[bot]
553674de3b
Bump the cargo group with 2 updates
Bumps the cargo group with 2 updates: [tauri](https://github.com/tauri-apps/tauri) and [curve25519-dalek](https://github.com/dalek-cryptography/curve25519-dalek).


Updates `tauri` from 1.6.2 to 1.6.7
- [Release notes](https://github.com/tauri-apps/tauri/releases)
- [Commits](https://github.com/tauri-apps/tauri/compare/tauri-v1.6.2...tauri-v1.6.7)

Updates `curve25519-dalek` from 4.1.2 to 4.1.3
- [Release notes](https://github.com/dalek-cryptography/curve25519-dalek/releases)
- [Commits](https://github.com/dalek-cryptography/curve25519-dalek/compare/curve25519-4.1.2...curve25519-4.1.3)

---
updated-dependencies:
- dependency-name: tauri
  dependency-type: direct:production
  dependency-group: cargo
- dependency-name: curve25519-dalek
  dependency-type: indirect
  dependency-group: cargo
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-18 23:21:19 +00:00
Pavel Laptev
0dfb591ac4
Revert "Added hotkey and the accelerator to the top menu (#4097)" (#4099)
This reverts commit e09810bfff.
2024-06-17 14:20:38 +02:00
Pavel Laptev
e09810bfff
Added hotkey and the accelerator to the top menu (#4097) 2024-06-17 12:46:04 +02:00
Caleb Owens
58ea9879ba
Add a shortcut and menu item to access settings
Co-authored-by: Louis <h1ghbre4k3r@dev.bre4k3r.de>
2024-06-17 11:05:47 +02:00
Sebastian Thiel
b27fff77ad
fix performance issue that seems to be introduced by the FileIdMap
This disables the cache entirely which would have been the case before
the refactor as well.
This time, it's explicit though.
2024-06-16 09:44:22 +02:00
Sebastian Thiel
843841981c
minor refactor 2024-06-16 09:38:24 +02:00
Sebastian Thiel
184f557897
move debouncer code into its own crate
That way the public API that isn't used doesn't have to be `dead_code`.

Also adjust CI to run the tests we have in the debouncer crate.
Previously, it might not have run them though.
2024-06-16 09:38:24 +02:00
Sebastian Thiel
3723cd279c
enable rename-tracking by FileId by configuring the cache. 2024-06-16 09:38:24 +02:00
Sebastian Thiel
a63b88669c
revert from original to modified version
This shows the exact changes that were done to the original.
2024-06-16 09:38:24 +02:00
Sebastian Thiel
05d3ef3308
make the original version compile and pass tests, assure it works in-app
For the first time, we also add an extra root to the FileId cache which was
unusable before due to the missing configuration.
2024-06-16 09:38:24 +02:00
Sebastian Thiel
3eaaa7f62d
revert debouncer to original version from 0.3.1
That way it becomes obvious which changes exactly are needed to make
the flush-functionality working.

This commit will be followed up by a revert to get the flush-changes
back.
2024-06-16 09:38:23 +02:00
Sebastian Thiel
659fc99af0
remove duplicate tests (but keep them as unit-tests this time)
Previously the `DebouncerInner` struct was made public to allow the
tests to happen (they initialize it directly), but to keep it closer
to the original, let's keep unit tests this time.

Also I validated that both tests are the same.
2024-06-16 09:38:17 +02:00
Kiril Videlov
64729a9a17
improve performance of workidir diff 2024-06-16 01:54:23 +02:00
Kiril Videlov
41c2ab5908
Merge pull request #4086 from gitbutlerapp/add-mempack-backend-reset-oops
feat: Add in-memory method to open temporary repository for comparing or getting diffs.
2024-06-15 21:49:15 +02:00
Kiril Videlov
be975b7038
refactor: Remove commented-out code for conflict handling in virtual branches. 2024-06-15 21:36:56 +02:00
Kiril Videlov
b01f35bf26
feat: Add in-memory method to open temporary repository for comparing or getting diffs. 2024-06-15 21:21:11 +02:00
Mattias Granlund
650a463a16 Fix empty commit marked as integrated
- we can't say an empty commit is integrated based on tree ids
2024-06-11 23:38:51 +02:00
Kiril Videlov
a5f3649654
remove repeat tree creation when history is being listed 2024-06-11 20:05:13 +02:00
Kiril Videlov
119107c12b
getting the snapshot diff uses workdir from applied vbranches 2024-06-11 19:51:36 +02:00
Kiril Videlov
8e8a0ffce7
list snapshots uses workdir tree from applied vbranches 2024-06-11 19:09:45 +02:00
Kiril Videlov
f36be87f8a
add the ability to get workdir tree from merging all applied virtual branches from a snapshot 2024-06-11 17:07:04 +02:00
Kiril Videlov
c15125833d
performance: creating an oplog entry does not save a workdir tree
We are already storing the virtual branch trees separately, and merging them together can be a slow operation if the index is large.
2024-06-11 13:21:51 +02:00
Caleb Owens
a4f548e411
Diff the correct way round 2024-06-10 15:20:28 +02:00
Kiril Videlov
88e13bd89e
apply hunks in one go for submodules too 2024-06-10 11:23:36 +02:00
Kiril Videlov
ad48640347
set timeout of 2 sec when caching assets 2024-06-09 21:38:20 +02:00
Sebastian Thiel
788958ee08
hide sensitive information from ever being debug-logged 2024-06-09 08:58:17 +02:00
Kiril Videlov
c0710a05e7
captrure update branch errors in snapshot 2024-06-08 22:31:23 +02:00
Luke Carrier
c3242a5a5a fix: subs{ i => e }quently 2024-06-07 22:39:53 +01:00
Kiril Videlov
1e253b8a59 feat(project): enable new locking by default 2024-06-06 18:08:10 +02:00
Kiril Videlov
5922ed7459 remove error type core::git::Error 2024-06-06 16:49:33 +02:00
Kiril Videlov
113d238753 cleanup config.rs unused functions 2024-06-06 16:41:19 +02:00
Kiril Videlov
462a98e5d1 remove unused variants of core::git::Error 2024-06-06 16:38:02 +02:00
Kiril Videlov
61dd48f915 on commit sign failure, set signing to false
This way, subsequent attempts will succeed
2024-06-06 14:52:25 +02:00
Pavel Laptev
6ee2bee101
text case updated to the Sentance case (#4016)
* text case updated to the Sentance case

* text case update continue
2024-06-06 14:38:11 +02:00
Sebastian Thiel
d7c8586159
fix serde and some find-replace errors
The first problem was that serde needed to see an extra annotation
for deserialzation of Options to work - maybe not the most optimal,
but it works.

The second and bigger issue was a find-replace error where `branch.tree`
was replaced with `branch.head`.
2024-06-06 09:24:53 +02:00
Kiril Videlov
4d2798a1fd remove unused oid file 2024-06-06 00:45:41 +02:00
Kiril Videlov
0e694c7823 use serde with 2024-06-06 00:43:44 +02:00
Kiril Videlov
9c56a5f040 remove proxy core::git::Oid 2024-06-05 22:56:03 +02:00
Caleb Owens
67aad4e597
Filter out unapplied branches
We don't have any unstaged changes for unapplied branches, so there is
nothing there to lock.
2024-06-05 22:21:50 +02:00
Caleb Owens
d61879c2a1
Rust... just... please.... 😢 2024-06-05 17:31:37 +02:00
Caleb Owens
ed3294a692
Make clippy a happy clippy 2024-06-05 17:23:11 +02:00
Caleb Owens
31b240265b
Undo all extra refactoring 2024-06-05 17:22:22 +02:00
Caleb Owens
9d93bd8d9d
Defactor workdir 2024-06-05 17:19:26 +02:00
Caleb Owens
c3e9a22454
Put new implementation behind a feature flag 2024-06-05 17:18:12 +02:00
Caleb Owens
d9822be161
Reimplement compute_locks 2024-06-05 17:17:36 +02:00
Kiril Videlov
f915304e34 Merged origin/master into commit-signing-settings 2024-06-05 15:10:06 +02:00
Kiril Videlov
665ab4952a rm some accidentally duplicated code 2024-06-05 14:41:09 +02:00
Kiril Videlov
f4ec31f81b fix a bug in handling the case of remote refname being none 2024-06-05 14:31:26 +02:00
Scott Chacon
b8f897e3ae
gotta love rust 2024-06-05 13:41:58 +02:00
Scott Chacon
b60a66452d
merge upstream 2024-06-05 10:17:03 +02:00
Scott Chacon
a6e5abb620
can check commit signing 2024-06-05 10:14:49 +02:00
Kiril Videlov
4a54f74aa2 remove field access 2024-06-05 01:19:23 +02:00
Kiril Videlov
e63081c69d remove core::git::Repository shell type 2024-06-05 01:11:10 +02:00
Kiril Videlov
65a22691ee
Merge pull request #3958 from TheGB0077/vscodium-patch
feat: Open with VS Code also opens VS Codium if available, partial fix for #3646
2024-06-04 16:28:55 +02:00
Kiril Videlov
802e3419bd introduce a convinience GbConfig type 2024-06-04 15:35:29 +02:00
Mattias Granlund
d0993b8acd Update updated_at timestamp after mutations
- also drops unnecessary `.context()` from most `vb_state.set_branch(...)` calls
2024-06-04 13:52:58 +02:00
Kiril Videlov
76284b0620 when the branch being applied has a merge commit do merge only 2024-06-04 10:10:32 +02:00
TheGB0077
848e33ac45 revert back to any 2024-06-04 04:27:51 -03:00
Mattias Granlund
30c1370140 Include fork point when getting remote branch data 2024-06-04 00:52:09 +02:00
Mattias Granlund
e68dc45359 Show fork point instead of merge base 2024-06-04 00:52:09 +02:00
Kiril Videlov
828bd31a4a add some additional context to the logs when this fails 2024-06-03 22:05:10 +02:00
Kiril Videlov
28b49be9ae fail when signing enabled for GitButler but with error code 2024-06-03 21:31:14 +02:00