Kiril Videlov
2c965e8a47
push head directly
2023-06-30 17:34:24 +02:00
Kiril Videlov
5fb2ef580e
update upstream
2023-06-30 17:34:24 +02:00
Kiril Videlov
07c4d53078
persisting upstream branch on vbranch upon push
2023-06-30 17:34:24 +02:00
Scott Chacon
a4114185d2
set a remote flag on commits that have been pushed ( #568 )
2023-06-30 16:50:15 +02:00
Nikita Galaiko
297e0cddc9
new virtual branch button works
2023-06-30 16:00:54 +02:00
Scott Chacon
f8be69575f
Some Docs ( #565 )
...
* document these structs
2023-06-30 15:36:40 +02:00
Nikita Galaiko
f2024dc578
bubble up hunks that change size
2023-06-30 15:32:28 +02:00
Nikita Galaiko
183940072d
fix tests
2023-06-30 14:30:52 +02:00
Nikita Galaiko
13ef7435b4
bubble new hunks and files up
2023-06-30 14:15:12 +02:00
Nikita Galaiko
b3cc802f1a
explicitly move and always update hunks
2023-06-30 14:15:12 +02:00
Scott Chacon
8cc1d7b3f5
Merge status ( #554 )
...
* show merge status of virtual branches
* add merge conflict list and tests and fix uncommitted work
2023-06-30 11:27:54 +02:00
Kiril Videlov
c090837b17
use default target
2023-06-30 11:23:49 +02:00
Kiril Videlov
e0006dbf43
formatting
2023-06-30 11:23:49 +02:00
Kiril Videlov
4092554bdf
Pushing of vBranches
2023-06-30 11:23:49 +02:00
Nikita Galaiko
1df31ec1ee
rm move_files
2023-06-30 09:13:22 +02:00
Nikita Galaiko
fd7d2f9d87
remove selected branch id
2023-06-30 08:11:23 +02:00
Nikita Galaiko
ace5b8468f
store branch order
2023-06-30 08:11:23 +02:00
Nikita Galaiko
785013d611
create branch with ownership
2023-06-30 08:11:23 +02:00
Nikita Galaiko
b7c9940eb3
rm move_files api
2023-06-30 08:11:23 +02:00
Nikita Galaiko
47fc2924ab
fix clippy warnings
2023-06-29 11:47:23 +02:00
Nikita Galaiko
df935248c0
support updating branch ownership
2023-06-29 11:33:20 +02:00
Nikita Galaiko
87476939a8
make branch ownerhip order matter
2023-06-29 11:33:20 +02:00
Scott Chacon
4480f690fe
add placeholder for push, fix checkout ( #548 )
2023-06-29 08:59:41 +02:00
Scott Chacon
4a0bcb8665
Apply and Unapply Virtual Branches ( #544 )
...
* apply and unapply branches
* show unapplied branches in vbranch list
* pick random branch if selected isnt applied
2023-06-29 07:48:48 +02:00
Nikita Galaiko
cac92dd027
sort new hunks as they come in
2023-06-28 16:55:04 +02:00
Nikita Galaiko
8cbef59988
rm hunk timestamps
2023-06-28 13:19:50 +02:00
Nikita Galaiko
511c5b6124
more tests for moving hunks
2023-06-28 13:19:50 +02:00
Nikita Galaiko
4dd70ee5b1
refactor ownership types
2023-06-28 13:19:50 +02:00
Nikita Galaiko
201e666fe3
store timstamp in a hunk
2023-06-28 13:19:50 +02:00
Scott Chacon
045ddbf16e
Delete (unapply) branch when it's integrated upstream ( #515 )
...
* delete (unapply branch when the head matches the merge result)
* add debug stuff, create new branch if none applied
* if there are modified files on a vbranch, dont unapply it
* fix args in the wrong order
2023-06-28 12:40:10 +02:00
Nikita Galaiko
daad336602
separate hunks type
2023-06-27 12:28:08 +02:00
Nikita Galaiko
5553659849
check session/meta when asserting session existance
2023-06-27 11:50:35 +02:00
Nikita Galaiko
c30623f15a
detect changed hunks
2023-06-27 10:33:35 +02:00
Nikita Galaiko
9b5e6eec2b
protect vbranches with a semaphore
2023-06-26 12:29:50 +02:00
Nikita Galaiko
77c00a0723
fix warnings
2023-06-26 08:59:28 +02:00
Scott Chacon
a090263b95
Update a branch name ( #514 )
...
Way to update a branch name
2023-06-25 13:01:15 +02:00
Scott Chacon
619384405f
Update Target Branch ( #510 )
...
This PR implements a way to update an out of date target branch.
This adds logic to see if the target branch is out of date (if say, origin/master has commits that are not on target.sha) and will show in the UI that the frozen target branch is behind. If this happens, it adds a button to update, which will call an update_branch_target function in Rust.
This function will:
* Check that there is in fact a new commit on the target branch
* Try to merge that new head commit into your current working directory, bailing if it cannot
* If that succeeds (the new upstream can merge cleanly with all your vbranch content), it will then update all your virtual branches
* If the vbranch has no commits, it simply updates the head so the diffs work properly again
* If the vbranch has commits, it will merge the new head into the virtual branch head and write the new merge commit to the vbranch commit list. omg.
The patch also:
* Adds some tests for updating the target
* Calculates merge base on setup
* Only assigns stuff to active branches
* Adds a reset command to make all branches inactive for testing
2023-06-24 21:09:03 -07:00
Scott Chacon
e46f3be1a4
Virtual Commits ( #507 )
...
* add virtual commits to vbranches, return and render them
* remove file changes from status
2023-06-24 05:07:16 -07:00
Nikita Galaiko
fe44d9ae30
fix old way of moving
2023-06-22 15:37:20 +02:00
Nikita Galaiko
c3248bfee4
assert file format
2023-06-22 15:37:20 +02:00
Nikita Galaiko
b49031b2f2
avoid flakiness
2023-06-22 14:16:44 +02:00
Nikita Galaiko
0b00d67e8f
cargo fmt
2023-06-22 14:16:44 +02:00
Nikita Galaiko
28383a6a7e
allow to move hunks
2023-06-22 14:16:44 +02:00
Nikita Galaiko
6ce2188142
ownerhip math does not split anymore
2023-06-22 14:16:44 +02:00
Scott Chacon
971059e179
Add basic committing to the client ( #484 )
...
* move commit to virtual_branches code, add bridge for JS
* actually run commit() from the client
* simple remote branches list, for later
* better remote branches
* adds more data to remote branches
* test file movement
* added move_files test and remove path from all branches that match
* fix move with duplicate entries
2023-06-22 09:29:17 +02:00
Nikita Galaiko
e839000a0b
fix butler status
2023-06-22 08:03:09 +02:00
Nikita Galaiko
4722b1ac32
cargo fmt
2023-06-21 16:39:58 +02:00
Nikita Galaiko
17b45c9a8b
test file move
2023-06-21 16:39:58 +02:00
Nikita Galaiko
5be88e8913
remove unused code
2023-06-21 16:39:58 +02:00
Nikita Galaiko
de375879c8
minor rename
2023-06-21 16:39:58 +02:00
Nikita Galaiko
16b98c66d1
use range for the hunk id
2023-06-21 16:39:58 +02:00
Nikita Galaiko
b537aa2bc2
add ownersip math
2023-06-21 16:39:58 +02:00
Nikita Galaiko
d7792a2954
use ownership type
2023-06-21 16:39:58 +02:00
Scott Chacon
7d2f6a4932
remove this duplication ( #493 )
2023-06-21 15:47:29 +02:00
Nikita Galaiko
d64c2b9bef
fix hunk calculation
2023-06-21 15:31:29 +02:00
Kiril Videlov
0570679887
default value if theres nothing?
2023-06-21 15:31:29 +02:00
Scott Chacon
40351431c8
fix hunks
2023-06-21 15:31:29 +02:00
Nikita Galaiko
977c70a802
less dev logs
2023-06-21 13:00:36 +02:00
Nikita Galaiko
7074f735d7
sanity virtual branch tests
2023-06-21 11:10:18 +02:00
Scott Chacon
645bef29b6
Merge branch 'master' into sc-vbranch-commits
2023-06-21 10:50:46 +02:00
Scott Chacon
73e9a8ca7c
oops. lint
2023-06-21 10:46:58 +02:00
Scott Chacon
da2ffb795d
send mtime as hunk modified time (I think)
2023-06-21 10:38:37 +02:00
Nikita Galaiko
e3a7c73bfb
branch: types for ownership
2023-06-21 10:23:07 +02:00
Scott Chacon
a4a4fc39a7
fix weird hunk thing
2023-06-21 10:13:44 +02:00
Scott Chacon
2f58d4439a
change how we are getting paths
2023-06-21 09:42:07 +02:00
Scott Chacon
1cdd19f073
move files between lanes
2023-06-21 09:42:07 +02:00
Nikita Galaiko
662d40044b
use real function via butler
2023-06-21 09:21:59 +02:00
Nikita Galaiko
1cf2e6af96
handle move files corner cases
2023-06-21 09:21:59 +02:00
Nikita Galaiko
c9c555fa77
simplify diff processing
2023-06-21 09:21:59 +02:00
Nikita Galaiko
36c4ad8673
error handling
2023-06-21 09:21:59 +02:00
Nikita Galaiko
a57dcc7dc3
remove extra fields
2023-06-21 09:21:59 +02:00
Nikita Galaiko
ad9a024b7a
butler info
2023-06-20 14:56:50 +02:00
Nikita Galaiko
a674fec718
fix warnings
2023-06-20 14:51:08 +02:00
Nikita Galaiko
ef40ffe35c
remove deltas logic from vbranches
2023-06-20 14:51:08 +02:00
Scott Chacon
e59691d15f
CLI and APIs binary for simple virtual branch manipulation ( #425 )
...
Here we're squash-merging a branch that adds a new cli tool and some basic APIs for manipulating the data format of virtual branches as used by the frontend.
* simple cli for showing data, including vbranches
* can set and show the remote target default
* basic list, new and move in API for frontend
---------
Co-authored-by: Kiril Videlov <kiril@videlov.com>
Co-authored-by: Nikita Galaiko <nikita@galaiko.rocks>
2023-06-20 14:33:02 +02:00
Mattias Granlund
561011fff5
Initialise with system theme in Rust code
2023-06-19 12:19:08 +01:00
Nikita Galaiko
38fb0132ec
update dependencies
2023-06-16 09:29:26 +02:00
Nikita Galaiko
d0a83e97cf
small events refactor
2023-06-15 16:20:31 +02:00
Nikita Galaiko
da76e26d7f
flush/restore branches
2023-06-15 14:38:07 +02:00
Nikita Galaiko
4a18b2200e
vbranches: move deltas distribution to handler
2023-06-15 09:14:52 +02:00
Kiril Videlov
8ec1370043
setup access to branch testdata resource json file
2023-06-14 12:12:43 +02:00
Nikita Galaiko
8198de686a
tests and fixes for virtual branch writer
2023-06-08 13:54:45 +02:00
Nikita Galaiko
d72e1967ee
do not try to read current
as a branch
2023-06-08 13:54:45 +02:00
Nikita Galaiko
6d66b4b93d
Reader::is_dir
2023-06-08 13:54:45 +02:00
Nikita Galaiko
c3a3834443
use Project::try_from(git2::Repository)
2023-06-08 13:54:45 +02:00
Nikita Galaiko
37fb566f89
rust kung fu for readers
2023-06-08 13:54:45 +02:00
Nikita Galaiko
97ecc9eb96
deltas writer writes virtual branches also
2023-06-08 13:54:45 +02:00
Nikita Galaiko
ac9d06deb0
functions to split deltas into virtual branches
2023-06-08 13:54:45 +02:00
Nikita Galaiko
695ef1a00e
bump git2
2023-06-07 14:27:12 +02:00
Nikita Galaiko
c186dea4af
watcher handler run async
2023-06-07 13:58:49 +02:00
Nikita Galaiko
ad675c7292
vb: writer, reader for selected branch
2023-06-07 12:46:54 +02:00
Nikita Galaiko
891ca38c30
vb: separate target reader
2023-06-07 12:46:54 +02:00
Nikita Galaiko
6ee2a8c087
init bookmarks reader/writer/iterator
2023-06-05 16:15:43 +02:00
Nikita Galaiko
83be7af9f4
align session writer signature
2023-06-05 10:43:56 +02:00
Nikita Galaiko
7958ea38fa
extract bookmark writer
2023-06-05 10:43:56 +02:00
Nikita Galaiko
6167ee0a31
extract pty writer
2023-06-05 10:43:56 +02:00
Nikita Galaiko
de30d69128
extract deltas writer
2023-06-05 10:43:56 +02:00
Nikita Galaiko
0c7c444bb5
improve reindex detection for bookmarks
2023-06-02 14:31:35 +02:00
Nikita Galaiko
89cfe4bc9d
watcher/handler: log events
2023-06-02 14:31:35 +02:00
Nikita Galaiko
2f61c409eb
make a separate reindex event
2023-06-02 14:31:35 +02:00