WordPress.org

Make WordPress Core

Opened 4 years ago

Closed 4 years ago

#12150 closed enhancement (fixed)

Improved move method for WP_Filesystem_Direct

Reported by: reaperhulk Owned by: dd32
Milestone: 3.0 Priority: normal
Severity: normal Version:
Component: Filesystem API Keywords: has-patch
Focuses: Cc:

Description

WP_Filesystem_Direct currently uses the copy method to accomplish a move. Ideally it should attempt to use rename() first, then fall back to copy to preserve previous behavior. This handles the failure mode of the source being read only, so the copy succeeds to the new location and then the delete fails silently).

A preliminary patch is attached.

Attachments (2)

rename.patch (275 bytes) - added by reaperhulk 4 years ago.
rename-2.patch (682 bytes) - added by reaperhulk 4 years ago.
svn diff version

Download all attachments as: .zip

Change History (7)

reaperhulk4 years ago

comment:1 reaperhulk4 years ago

  • Keywords has-patch added

comment:2 scribu4 years ago

  • Keywords needs-patch added; has-patch removed
  • Milestone changed from Unassigned to 3.0

Patch looks strange. I can't tell which file it's modifying and where.

Try using 'svn diff'.

reaperhulk4 years ago

svn diff version

comment:3 reaperhulk4 years ago

  • Keywords has-patch added; needs-patch removed

My mistake, I was using just straight diff for it. New patch attached.

comment:4 dd324 years ago

Looks sane enough to me.

Pretty sure copy() needs to be used by the copy method as well.

comment:5 dd324 years ago

  • Resolution set to fixed
  • Status changed from new to closed

(In [13001]) Use rename() if possible in WP_Filesystem_Direct::move(). Props reaperhulk. Fixes #12150

Note: See TracTickets for help on using tickets.