You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: cli/commands/sync/pull/index.md
+8Lines changed: 8 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,6 +30,14 @@ If your local state is invalid, the command will fail unless you use the `--forc
30
30
`--force`
31
31
: Ignore invalid local state
32
32
33
+
`--cleanup-rename-conflicts`
34
+
: Enable cleanup mode for handling rename conflicts. When configurations are renamed in the UI (e.g., in a chain like A→B, C→A), this option removes conflicting destinations to allow the rename to proceed. **Only use this for UI-only workflows** where changes are made exclusively in the Keboola UI and synced down. This option is not needed for normal Git-based development workflows.
When using `--cleanup-rename-conflicts`, conflicting files that block renames will be permanently removed from your local directory. These files cannot be recovered unless they exist in the remote Keboola project. Only use this option when you have no uncommitted local changes and are purely syncing UI modifications.
Copy file name to clipboardExpand all lines: cli/devops-use-cases/index.md
+41Lines changed: 41 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -160,3 +160,44 @@ that can be deployed as a [Data App](https://help.keboola.com/components/data-ap
160
160
This application includes GitHub actions that allow you to manage this scenario. It is expected that users will modify this flow to their needs.
161
161
162
162
To learn about the full use case, please refer to [this blog post](https://www.keboola.com/blog/keboola-dev-prod-lifecycle-via-git), where we describe the workflow in depth.
163
+
164
+
## UI-Only Sync Workflow
165
+
166
+
When working in a purely UI-based workflow where all changes are made in the Keboola user interface and no local development occurs in the Git repository, you may encounter rename conflicts during pull operations.
167
+
168
+
### Rename Conflicts
169
+
170
+
Rename conflicts occur when configurations are renamed in a chain. For example:
171
+
- Configuration A is renamed to B in the UI
172
+
- Configuration C is renamed to A in the UI
173
+
174
+
When pulling these changes, the standard `kbc pull` command will fail because it tries to rename C to A, but A still exists (it hasn't been renamed to B yet in the local operation order).
175
+
176
+
### Using --cleanup-rename-conflicts
177
+
178
+
For UI-only workflows, use the `--cleanup-rename-conflicts` flag:
179
+
180
+
```shell
181
+
kbc pull --cleanup-rename-conflicts
182
+
```
183
+
184
+
This flag enables cleanup mode, which:
185
+
1. Detects when a rename destination already exists
186
+
2. Removes the conflicting destination
187
+
3. Proceeds with the rename operation
188
+
189
+
This is safe for UI-only workflows because there are no uncommitted local changes that could be lost.
Only use `--cleanup-rename-conflicts` when you are working in a purely UI-based workflow with no local development. Files removed during cleanup cannot be recovered unless they exist in the remote Keboola project. If you make local changes to configurations outside of the UI, do not use this flag as it may permanently delete your uncommitted work.
194
+
</div>
195
+
196
+
### When NOT to Use This Flag
197
+
198
+
Do **not** use `--cleanup-rename-conflicts` if:
199
+
- You are making local changes to configurations in your Git repository
200
+
- You are following a Git-based development workflow
201
+
- You have uncommitted local modifications
202
+
203
+
For Git-based development workflows, standard `kbc pull` and `kbc push` operations handle renames correctly without requiring cleanup mode.
0 commit comments