! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
Restoring non-empty folders spawns a warning about modification/restores fold...
Status:
RESOLVED: FIXED

Comments

Description flocculant 2017-04-28 13:19:05 CEST
Created attachment 7095 
warning screenshot

Empty folders after deleting and restoring from trash works without warning.

Folders with contents are restored AND left in trash, with a warning about modifying.

Have 1.6.11 with patch from 13481 installed locally.
Comment 1 flocculant 2017-04-28 21:54:22 CEST
Retry - this option restores the folder to it's source, but respawns the warning dialogue

Cancel - restores the folder to source

Skip all/Skip - restores the folder to source
Comment 2 vc-01 2017-05-01 19:53:56 CEST
Created attachment 7096 
[PATCH] Allow GIO copy/delete fallback for file restore from Trash

Error message showed on attached the picture is very probably set in gvfsbackendtrash.c:trash_backend_delete()

if (!is_toplevel)
    g_set_error_literal (&error, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED,
        _("Items in the trash may not be modified"));

*Analysis*
This happens when thunar restores file using schemes (e.g. trash:///trasheddir -> file:///restoredir), sets flag G_FILE_COPY_NO_FALLBACK_FOR_MOVE to g_file_move(), then g_file_move() "wants" to fallback to copy/delete because move between different mount points is not supported, and then thunar fallbacks to internal manual copy/delete file by file. Finally trying delete file which is not a top level file in trash:// is not permitted by gvfs (see above).

*Solution*
I don't know why this flag is set globally here for every file move a then thunar internally implements this copy/delete fallback feature.

Hence in this patch, I removed flag G_FILE_COPY_NO_FALLBACK_FOR_MOVE for trash restore operation only. I would also think about adding G_FILE_COPY_ALL_METADATA later. It looks reasonable to me.

In 'pcmanfm' (file manager), flags used in this operations are G_FILE_COPY_NOFOLLOW_SYMLINKS | G_FILE_COPY_ALL_METADATA.

In thunar flags are (were) G_FILE_COPY_NOFOLLOW_SYMLINKS | G_FILE_COPY_NO_FALLBACK_FOR_MOVE.
Comment 3 Git Bot editbugs 2018-02-22 21:41:13 CET
vc-01 referenced this bugreport in commit 92b29110322e27489709ce293b58455884576ca5

Restoring non-empty folders spawns a warning about modification/restores folder and leaves copy in Trash (bug #13535)

https://git.xfce.org/xfce/thunar/commit?id=92b29110322e27489709ce293b58455884576ca5
Comment 4 alexxcons editbugs 2018-02-22 21:48:26 CET
Thanks alot for report and patch! And sorry for the late reply !

@vc-01 
As you suggested, I added G_FILE_COPY_ALL_METADATA.
I as well think it is reasonable to keep all metadata when a file is moved ( AFAIK this flag anyhow only make sense if the copy + delete fallback is used, so before the patch it would have no effect )

Fixed now for thunar master, to be released as 1.8.0
Comment 5 Git Bot editbugs 2018-02-22 22:03:18 CET
vc-01 referenced this bugreport in commit ccc1ea458273eec2e238c34118e4460631349434

Restoring non-empty folders spawns a warning about modification/restores folder and leaves copy in Trash (bug #13535)

https://git.xfce.org/xfce/thunar/commit?id=ccc1ea458273eec2e238c34118e4460631349434
Comment 6 alexxcons editbugs 2018-02-22 22:05:37 CET
As well fixed for xfce-4.12 branch ( will be released in thunar 1.6.15 )

Bug #13535

Reported by:
flocculant
Reported on: 2017-04-28
Last modified on: 2018-10-10

People

Assignee:
Xfce Bug Triage
CC List:
5 users

Version

Version:
1.6.11

Attachments

Additional information