-
Notifications
You must be signed in to change notification settings - Fork 4
Description
Hello, I am looking for a synchronization tool similar to git but that can handle FS metadata (timestamp), and found your project that seems to be a good match. Now I am trying to evaluate whether it is suitable for my use case.
But when push, that some data that has not yet been committed will be overwritten.
Version
yarsync version 0.2.1
Operating System
macos ventura and archlinux
What happened
We have two computers A
and B
, create a repo, create a file1
and commit.
And make sure that A
and B
each have a copy of the repo.
Then modify file1
on B
then push from A
, we can see that the file1
has been overwritten.
How to reproduce
init repo
# on A
mkdir test1
cd test1
yarsync init
yarsync commit -m "Initial commit"
yarsync remote add my_remote host:/tmp/test1-repo
# on B
mkdir /tmp/test1-repo
cd /tmp/test1-repo
yarsync init
then push repo from A to B, and make file1
push again
# on A
yarsync push my_remote
echo testfile > file1
yarsync commit
yarsync push my_remote
Modify file1
on B
$ echo 'should not be overwritten' > file1
$ cat file1
should not be overwritten
Then push from A again, We can see that the file is overwritten
# on A
yarsync push my_remote
# on B
$ cat file1
testfile
What you think should happen instead
yarsync
should detect and avoid overwriting data, shows that the remote has not yet committed.
If this is not the intended use, it must be aborted to avoid data loss.