Commit Graph

400 Commits

Author SHA1 Message Date
Kiril Videlov
a095f8f28b
add methods for manipulating branch references
fix a thing
2024-08-21 12:21:30 +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
2316d0f10d Use gix for cloning repositories 2024-08-16 12:21:42 +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
Sebastian Thiel
107eea6743
Use gix for branch normalization 2024-08-09 21:53:38 +02:00
Sebastian Thiel
0d1ac25ef4
Use the latest version of gix for sanitization support 2024-08-09 21:14:17 +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
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
3df2da6de5
Use gix::remote::Name for type-safety. 2024-08-08 20:53:14 +02:00
Sebastian Thiel
f2a462f9b3
switch to latest gitoxide for updates supported the following changes 2024-08-08 20:53:10 +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
Sebastian Thiel
9476bf3b96
update gix to the latest version for gix-validate update (#4570) 2024-08-01 22:17:42 +02:00
Kiril Videlov
84b6815bd8
Merge pull request #4580 from gitbutlerapp/dependabot/cargo/rust-updates-191d328b20
Bump the rust-updates group across 1 directory with 8 updates
2024-08-01 22:13:30 +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
8ce77c26c4
Merge pull request #4574 from gitbutlerapp/dependabot/cargo/tauri-plugin-log-7c9dac1
Bump tauri-plugin-log from `76b0f65` to `7c9dac1`
2024-08-01 21:41:33 +02:00
Kiril Videlov
bb86eeacf3
update sysinfo crate version 2024-08-01 21:11:53 +02:00
dependabot[bot]
d699e7d582
Bump tauri-plugin-log from 76b0f65 to 7c9dac1
Bumps [tauri-plugin-log](https://github.com/tauri-apps/plugins-workspace) from `76b0f65` to `7c9dac1`.
- [Release notes](https://github.com/tauri-apps/plugins-workspace/releases)
- [Commits](76b0f657d1...7c9dac1f42)

---
updated-dependencies:
- dependency-name: tauri-plugin-log
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-01 15:36:02 +00: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
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
Sebastian Thiel
9e236e3469
remove async except for in gitbutler-git
The reason is that it's unclear if maybe it's there for a good reason,
and I don't want to break the complex code in there.
2024-07-28 20:47:35 +02:00
Sebastian Thiel
7c371e5dd4
More tests to understand more about the current branch-listing.
This also needs the ability to create commits.
Also experiment with `async` tauri commands, but without actually making
them `async` - nothing actually is so why pretend?

Further, assure we get the correct author and committer which helps it
pick up the overridden author information when creating a commit.
2024-07-28 17:12:23 +02:00
Sebastian Thiel
282519eca5
add ability to create add projects in CLI and create vbranches
This allows actual GitButler setups and more complex tests, which
are also added here.
2024-07-28 10:45:18 +02:00
Sebastian Thiel
5cdbadce4f
refactor CLI to make it easier to add new commands.
Also, remove the pager as there seems to be no need for it just yet,
one day it can probably be added when configured neatly.
2024-07-27 21:04:42 +02:00
Sebastian Thiel
093795bd0b
first simple test for list_branches and basic read-only test framework 2024-07-27 19:14:15 +02:00
Sebastian Thiel
1139918777
update gix to 0.64
It comes with various fixes and improvements, and the new APIs
that we were already depending on using the `git` dependency.
2024-07-23 20:54:45 +02:00
dependabot[bot]
e3472b2a0b
Bump openssl from 0.10.64 to 0.10.66 in the cargo group
Bumps the cargo group with 1 update: [openssl](https://github.com/sfackler/rust-openssl).


Updates `openssl` from 0.10.64 to 0.10.66
- [Release notes](https://github.com/sfackler/rust-openssl/releases)
- [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.64...openssl-v0.10.66)

---
updated-dependencies:
- dependency-name: openssl
  dependency-type: indirect
  dependency-group: cargo
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-22 18:13:28 +00:00
Kiril Videlov
0f00f0425a
move tree writing out of virtual branch actions crate 2024-07-21 16:15:41 +02:00
dependabot[bot]
8936cced4e
Bump gix-path from 0.10.8 to 0.10.9 in the cargo group
Bumps the cargo group with 1 update: [gix-path](https://github.com/Byron/gitoxide).


Updates `gix-path` from 0.10.8 to 0.10.9
- [Release notes](https://github.com/Byron/gitoxide/releases)
- [Changelog](https://github.com/Byron/gitoxide/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Byron/gitoxide/compare/gix-path-v0.10.8...gix-path-v0.10.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-19 08:56:28 +00:00
Sebastian Thiel
d1089f5d6e
update Cargo.lock with latest gix
This was forgotten unfortunately.
2024-07-19 10:44:48 +02:00
Sebastian Thiel
5946c4ca9a
conflict::*()functions don't impose UTF-8 on paths
That way it's compatible to more kinds of paths, on more filesystem.
It assumes that the content of the `conflict` file is never moved
across platforms.
2024-07-19 10:44:12 +02:00
Kiril Videlov
6101c5c66f
move hunk and diff code to a separate crate, out of the branch one 2024-07-17 20:16:48 +02:00
Kiril Videlov
3ad6b3fd10
Merge pull request #4409 from gitbutlerapp/dependabot/cargo/rust-updates-9e51e1549e
Bump the rust-updates group across 1 directory with 8 updates
2024-07-16 22:14:28 +02:00
Caleb Owens
b5d2c8a54f
Merge pull request #4415 from gitbutlerapp/update-svelte
Fix up branches list
2024-07-16 19:48:03 +02:00
Caleb Owens
90d1465e5d
Fix up branches list 2024-07-16 19:39:46 +02:00
dependabot[bot]
cdafe5bc2c
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 |
| --- | --- | --- |
| [serde](https://github.com/serde-rs/serde) | `1.0.203` | `1.0.204` |
| [thiserror](https://github.com/dtolnay/thiserror) | `1.0.61` | `1.0.62` |
| [console-subscriber](https://github.com/tokio-rs/console) | `0.2.0` | `0.3.0` |
| [open](https://github.com/Byron/open-rs) | `5.2.0` | `5.3.0` |
| [sysinfo](https://github.com/GuillaumeGomez/sysinfo) | `0.30.12` | `0.30.13` |
| [rstest](https://github.com/la10736/rstest) | `0.20.0` | `0.21.0` |
| [clap](https://github.com/clap-rs/clap) | `4.5.8` | `4.5.9` |
| [diffy](https://github.com/bmwill/diffy) | `0.3.0` | `0.4.0` |



Updates `serde` from 1.0.203 to 1.0.204
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.203...v1.0.204)

Updates `thiserror` from 1.0.61 to 1.0.62
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.61...1.0.62)

Updates `console-subscriber` from 0.2.0 to 0.3.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.2.0...console-subscriber-v0.3.0)

Updates `open` from 5.2.0 to 5.3.0
- [Release notes](https://github.com/Byron/open-rs/releases)
- [Changelog](https://github.com/Byron/open-rs/blob/main/changelog.md)
- [Commits](https://github.com/Byron/open-rs/compare/v5.2.0...v5.3.0)

Updates `sysinfo` from 0.30.12 to 0.30.13
- [Changelog](https://github.com/GuillaumeGomez/sysinfo/blob/master/CHANGELOG.md)
- [Commits](https://github.com/GuillaumeGomez/sysinfo/commits/v0.30.13)

Updates `rstest` from 0.20.0 to 0.21.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.20.0...v0.21.0)

Updates `clap` from 4.5.8 to 4.5.9
- [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.8...v4.5.9)

Updates `diffy` from 0.3.0 to 0.4.0
- [Changelog](https://github.com/bmwill/diffy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bmwill/diffy/commits)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-updates
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-updates
- dependency-name: console-subscriber
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: rust-updates
- dependency-name: open
  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
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-updates
- dependency-name: diffy
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: rust-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-16 15:22:10 +00:00
Kiril Videlov
cc8d7c9206 upgrade version of the windows crate 2024-07-16 16:48:42 +02:00
Kiril Videlov
2f06fcb7cf
upgrade mock_instant version 2024-07-16 15:51:15 +02:00
Sebastian Thiel
09ca2d0284
enforce in-process-synchronization during worktree updates and prolonged reads in oplog
That way it's assured that reads and writes don't intersect, but assure we only
hold such lock for the shortest amount of time for reads and and for the
full duration of writes.
2024-07-15 14:21:15 +02:00
Sebastian Thiel
3e79238e7f
assure conflicts::mark() writes its file atomically
That way it can't be observed half-written, or remain in a half-written
state in case of crash.
2024-07-15 08:20:06 +02:00
Sebastian Thiel
f48d0e2746
adapt to changes in gitbutler-branch crate 2024-07-14 21:32:55 +02:00
Sebastian Thiel
ccd6a6fe0d
let UI trigger necessary updates on addition and removal 2024-07-12 15:19:09 +02:00
Sebastian Thiel
00303704f4
add project-lock to generalized state
This means the current watcher also includes a file-lock for the current project.
Later this can be generalized to be per-window.
2024-07-12 15:19:09 +02:00
Kiril Videlov
87f956d871
move ReferenceName tagged string to gitbutler-reference crate
gitbutler-reference is where ReferenceName belongs. There are other thing in this crate that are not nice, but let's clean those up!
2024-07-10 16:48:59 +02:00
Kiril Videlov
e92fe44fa1
move branch state into the gitbutler-branch crate
Further to the move - the VirtualBranchesExt trait creates a dependency towards gitbutler-project. The gitubler-branch crate doesn't have such dependency so i deemed it undesirable to introduce it just for a convinience method. 
(Separately added an extention in gitbutler-virtual-actions since it already depends on project and to create a smaller diff)
2024-07-10 16:18:34 +02:00
Kiril Videlov
c8658b9a23
rename gitbutler-virtual to gitbutler-branch-actions
This is to establish a patter of which crates represent a higher level logic
2024-07-10 14:49:48 +02:00
Caleb Owens
9b59764db3
Split branch creation and deletion into their own home 2024-07-09 16:47:24 +02:00
Kiril Videlov
45d4d7c6e1
remove unused deps 2024-07-09 16:00:45 +02:00
Kiril Videlov
cdec47154d
remove references to gitbutler-core 2024-07-09 15:56:57 +02:00
Kiril Videlov
99d7b85343
move url module to a separate crate
this code is awful - lets nuke it asap
2024-07-09 15:29:24 +02:00
Kiril Videlov
01f3e0f0c4
extract tagged string to its own crate 2024-07-09 14:57:43 +02:00
Kiril Videlov
b856ebf6d3
Merge pull request #4302 from gitbutlerapp/extract-more-things-out-of-core
extract more things out of core
2024-07-09 13:33:27 +02:00
Kiril Videlov
164ca5ed85
Merge pull request #4255 from Byron/log-retention
better logs
2024-07-09 13:28:40 +02:00
Kiril Videlov
a4d3680891
extract commit crate out of core 2024-07-09 13:19:49 +02:00
Kiril Videlov
9023382c78
move time module to it's own crate 2024-07-09 13:08:12 +02:00
Kiril Videlov
bf373c5d8f
move default_true type to the only place where its relevant
We dont really want this type to spread through the codebase
2024-07-09 13:00:26 +02:00
Kiril Videlov
3be7d600e0
move fs and storage intor separate crates 2024-07-09 12:54:08 +02:00
Kiril Videlov
55b8a0357b
move id module to its own crate 2024-07-09 12:39:18 +02:00
Kiril Videlov
b0440ce989
move ssh module to the only place where it's relevant 2024-07-09 12:31:15 +02:00
Kiril Videlov
25ec331791
move secret module out of core into own crate 2024-07-09 12:11:12 +02:00
Kiril Videlov
944b63c647
move serde functions into their own crate 2024-07-09 11:49:12 +02:00
Kiril Videlov
262757cf39
Merge pull request #4295 from gitbutlerapp/move-err-module-to-crate
move error module to it's own crate
2024-07-09 11:26:05 +02:00
Kiril Videlov
989f27a0d6
move error module to it's own crate 2024-07-09 11:13:39 +02:00
Sebastian Thiel
b1b04adf56
assure not too many log files are retained.
Previously, despite `max_log_files()` configured, it would still
retain more than that, and effectively never delete any as that
would only happen on log-rotation.

Now we do it ourselves just once.
2024-07-09 10:53:16 +02:00
Sebastian Thiel
7ffb13550a
remove unused lock module and dependency to fslock 2024-07-09 10:24:27 +02:00
Kiril Videlov
9e69806d06
fix some cargo stuff 2024-07-09 01:17:37 +02:00
Kiril Videlov
de200c8e20
move reference module from core to its own crate 2024-07-09 01:14:28 +02:00
Kiril Videlov
0b1ecf7b54
move virtual branch constatns out of the core create 2024-07-09 00:45:10 +02:00
Kiril Videlov
17b8214c5d
move target module to gitbutler-branch crate 2024-07-09 00:40:10 +02:00
Kiril Videlov
acee9ba5ab
move branch related modules to separate crate
Unfortunatelly diff and branch types form a cyclical dependency via the "HunkLock" type. This will have to be refactored as a followup
2024-07-09 00:10:55 +02:00
Kiril Videlov
0c9c781bd5
Renaming crate gitbutler-branch to gitbutler-virtual
This is more descriptive to what logic lives inside. Further, this allows for splitting up the just branch bits in a separate crate (which is currently in gitbutler-core)
2024-07-08 20:56:00 +02:00
Kiril Videlov
41ec6da226
move askpass module to repository where it is being used 2024-07-08 19:45:35 +02:00
Kiril Videlov
83a1d4a1e5
extract user as its own crate out of core 2024-07-08 18:58:29 +02:00
Kiril Videlov
f042854b1c
combine the assets proxying implementaiton in one file
Now it's only used in one place
2024-07-08 18:23:51 +02:00
Kiril Videlov
e93896621f
move project module in a separate gitbutler-project crate 2024-07-08 15:33:26 +02:00
Kiril Videlov
f7094fcdff
move config module to a separate gitbutler-config crate 2024-07-08 14:49:45 +02:00
Kiril Videlov
a049711472
separate sending zipped logs functionality into gitbutler-feedback crate 2024-07-08 13:52:22 +02:00
Kiril Videlov
e258710502
move ProjectRepo into its own crate
This type currently acts more or less like a command context that lives for the duration of the request. Regardless of if we wanna keep this pattern or not, separating it out helps us split up core
2024-07-08 13:23:03 +02:00
Kiril Videlov
306ab0bea9
move legacy credentail helper to gitbutler-repo crate
it's mostly used from there
2024-07-08 13:01:38 +02:00
Kiril Videlov
7ac2d3a619
move repository ext trait to gitbutler-repo crate 2024-07-08 12:21:01 +02:00
Kiril Videlov
f92df0cde7
move RepoActions to gitbutler-repo crate 2024-07-08 00:45:04 +02:00
Kiril Videlov
ce497ef7cd
move rebase module to a new repo crate 2024-07-08 00:27:17 +02:00
Kiril Videlov
00a77d9327
move branch state into a separate crate 2024-07-07 21:26:07 +02:00
Kiril Videlov
c36f67f148
move oplog to its own crate
This protects us from cyclic dependencies. Unfortunatelly as part of this, i had to introduce the imp Project as trait implementations since now Project is foreign
2024-07-07 20:00:01 +02:00
Kiril Videlov
d456ba5e77
move cloud sync functionality to its own crate 2024-07-07 19:22:41 +02:00
Kiril Videlov
9dc82e8fe9
move virtual, integration and base modules to gitbutler-branch crate 2024-07-07 17:30:18 +02:00
Kiril Videlov
948c89e8be
move virtual outside of core 2024-07-07 15:51:07 +02:00
Kiril Videlov
7d078de52f
start moving virtual_branches to separate crate
We want to move towards having each functional domain in a separate crate. 
The main benefit of that for our project is that this will enforce a unidirectional dependency graph (i.e. no cycles).
Starting off with virutal_branches - a lot of the implementation is still in core (i.e. virtual.rs), that will be moved in a separate PR. 

Furthermore, the virtual branches controller (as well as virtual.rs) contain functions not directly related to branches (e.g. commit reordering etc). That will be furthe separate in a crate.
2024-07-07 13:32:35 +02:00
Kiril Videlov
8e3601e855 Merge: resolve lockfile conflicts 2024-07-02 16:21:54 +02:00