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
Sebastian Thiel
96dc9d2887
fix oplog-worktree merging
2024-05-29 17:58:54 +02:00
Kiril Videlov
45979b4c85
remove usage of git::Commit
2024-05-29 17:33:57 +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
6d1ed8474c
rename fetch_from_target to fetch_from_remotes
2024-05-28 10:14:35 +02:00
Sebastian Thiel
b0e73e5c89
oplog review
2024-05-28 17:22:02 +02:00
Sebastian Thiel
590d713f91
use git2::Oid
instead of String
; various small refactors
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
Caleb Owens
b8a1dcb2f0
Revert "Replace integer timestamps with Duration"
2024-05-24 09:40:52 +01:00
Caleb Owens
4a7e5f48dd
Merge origin/master into core-util-duration-updates
2024-05-23 14:04:54 +02:00
Caleb Owens
d55260c96a
Use Duration rather than various integer times for time
2024-05-23 14:02:48 +02:00
Kiril Videlov
c7aaa1a6b6
fix oplog test
2024-05-23 13:40:53 +02:00
Mattias Granlund
21e98fd9f2
Simplify getting default target
...
- remove try function in favor of returning error
- drop unused function
2024-05-21 12:02:38 +02:00
Scott Chacon
18de60740b
formatting
2024-05-19 07:24:15 +02:00
Scott Chacon
2a89fa6b93
save and restore the gitbutler/integration branch
...
when we save the snapshots, save and restore the integration branch commit properly so we don't get in a weird state after restore
2024-05-19 07:07:55 +02:00
Scott Chacon
733780f302
reformat
2024-05-17 15:16:04 +02:00
Scott Chacon
dcc1b37331
rewrite our oplog tests
2024-05-17 15:11:19 +02:00
Scott Chacon
b0c5c07a57
some change-id based tests
2024-05-15 15:21:19 +02:00
Scott Chacon
4d542330c5
merge stuff
2024-05-11 11:43:06 +02:00
Mattias Granlund
e7f25e29c5
Check we are on the right branch in verify_branch
...
Ensures we don't accidentally run commands while HEAD is pointing to something other than the gitbutler/integration branch.
2024-05-08 12:20:00 +02:00
Scott Chacon
51f9769024
sign commits with real git
...
in the strangest possible way
2024-05-07 15:15:25 +02:00
Mattias Granlund
5bb8c25aca
Fix bug in updating base branch
...
- drop "double lock across branches" test because it can't happen
- save correct tree when updating branch states
- use correct integration commit when updating base branch
2024-05-02 17:39:52 +02:00
Scott Chacon
2b1d808314
add several history manipulation backend functions
...
this adds backend functions in Rust to do the following:
* move file hunks between commits (basic)
* undo any commit in a stack
* insert a blank commit
* move a commit within the stack
* update a commit message in place
2024-04-29 15:03:01 +02:00
Mattias Granlund
311a582a8c
Minimise range in double lock test
...
todo: figure out why we can't use only three lines in this test
2024-04-26 00:06:01 +02:00
Mattias Granlund
c5c2df1b93
Surface warning if hunk locked to multiple branches
...
- now returning `HunkLock` to front end
- detect if locked to more than one branch and warn user
2024-04-26 00:06:01 +02:00
Mattias Granlund
e0c2d82127
Reset files into the same branch they were committted to
...
- regressed when switching to blame for hunk locking
2024-04-25 16:42:11 +02:00
Mattias Granlund
44c64565a2
Add test to ensure hunks can lock across branches
...
- makes no assertions about how the hunk is displayed
2024-04-25 16:06:03 +02:00
Mattias Granlund
d79b126c59
Remove repetition in create_commit.rs
test code
2024-04-25 16:06:03 +02:00
Sebastian Thiel
6665bc9289
Use a temp-file to write new content atomically in storage layer ( #2807 )
...
This will prevent half-written content on disk in case the write is interrupted.
Lock files are *not* used as the assumption is that a lock is held centrally.
2024-04-24 10:38:48 +02:00
Mattias Granlund
90cf617a4f
Add test for locking hunk to two different commits
2024-04-24 08:15:01 +01:00
Mattias Granlund
5134460875
Tighten locking tests
...
- with blame based lock a change can touch a committed line, but not overlap
2024-04-24 08:15:01 +01:00
Mattias Granlund
8140afb88b
Use adjacent hunks in commit/lock detection test
...
We still need to fix the off-by-one bug affecting hunk end lines. When we add start_line + line_count we end up with an extra line. For example, with start_line 1, and line_count 1, the range is 1:1, not 1:2.
2024-04-24 08:15:01 +01:00
Mattias Granlund
811f0ee35b
Blame across workspace instead of by branch
...
- refactors `update_gitbutler_integration`
- creates new `get_workspace_head` function
- ignore locking when resolving merge conflicts
2024-04-24 08:15:01 +01:00
Sebastian Thiel
aa3d3cb7da
fix rustfmt formatting issues due to line-length ( #3039 )
...
The trick is to temporarily set `max_width` in `rustfmt.toml` to 120,
then set it back to the default of 100 (or remove the file).
2024-04-23 12:53:56 +02:00
Sebastian Thiel
27714d8e0d
Adjust GitHunk
to not require UTF8 for diffs
...
This will make the diffing engine more correct overall, as only for
display there will be a potentially lossy conversion.
This will also prevent it to be considered binary even though it is not.
2024-04-21 11:35:25 +02:00
Kiril Videlov
0fea544cd7
rm gb_repository from controller
2024-04-21 09:26:34 +02:00
Kiril Videlov
6f0fe2afa9
rm uses_diff_context from list vbranches return
2024-04-17 07:14:43 +02:00
daniilS
e12e741c2e
Fix typos in "conflict" in error message, comments, and a variable name
2024-04-16 15:40:14 +01:00
Sebastian Thiel
906bfa3cf4
use the new testsupport
crate
2024-04-09 20:45:17 +02:00
Sebastian Thiel
d0db6a67df
use the new 'app' error type everywhere
2024-04-01 16:19:09 +02:00
Sebastian Thiel
72291ce4cb
chore: align 'app' and 'lib' crates imports.
...
This is done one-time (for now) using a nightly feature of cargo-fmt
as defined in `rustfmt-nightly.toml.`
It's planned to make this the default so imports will always be sorted.
For now it can be run manually with:
cargo +nightly fmt -- --config-path rustfmt-nightly.toml
or
pnpm rustfmtTBD
Please enter the message for your patch. Lines starting with
2024-03-30 22:43:16 +01:00
Sebastian Thiel
26c39f2a3f
chore: move library from top-level to gitbutler-core
...
This better expresses what it does, and leaves the `gitbutler-app`
in the top-level where it can serve as visible entrypoint.
2024-03-30 22:39:21 +01:00