Catch-up commits in Source Control
Learn more about how Retool uses catch-up commits and how to disable them.
In order to keep your branch up to date, Retool sometimes creates an automatic commit, called a catch-up commit, which keeps your branches up to date with the main
branch. The commit has the following message:
This commit is automatically generated by Retool to update the current branch. You don't need to be concerned about it.
Example scenario
The following scenario shows an example of when a catch-up commit is necessary:
- Joe creates a branch
BranchA
in source control and edits a componentTextInput1
. - In a different branch
BranchB
, Emma editsChart1
, and the changes are merged to themain
branch. - Joe opens
Chart1
onBranchA
for the first time. - Retool creates a catch-up commit on
BranchA
that contains Emma's changes toChart1
.
In step 3 of this example, BranchA does not contain changes to Chart1
that were made by Emma on BranchB
and merged to the main
branch. If the Joe continues to edit without the catch-up commit, he would see the app in an outdated state, and he would encounter merge conflicts when merging BranchA
with main
.
In a traditional software development process, this process is handled with a git rebase
. Retool does not support rebasing, and instead performs a git cherry-pick
to introduce the changes from main
with an auto-generated commit.
Disabling catch-up commits
If you want to ensure that developers in your organization retain complete control of changes within their feature branches, you can disable catch-up commits using the following steps:
If you disable catch-up commits, users in your organization must manually, outside of Retool, rebase their branch and resolve conflicts in order to keep their branch up to date.
- Navigate to Settings > Beta and toggle on Show disable auto catch up commits setting.
- Navigate to Settings > Source Control and click the Edit Settings button on the top right.
- Toggle on the Disable auto catch up commits setting.
Avoiding merge control issues
To avoid issues with catch-up commits and other merge control mechanisms, refer to Retool's Merge conflict prevention strategies.