Bug 790284

Summary: Allow previously synchronised symlinks to be converted to directories
Product: [Community] PulpDist Reporter: Nick Coghlan <ncoghlan>
Component: Pulp PluginsAssignee: Nick Coghlan <ncoghlan>
Status: CLOSED NEXTRELEASE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: timp
Target Milestone: 0.1.0   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-02-15 02:17:13 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Nick Coghlan 2012-02-14 06:21:58 UTC
Currently, if a symlink exists locally, it can't be replaced by a downloaded directory from the upstream server by the versioned and snapshot tree plugins. On its own rsync won't overwrite the existing local file, and the sync plugins' own attempts to create the local destination directory (before invoking rsync) also fail.

Comment 1 Tim Powers 2012-02-14 07:44:40 UTC
GSv3 needs to faithfully represent the upstream structure. If a directory changes to a symlink or vice versa we need to mirror that in what GSv3 syncs so as not to deviate from what is the canonical source.

Tim

Comment 2 Nick Coghlan 2012-02-15 02:17:13 UTC
OK, the sync algorithms for versioned and snapshot trees have been updated to drop any local files (including symlinks) that correspond to upstream directory names before invoking rsync for those directories.