# What is the purpose of "Override Changes" button?

**URL:** https://forum.syncthing.net/t/what-is-the-purpose-of-override-changes-button/1818
**Category:** Support
**Created:** [February 10, 2015, 5:24pm UTC](https://forum.syncthing.net/t/what-is-the-purpose-of-override-changes-button/1818 "2015-02-10T17:24:28Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![16180339887498948](https://forum.syncthing.net/letter_avatar_proxy/v4/letter/1/a3d4f5/32.png) [@16180339887498948](https://forum.syncthing.net/u/16180339887498948)
#### Post date: [February 10, 2015, 5:24pm UTC](https://forum.syncthing.net/t/what-is-the-purpose-of-override-changes-button/1818/1 "2015-02-10T17:24:29Z")

</div>

![](https://forum.syncthing.net/uploads/default/885/4ff4449d139c983f.png)

Also what does “ **master folder** ” mean given the description was “_Files are protected from changes made on other devices, but changes made on this device will be sent to the rest of the cluster_”?

Doesn’t that indicate that a “ **master folder** ” function is to **mirror all files** from the originator (primary sender) to the inherent receiving devices?

So why is there a need to click the button ( **override changes** )? What changes are being created here that require an override for them?

I am creating a SHA3 hash checksum list of all files on the sending device and then comparing with the receiving devices. Without clicking the button marked “ **override changes** ” the files are all present and accounted for. Before, the one file named **update.ver** was not updating on the receiving devices. I have no idea why it is working now when before it was not.

Is Syncthing consist in synchronizing files or was this an issue with the receiving devices regarding file permissions (not deleting)? But strange as all the other 89 files had no issue. How is Syncthing judging which files to update from the **master folder** to the receiving devices?

What is the differences of the Syncthing terms for:

> No File Versioning Simple File Versioning Staggered File Versioning

So **what option above best fits** the need to mirror from the originating device ( **master folder** ) as the sender to inherent (direct) receiving devices an exact copy of files that get updates regularly with the same file names, without archiving old copies of files?

The other two options (Simple File Versioning and Staggered File Versioning) mention the need to archive older files, which there is no need as it would only add to the confusion of using the most up to date versions.

Thanks in advance for any **clarification** on this matter.

---

<div class="post-metadata">

### Author: ![AudriusButkevicius](https://forum.syncthing.net/user_avatar/forum.syncthing.net/audriusbutkevicius/32/277_2.png) [@AudriusButkevicius](https://forum.syncthing.net/u/AudriusButkevicius)
#### Post date: [February 10, 2015, 5:59pm UTC](https://forum.syncthing.net/t/what-is-the-purpose-of-override-changes-button/1818/2 "2015-02-10T17:59:54Z")

</div>

Sorry but I just get lost among all the text here.

Master folder means `do not accept any changes from anyone`.

Each file and directory is version, and each device advertises the version of the file it has. By default, master folder means that the version will stay the same, always as it does not accept updates (unless modified by the master node itself).

Now if someone in the cluster modifies a file, the global version (which all nodes see) gets incremented, causing the master to become out of sync, and causing all non-master nodes to download the newly modified file from the modifier.

`Override changes` tells the master to take the global version of all files, increment it by one, and advertise it to everyone, causing everyone in the cluster to download all the files the master has (as this is now the newest version).

SHA3 will only give you part of the answer. We track permissions, mtimes, internal flag changes (which might not be readable by you externally) part of the version, hence you are getting only part of the answer.

Versioning settings have explanations to them as you select them. These are meant for `versioning` as it’s explained, which involves archiving files before modifying them.

---

<div class="post-metadata">

### Author: ![robsonsobral](https://forum.syncthing.net/user_avatar/forum.syncthing.net/robsonsobral/32/863_2.png) [@robsonsobral](https://forum.syncthing.net/u/robsonsobral)
#### Post date: [February 13, 2015, 12:13am UTC](https://forum.syncthing.net/t/what-is-the-purpose-of-override-changes-button/1818/3 "2015-02-13T00:13:52Z")

</div>

May this button function be a little clear? “override changes” don’t say where this changes are. Maybe “override remote changes”? I don’t know which phrase to use exactly.

---

<div class="post-metadata">

### Author: ![AudriusButkevicius](https://forum.syncthing.net/user_avatar/forum.syncthing.net/audriusbutkevicius/32/277_2.png) [@AudriusButkevicius](https://forum.syncthing.net/u/AudriusButkevicius)
#### Post date: [February 13, 2015, 10:53am UTC](https://forum.syncthing.net/t/what-is-the-purpose-of-override-changes-button/1818/4 "2015-02-13T10:53:07Z")

</div>

Yeah the whole thing needs to be documented:

> <https://github.com/syncthing/syncthing/issues/1343>
>
> I am looking at the Override changes thing, and still cannot exactly explain how it works.
> If on a non-master node I...

Feel free to help out.

---

<div class="post-metadata">

### Author: ![robsonsobral](https://forum.syncthing.net/user_avatar/forum.syncthing.net/robsonsobral/32/863_2.png) [@robsonsobral](https://forum.syncthing.net/u/robsonsobral)
#### Post date: [February 13, 2015, 11:48am UTC](https://forum.syncthing.net/t/what-is-the-purpose-of-override-changes-button/1818/5 "2015-02-13T11:48:04Z")

</div>

You’re doing a great job on the app and it’s really good to see that you, developers, care about UX.

I just don’t know how much I can help on docs, because… Well, you know how bad my English is.

First, I think the button needs a clear explanation of its function:

- `Override and propagate changes`
- `Override remote changes`
- `Propagate changes and override`
- `Propagate changes` and a prompt `This will override any changes made on remote nodes. Are you sure?`

I still didn’t have the opportunity to see what happens on the interface of remote nodes. I gonna do some tests.

---

<div class="post-metadata">

### Author: ![16180339887498948](https://forum.syncthing.net/letter_avatar_proxy/v4/letter/1/a3d4f5/32.png) [@16180339887498948](https://forum.syncthing.net/u/16180339887498948)
#### Post date: [February 13, 2015, 12:40pm UTC](https://forum.syncthing.net/t/what-is-the-purpose-of-override-changes-button/1818/6 "2015-02-13T12:40:17Z")

</div>

```
Would the "override changes" button option mean the following condition: 

```

That the **master folder** sends out files to all receiving peer nodes (devices), for which any of them may **modify the files** , but **requires the master folder to approve** of only the most recent changes or is that all of the changes made by the receiving peer nodes to be **accepted by the master node for redistribution** , by applying the override change button?

The “ **override changes** ” button is confusing, because I had setup only two devices, one as master and the other as slave (receiving peer node) and the “override changes” button become **ACTIVE** even though the slave device didn’t make any changes, no modifications to any of the synchronized files.

The files all had the same names, the same sizes, the same content inside them. However, in all fairness, Syncthing didn’t claim all the files were different versions, but rather only one file called **update.ver**! Why the 1 file out of 90 files synchronized?

I tried different methods to update the master folder, so the slave device (receiving peer node) is without experiencing any issues of versions. The solution seemed at first to **never update the same named file as before.**

So it seems the “ **override changes** ” button is a result of experiencing different versions. Why it is needed at all? Why shouldn’t the receiving peers pass on or rely only the latest version automatically?

> **Example** , if you have 10 peers ( **1 master** and **9 slave** computing devices), it should be expected that if only the **master folder is online** all other peers obtain the same file versions.

> However, when the **master folder is offline** , and only a few of the peers are online, then they should share between them only the most recent version of files, for whomever has the most recent file versions. As more peers come online, they all look for the **latest and newest file versions between them** , until finally the master folder comes online to update the latest file versions, right?

So what I am getting to is **why is there a need for the “override changes” button** in the first place? Unless the method isn’t AS written above? Then, it seems the method is broken for the synchronization of the latest file versions among the peers with each other?

However, this assumes the goal or main purpose is to **mirror the files** from the master folder. But, maybe the developer intended for **collaboration of files** , instead?

If that is the case, then the method must be designed differently than mirroring. As each receiving peer node might wish to modify the document with new information to redistribute amongst the group.

> So which method is Syncthing designed to do, **mirror** or **collaboration**?

Can it be made for both methods, by selecting a button?

---

<div class="post-metadata">

### Author: ![AudriusButkevicius](https://forum.syncthing.net/user_avatar/forum.syncthing.net/audriusbutkevicius/32/277_2.png) [@AudriusButkevicius](https://forum.syncthing.net/u/AudriusButkevicius)
#### Post date: [February 13, 2015, 1:44pm UTC](https://forum.syncthing.net/t/what-is-the-purpose-of-override-changes-button/1818/7 "2015-02-13T13:44:58Z")

</div>

I’ve explained exactly how it works, what the button does, and why it’s needed. I don’t understand what you don’t understand, because to me it just seems you are asking the same questions again which I have already answered

I have also explained why `update.ver` was out of sync. It seems that you haven’t even read my answer.

Also, if you could keep your questions short, organize them in a set of points rather just a big blob of text which somewhere contains some questions and not repeat them multiple times, you are more likely to get answers.

The main purpose of `master folder` is a read only folder, which never accepts updates from anyone but which can still participate in the exchange with other nodes, that is all it is. Nothing to do with mirror whatever you are talking about. Syncthing without master folder setting enabled on any node is meant for collaboration.

---

<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, 12:57pm UTC](https://forum.syncthing.net/t/what-is-the-purpose-of-override-changes-button/1818/8 "2017-05-12T12:57:40Z")

</div>


