# Can syncthing be used for full syncs only?

**URL:** https://forum.syncthing.net/t/can-syncthing-be-used-for-full-syncs-only/986
**Category:** Feature
**Created:** [September 23, 2014, 8:21am UTC](https://forum.syncthing.net/t/can-syncthing-be-used-for-full-syncs-only/986 "2014-09-23T08:21:37Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![onnimonni](https://forum.syncthing.net/user_avatar/forum.syncthing.net/onnimonni/32/410_2.png) [@onnimonni](https://forum.syncthing.net/u/onnimonni)
#### Post date: [September 23, 2014, 8:21am UTC](https://forum.syncthing.net/t/can-syncthing-be-used-for-full-syncs-only/986/1 "2014-09-23T08:21:37Z")

</div>

Hey this looks fun alternative for bittorrent sync!

Can I share code between my local computer and production server in a way that only full syncs are enabled? Partial syncs would break the system and I don’t want that.

This might be really wrong way to do it but it sounded like a good idea for me.

---

<div class="post-metadata">

### Author: ![calmh](https://forum.syncthing.net/user_avatar/forum.syncthing.net/calmh/32/15311_2.png) [@calmh](https://forum.syncthing.net/u/calmh)
#### Post date: [September 23, 2014, 8:40am UTC](https://forum.syncthing.net/t/can-syncthing-be-used-for-full-syncs-only/986/2 "2014-09-23T08:40:42Z")

</div>

What do you mean by full vs partial sync?

---

<div class="post-metadata">

### Author: ![jpjp](https://forum.syncthing.net/letter_avatar_proxy/v4/letter/j/51bf81/32.png) [@jpjp](https://forum.syncthing.net/u/jpjp)
#### Post date: [September 23, 2014, 8:55am UTC](https://forum.syncthing.net/t/can-syncthing-be-used-for-full-syncs-only/986/3 "2014-09-23T08:55:30Z")

</div>

I guess you want to only let the production server access the directory once it is in sync with his local machine. To do this you need a few things:

1. A symlink on your production machine that points to a directory.
2. Syncthing configured to sync to directory.N
3. Once the sync has finished, shut down syncthing, then update the symlink to point to directory.N
4. Now reconfigure syncthing to point to directory.N+1 and continue as before.

---

<div class="post-metadata">

### Author: ![onnimonni](https://forum.syncthing.net/user_avatar/forum.syncthing.net/onnimonni/32/410_2.png) [@onnimonni](https://forum.syncthing.net/u/onnimonni)
#### Post date: [September 23, 2014, 11:22am UTC](https://forum.syncthing.net/t/can-syncthing-be-used-for-full-syncs-only/986/4 "2014-09-23T11:22:05Z")

</div>

@jpjp Yeah exactly. It would be superb to have ability to download changes into some sort of cache. For example when downloading torrents you can usually specify to move the files to another directory when download is complete. It’s a bit different than this since it would be good to also reflect changes in server back to local computer.

Well I actually have no idea how the internals work at this point but this could be implemented for example with internal git-like version control.

.syncthing (hidden folder) /version-000002 (version in use) /version-000003 (changes from remote. MD5 hash of files doesn’t match yet so we know it isn’t fully synced)

When md5 check matches syncthing can checkout changes from version 000003.

And now we would have version control of files as well. It would open doors to use syncthing in controlled distributed continuous integration of filesystems.

---

<div class="post-metadata">

### Author: ![calmh](https://forum.syncthing.net/user_avatar/forum.syncthing.net/calmh/32/15311_2.png) [@calmh](https://forum.syncthing.net/u/calmh)
#### Post date: [September 23, 2014, 11:46am UTC](https://forum.syncthing.net/t/can-syncthing-be-used-for-full-syncs-only/986/5 "2014-09-23T11:46:06Z")

</div>

Syncthing does atomic commits per file. There is no concept of a snapshot of an entire repo. I suspect it would be kind of tricky to implement as well; we’d need to know when would a good time to take such a snapshot on the source, and the sync would fail if anything changed on the source while we are still syncing.

---

<div class="post-metadata">

### Author: ![Arneko](https://forum.syncthing.net/letter_avatar_proxy/v4/letter/a/57b2e6/32.png) [@Arneko](https://forum.syncthing.net/u/Arneko)
#### Post date: [September 24, 2014, 8:32am UTC](https://forum.syncthing.net/t/can-syncthing-be-used-for-full-syncs-only/986/6 "2014-09-24T08:32:09Z")

</div>

You could also create imagefiles of some sort (%timestamp%.iso for example) periodically and put them into your repository. Once the file is on the other side it’s “complete”. In a _n_x setup it is easy to mount them and they behave just like read only directories, but I am sure one can do some magic on windows as well. That saves you the trouble of checking whether syncthing is in sync, shutting it down, etc.

---

<div class="post-metadata">

### Author: ![calmh](https://forum.syncthing.net/user_avatar/forum.syncthing.net/calmh/32/15311_2.png) [@calmh](https://forum.syncthing.net/u/calmh)
#### Post date: [September 24, 2014, 8:46am UTC](https://forum.syncthing.net/t/can-syncthing-be-used-for-full-syncs-only/986/7 "2014-09-24T08:46:45Z")

</div>

You could also listen for events and as soon as a repo enters “Idle” state, it’s fully synced by some definition.

---

<div class="post-metadata">

### Author: ![system](https://forum-uploads.syncthingcdn.net/original/2X/0/0b50e0a202b22ae6a67190759e8c868805b8ed9f.png) [@system](https://forum.syncthing.net/u/system)
#### Post date: [May 12, 2017, 1:19pm UTC](https://forum.syncthing.net/t/can-syncthing-be-used-for-full-syncs-only/986/8 "2017-05-12T13:19:50Z")

</div>


