1. A data processing system comprising: one or more processors; one or more non-transitory computer-readable storage media storing sequences of instructions which, when executed by the one or more processors, cause the one or more processors to perform: determining whether first content that is associated with an upstream repository comprises a revision that is absent from second content that is associated with a fork of the first content, wherein the first content comprises a first branch and the second content comprises a second branch, and wherein the first branch corresponds to the second branch; determining whether the second branch in the second content comprises a second revision that is absent from the first branch in the first content, in response to a determination that the first content comprises the revision that is absent from the second content; in response to determining that the second branch of the second content comprises no revision that is absent from the first branch, synchronizing changes to the first branch from the upstream repository to the second branch, without user intervention; in response to determining that the second branch of the second content comprises the second revision that is absent from the first branch in the first content: causing outputting to a computer display device an option to synchronize the second branch of the second content with the first branch in the first content; receiving a selection of the option; in response to the selection of the option, synchronizing the second branch in the second content with the first branch in the first content without user intervention.