Kiril Videlov
4ae1847a28
remove core: :Reference type
2024-06-02 19:03:03 +02:00
Kiril Videlov
879a07da64
remove core: :Index
2024-06-02 17:57:18 +02:00
Caleb Owens
c7651d7c52
Enable moving by more than one commit at a time
2024-06-02 17:37:23 +02:00
Kiril Videlov
e18684fcdb
remove the auto detect git flow
...
It was complex, buggy and slow
2024-06-02 15:48:15 +02:00
Kiril Videlov
5927ca4ac5
remove shell core: :Config type
2024-06-02 14:26:09 +02:00
Kiril Videlov
5bb2dfb0b5
remove unused methods on repository
2024-06-01 23:36:56 +02:00
Kiril Videlov
1206a504c9
remote git::Remote shell type
2024-06-01 23:30:25 +02:00
Kiril Videlov
8084335bc5
Merge pull request #3946 from gitbutlerapp/rm-unused-file
...
remove unused file
2024-06-01 21:48:05 +02:00
Kiril Videlov
7f06d988d6
remove unused file
2024-06-01 21:34:37 +02:00
Kiril Videlov
428566492b
remove shell type git::Branch
2024-06-01 21:25:27 +02:00
Kiril Videlov
a4afd0d0df
notify of branch being unapplied only for these that we indeed applied before
2024-06-01 19:26:03 +02:00
Sebastian Thiel
83893a9db3
review error docs to fit the latest changes
2024-06-01 15:24:59 +02:00
Sebastian Thiel
567a077582
simplify core::errors and remove all the cruft
2024-06-01 14:37:41 +02:00
Sebastian Thiel
0ef944ed25
Switch thiserror
with anyhow
based errors in application code
...
This should simplify most code.
2024-06-01 14:36:08 +02:00
Sebastian Thiel
a10b19ed2c
reomve all thiserror
based errors from controllers
2024-06-01 14:36:08 +02:00
Sebastian Thiel
939624f725
Remove all custom errors from virtual branches module.
...
In order to do that, errors from other modules have to go as well.
2024-06-01 14:36:05 +02:00
Sebastian Thiel
f82d25741e
use Marker
in place of Code::ProjectInvalid
...
That way, the frontend doesn't see internals.
2024-06-01 14:34:16 +02:00
Sebastian Thiel
e7c1d6033a
Remove all errors that don't trigger a custom code or context
2024-06-01 14:34:16 +02:00
Sebastian Thiel
c0fc0cfde5
Remove BranchNotFound
struct
2024-06-01 14:34:16 +02:00
Sebastian Thiel
a95c48a6cf
remove DefaultTargetNotSet in favor of a utility function
2024-06-01 14:34:16 +02:00
Sebastian Thiel
61a53c6346
Another pass at removing ProjectConflict
...
As this causes quite a lot of changes, there is this commit to capture them.
2024-06-01 14:34:13 +02:00
Sebastian Thiel
1dc52a44c0
restore detection of project conflicts
...
Previously that variant was removed even though we need it now to
easily detect this case.
2024-06-01 14:32:27 +02:00
Sebastian Thiel
20d84247e9
Prune Code
to only what's used by the UI
...
Also adjust the `Code` documentation to clarify this - otherwise
we will have more and more variants and nobody actually cares.
The frontend code is adjusted as well, as its `Code` counterpart
contained unsused variants which are now removed.
2024-06-01 14:32:27 +02:00
Sebastian Thiel
d689f36e7f
various refactors
...
Also
- add tests for ref-log file to assure it's not zero (but something more sensible)
- remove generic for convenience on most callsites
2024-06-01 14:32:19 +02:00
Kiril Videlov
d164457299
update_base_branch returns unapplied branches list
...
If merge conflicts caused branches to become unapplied, return them as a list
2024-06-01 13:11:53 +02:00
Mattias Granlund
97dfa93bda
Remove error logging related to blame
...
- blame range can include commits not in vbranch
- lookup returning none expected behavior
2024-05-31 02:37:47 +02:00
Mattias Granlund
b47a947398
Fix blame merge base
...
- use the merge base of the first commits on active branches
2024-05-31 01:57:59 +02:00
Kiril Videlov
4b8d97a500
save error on undo commit snapshot
2024-05-30 23:59:30 +02:00
Kiril Videlov
0f482934c8
save error on unapply branch snapshot
2024-05-30 23:44:58 +02:00
Kiril Videlov
618c7adedc
save error on apply branch snapshot
2024-05-30 22:31:16 +02:00
Kiril Videlov
d7ae4d85f1
first stab at saving errors in snapshots
2024-05-30 22:07:02 +02:00
Kiril Videlov
088eb23f8e
feat: Show merge base of virtual branch in commit list
2024-05-30 18:41:40 +02:00
Mattias Granlund
10df1621a7
Keep change id when amending a commit
2024-05-30 19:09:18 +02:00
Kiril Videlov
909894149f
fix a small thing
2024-05-30 17:51:27 +02:00
Kiril Videlov
8550965d14
oopsie
2024-05-30 16:33:28 +02:00
Kiril Videlov
3af46b3cae
handle merge commits
2024-05-30 16:23:40 +02:00
Kiril Videlov
7c06114ab2
list_remote_commit_files: on merge commit dont show wrong diffs
...
Right now it's not possible to show the correct diff because libgit2 doesn't have a `git diff-tree --cc` equivalent
2024-05-30 15:29:27 +02:00
Mattias Granlund
ed0663ce10
Fix invalid commit range in blame operation
...
- fixes commit_to_branch related errors
- fixes big performance problem when force push disallowed
2024-05-30 16:15:12 +02:00
Caleb Owens
251424d567
Fix origin/master showing in sidebar
2024-05-30 13:56:39 +02:00
Kiril Videlov
93d019afce
Merge pull request #3901 from gitbutlerapp/update-reflog-time
...
fixes reflog timestamps
2024-05-30 12:14:21 +02:00
Mattias Granlund
eeb99090ad
Fix incorrect workspace_head during merge conflicts
...
- without this we get an incorrect diff
2024-05-30 12:09:27 +02:00
Kiril Videlov
06ea63ee7c
fixes reflog timestamps
...
Time stapms are super imporatant for this (thanks @schacon) - without a correct time stamp, the trees will be GC'd
2024-05-30 12:02:30 +02:00
Kiril Videlov
62a3d02303
remove git::signature shell type
2024-05-29 23:51:26 +02:00
Kiril Videlov
ff9e36fb21
simplify git signature use
2024-05-29 23:37:32 +02:00
Kiril Videlov
8496dbf044
remove git::treebuilder in favor of plain git2 builder
2024-05-29 23:03:25 +02:00
Kiril Videlov
c3f374af72
remove git::FileMode shell type
2024-05-29 22:42:27 +02:00
Sebastian Thiel
7f9462a857
refactor CommitExt
...
- remove conflicting `*_gb()` methods as the native ones are easy enough to use
- some minor refactor
2024-05-29 21:47:03 +02:00
Sebastian Thiel
d5708b38bb
assure reflog is recreated if not present even if ref is present
2024-05-29 21:16:52 +02:00
Kiril Videlov
fb069e5d39
feat(git): remove unused Blob type
2024-05-29 18:14:50 +02:00
Sebastian Thiel
96dc9d2887
fix oplog-worktree merging
2024-05-29 17:58:54 +02:00
Sebastian Thiel
407ec1427b
Get performance metrics for get_wd_tree()
...
It's a tiny little function, but I think it can be slow
as it could incur a lot of work, scaling up with the size
of the repository, and the amount of untracked data in it.
Let's gather some data.
2024-05-29 17:56:12 +02:00
Kiril Videlov
d3aa5c4908
remove git::Commit wrapper type
2024-05-29 17:35:30 +02:00
Kiril Videlov
45979b4c85
remove usage of git::Commit
2024-05-29 17:33:57 +02:00
Sebastian Thiel
1abb464845
Merge pull request #3885 from gitbutlerapp/rust-remote-tweaks-for-byron
...
Tweaks to remotes code
2024-05-29 15:13:02 +02:00
Kiril Videlov
be149a5569
remove git::Tree in favor of just git2::Tree
2024-05-29 14:30:59 +02:00
Kiril Videlov
9e4bbdedec
remove unused reader functions
2024-05-29 14:04:51 +02:00
Kiril Videlov
d97bba0001
remove git::Tree from branch
2024-05-29 13:24:47 +02:00
Kiril Videlov
3c151a52cb
create a tree extension trait
...
this is useful for preserving functionality that we have added on top of git2::Tree
2024-05-29 11:15:46 +02:00
Caleb Owens
4ba15c3663
Make clippy a happy clippy
2024-05-29 11:14:29 +02:00
Caleb Owens
faa476875d
Replace &BranchId to BranchId
2024-05-29 11:07:36 +02:00
Caleb Owens
0db12b5115
Don't pass references to project_id
2024-05-29 10:47:11 +02:00
Caleb Owens
c5d841a417
Tweaks to remotes code
2024-05-29 09:52:03 +02:00
Kiril Videlov
4db276354b
remove unused import
2024-05-28 23:32:33 +02:00
Kiril Videlov
cc5e0bd8bd
remove unused repository method
2024-05-28 23:20:26 +02:00
Kiril Videlov
ce5e57d5ac
move get_wd_tree to git2::Repository extension trait
...
This way we reduce drilling and allow ourselves to eventually remove core::git types
2024-05-28 23:17:54 +02:00
Caleb Owens
9956e9f889
Introduce rust code for listing and adding remotes
2024-05-28 11:54:01 +02:00
Caleb Owens
6d1ed8474c
rename fetch_from_target to fetch_from_remotes
2024-05-28 10:14:35 +02:00
Kiril Videlov
f9ca7374e8
Merge pull request #3867 from Byron/ops-review
...
oplog-review
2024-05-28 17:35:43 +02:00
Sebastian Thiel
b0e73e5c89
oplog review
2024-05-28 17:22:02 +02:00
Kiril Videlov
e5fa064be5
Merge pull request #3873 from gitbutlerapp/update-gitbutler-integration
...
skip signing of the integration commit
2024-05-28 17:06:49 +02:00
Mattias Granlund
785bd3fb39
Fix slightly confusing code related to merging in trunk
...
- easier to understand if we only set branch.tree in one place
- enable ? return for git errors
2024-05-28 16:58:48 +02:00
Kiril Videlov
3494585679
plain commits for integration stuff
...
more
asdf
2024-05-28 16:48:07 +02:00
Josh Junon
7098fbc11b
disable stdin for invocations of ssh-keygen when signing commits
2024-05-28 13:44:24 +02:00
Sebastian Thiel
12e45142b3
recover from empty reflog files for gitbutler/target
ref
...
This also improves the tests quite a bit as it incorporates fixes
in `gix-ref`.
Also rename variables to be more descriptive, so instead of `something_sha`
name it `something_commit` as the object type is among the most interesting
bits of an object.
2024-05-28 13:25:46 +02:00
Sebastian Thiel
e82950f177
refactor reflog.rs and slightly adjust snapshot.rs
...
* reflog
- use `gix` to parse reflog, both in code as well as in tests (to be sure it's not malformed)
- avoid double-writes to reflog, instead finish transformation in memory and write final result
- assure the ref is present, independently of the reflog, catching more 'weird' states.
* minor improvements to `snapshot.rs` to avoid unnecessary clones
2024-05-28 13:25:46 +02:00
Sebastian Thiel
d952db0920
adjust pub
to make sense for actual usage (and after trait removal)
2024-05-28 13:25:46 +02:00
Sebastian Thiel
590d713f91
use git2::Oid
instead of String
; various small refactors
2024-05-28 13:25:46 +02:00
Sebastian Thiel
a5f71be44c
avoid separate exists-checks in favor of detailed error handling
...
That way we are less racy and do less IO.
2024-05-28 13:25:46 +02:00
Sebastian Thiel
e3156ba75c
remove single-use traits while leaving the structure as is
2024-05-28 13:25:46 +02:00
Sebastian Thiel
346c96869e
small refactors (see body for details)
...
- instrument snapshot creation to assure we see errors (which are ignored in code)
- move tests for public `entry` types into integration tests
- rename `OperationType` to `OperationKind` as it's more commmon in Rust
- Use `Copy` where possible
- streamline implementation: remove clones and allocations, without going zero-copy
- Prefer direct calls to traits to avoid `write!("{}")` just to invoke a trait fmt implementation
- avoid `pub` when `pub(crate)` will do
- strong type for created_at
2024-05-28 13:25:46 +02:00
Caleb Owens
571f16b8b2
Allow non-origin main branches to be listed
2024-05-24 15:22:34 +02:00
Caleb Owens
27f3b65b79
Fetch non-origin remotes
2024-05-24 14:58:56 +02:00
Kiril Videlov
1fbb756183
remove unused feature flag for snapshotting feature
2024-05-26 23:50:19 +02:00
Sebastian Thiel
f6dcf5d8c6
avoid assertions as they may cause the UI to 'hang' ( #2657 )
...
Panicked commands lead to timeouts, which are hard to debug unless
one sees the panic information in the log.
2024-05-26 08:44:55 +02:00
Kiril Videlov
762bb31dea
first stab at resurecting git sync
2024-05-25 23:07:40 +02:00
Kiril Videlov
f71b76ccb4
Merge pull request #3859 from Byron/win-tempfile
...
minor Windows adjustments
2024-05-25 22:08:32 +02:00
Kiril Videlov
bf3611fefa
feat: Add support for trailers with newlines
...
Escaping the newlines since the tailers are new line delimited. This is relevant when storing things like commit messages
2024-05-25 21:03:14 +02:00
Sebastian Thiel
a176bf04cf
remove Windows experiment ( #3601 )
...
The sync-all didn't do anything, and one would still run into locked
files.
2024-05-25 09:10:11 +02:00
Sebastian Thiel
9245e3458f
now_since_unix_epoch_ms
now uses negative dates for times pre Unix-epoch
2024-05-25 07:45:18 +02:00
Sebastian Thiel
2ed708b298
remove chrono which was only used for 'now in milliseconds, relative to UNIX epoch'
2024-05-24 21:38:11 +02:00
Kiril Videlov
623500a25e
remove unsed branch from implementation
2024-05-24 20:29:31 +02:00
Caleb Owens
4cae28668b
Merge branch 'master' into revert-3830-core-util-duration-updates
2024-05-24 14:20:55 +02:00
Caleb Owens
42a7c8bce4
Update Oplog State to better use SystemTime
2024-05-24 12:09:15 +02:00
Kiril Videlov
2ecee6df21
Merge pull request #3846 from gitbutlerapp/sc-fix-rebase-issue
...
Return the merge result in the case the rebase bails
2024-05-24 11:02:33 +02:00
Caleb Owens
5d723f1d91
Update comment to accuratly reflect data stored
2024-05-24 10:46:47 +02:00
Scott Chacon
c58719b77d
oops.
2024-05-24 10:45:54 +02:00
Kiril Videlov
9db262936c
Merge pull request #3845 from gitbutlerapp/update-base-branch-anyhow
...
feat: Update base branch handling to use anyhow
2024-05-24 10:44:54 +02:00
Caleb Owens
b8a1dcb2f0
Revert "Replace integer timestamps with Duration"
2024-05-24 09:40:52 +01:00
Scott Chacon
757a4690ca
return the merge result in the case the rebase bails
2024-05-24 10:38:48 +02:00
Kiril Videlov
d5ff348a21
feat: Update base branch handling to use anyhow
2024-05-24 10:31:43 +02:00