File Conflict Resolution in GNOME Desktop Transfers
When transferring large directory trees in the GNOME desktop environment, file conflicts are managed through the default file manager, GNOME Files (Nautilus), powered by the GVfs (GNOME Virtual File System) backend. This article explains how GNOME detects identical file paths during mass operations, the specific options it presents to the user, how batch operations prevent repeated prompts, and how directory merging is processed.
Conflict Detection and the Resolution Dialog
During a copy or move operation involving nested or large directories, Nautilus monitors destination paths in real time. If an incoming file shares a name and relative path with an existing file, the transfer pauses the conflicting item and triggers a modal conflict resolution window.
The dialog provides side-by-side metadata comparisons to help users make an informed choice, displaying:
- File names and thumbnails (if available).
- File sizes.
- Last modified timestamps.
Available Conflict Actions
Users can resolve each collision using one of three primary actions:
- Skip: The incoming file is ignored, leaving the existing file at the destination untouched.
- Replace: The existing file at the destination is overwritten by the incoming file.
- Rename: The incoming file is preserved alongside
the original file. GNOME automatically appends an incremental suffix
(e.g.,
filename (copy).extorfilename (1).ext) to the incoming item.
Batch Processing with "Apply to All"
To prevent the transfer of thousands of files from becoming unusable due to frequent interruptions, GNOME includes an "Apply this action to all files" checkbox within the conflict dialog.
When checked, the chosen action (Skip, Replace, or Auto-Rename) becomes the default rule for any subsequent collision encountered during that specific transfer task. If unchecked, Nautilus will prompt the user again at the next collision while continuing to transfer non-conflicting files in the background queue.
Directory Merging vs. File Overwrites
GNOME distinguishes between individual file collisions and folder collisions:
- Folder Merging: When an incoming directory matches the name of an existing destination directory, GNOME merges the two folders by default rather than overwriting the entire directory tree. It transfers unique sub-items without prompting.
- File Overwrites Within Folders: Prompts only occur when specific files inside those directories share the same path and name.
Error Handling and Queue Management
File transfers run as asynchronous background jobs represented by a
circular progress pie in the header bar. If a user does not immediately
respond to a conflict prompt, the transfer process waits at the point of
conflict. Recent versions of GNOME Files also support partial undo
functionality via Ctrl+Z, which can reverse non-destructive
transfer steps if an error or unintended overwrite occurs during
directory transfers.