View Issue Details

IDProjectCategoryView StatusLast Update
0002420Far ManagerCopy/Movepublic2013-08-22 22:22
ReporterArty Assigned To2useven10  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Platformx64OSWindowsOS Version8
Product Version3.0 
Summary0002420: Проблема при перемещении файлов с временной панели по относительным путям
DescriptionПри перемещении файлов с временной панели по относительным путям неправильно учитывается каталог назначения.
Steps To Reproduce1. На временной панели имеем файлы:
E:\Temp\test\1\aaa\test1.txt
E:\Temp\test\2\bbb\test2.txt
E:\Temp\test\3\ccc\test3.txt
2. Выбираем первый файл
3. Жмём F6 и вводим ..\ и Enter, файл исчезает с временной панели
4. Выбираем следующий файл и повторяем пункт 3
5. Все файлы оказываются в одном из ранее посещенных каталогов (текущей сессии FAR)
TagsNo tags attached.
Build3609

Relationships

parent of 0002435 closed2useven10 При копировании файлов в директорию рядом с ней создается новая директория. 
parent of 0002437 closed2useven10 Copy/Move on a mapped drive doesn't work in nightly 
parent of 0002438 closed2useven10 Копирование по Shift+F5 из Directory Junction работает некорректно 

Activities

JohnDoe

2013-05-31 15:07

updater   bugnote:0011058

Вы не указали какое поведение вы в данном случае считаете более правильным.

Сейчас файлы перемещаются относительно "текущей" папки.
(У меня есть анси плагины, какая папка будет "текущей" без них - я не проверял.)

2useven10

2013-05-31 15:07

developer   bugnote:0011059

не понял ничего...
опишите, что по вашему мнению должно быть, и что происходит на самом деле.

Arty

2013-05-31 15:25

reporter   bugnote:0011060

Last edited: 2013-05-31 15:31

Файлы находятся на временной панели:
E:\Temp\test\1\aaa\test1.txt
E:\Temp\test\2\bbb\test2.txt
E:\Temp\test\3\ccc\test3.txt
перемещая каждый из них по относительному пути, я ожидаю, что относительный путь будет вычисляться из пути перемещаемого файла, а не какой-то "текущей" папки.
т.е. после операции перемещения каждого файла в "..\" должно получиться:
E:\Temp\test\1\test1.txt
E:\Temp\test\2\test2.txt
E:\Temp\test\3\test3.txt
сейчас же все файлы окажутся в какой-то одной "текущей" папке, например:
E:\Temp\test1.txt
E:\Temp\test2.txt
E:\Temp\test3.txt

JohnDoe

2013-05-31 15:27

updater   bugnote:0011061

Как быть если вы перемещаете несколько выделенных файлов?

Arty

2013-05-31 15:31

reporter   bugnote:0011063

в ситуации с несколькими выделенными файлами ИМХО путь также должен вычисляться для каждого файла отдельно. Ведь это же относительные пути, а не абсолютные, как получается в текущем варианте.

2useven10

2013-05-31 16:25

developer   bugnote:0011064

имхо - в морг.
пишите макросы.

JohnDoe

2013-06-04 14:30

updater   bugnote:0011088

Макросы это конечно хорошо, но хотелось бы обойтись тут метасимволами.
(Сейчас такое не сработает)

2useven10

2013-06-05 02:19

developer   bugnote:0011094

!\!.!\..\..\

JohnDoe

2013-06-05 10:44

updater   bugnote:0011096

Ого...
Но даже таким кандибобером не работает

2useven10

2013-06-05 11:09

developer   bugnote:0011097

Last edited: 2013-06-05 11:09

работает.
CtrlG
move "!\!.!" "!\!.!\..\..\"

JohnDoe

2013-06-05 15:35

updater   bugnote:0011098

Подводя итоги.
Проблема, заявленная в тикете - не баг, соответственно тикет можно закрывать.

Но определённые проблемы (заслуживающие отдельных тикетов) есть:
1. При работе с временной панелью метасимвол "!\" работает неправильно (или это фича такая?)
2. Обработка относительных путей фаром отличается от обработки cmd

2useven10

2013-06-05 17:58

developer   bugnote:0011102

Last edited: 2013-06-05 17:59

1) !\ - это текущий каталог панели, а не файла под курсором.
в случае с временной панелью, в чистом виде правильнее всего было бы считать его неопределённым. !.! для временной панели - полный путь, !\!.! для временной панели равен !.! (немного ии, чтобы можно было во многих случаях работать с временной панелью также как с обычной).
2) у cmd всегда один текущий каталог, и все текущие объекты находятся в этом каталоге, так что сравнивать его с фаром в этом случае бессмысленно.

JohnDoe

2013-06-05 18:09

updater   bugnote:0011103

1) " !\ - это текущий каталог панели, а не файла под курсором."
По факту это именно каталог файла ПОД КУРСОРОМ, разве нет?
CtrlG echo !\

Проблема лишь в том, что при групповой обработке этот каталог остаётся постоянным.
Применение этому есть вообще?

JohnDoe

2013-06-05 18:10

updater   bugnote:0011104

2) Нет никакой разницы в одной папке находятся файлы или в разных.
Речь о том, как разворачивается относительный путь ОДНОГО файла при move (cmd) и при F6 (фар)

2useven10

2013-06-05 19:14

developer   bugnote:0011105

Last edited: 2013-06-05 19:36

. .. у move (cmd) в общем случае никак не связан с путём перемещаемого файла.
с:\john\doe> move d:\vasia\pupkin\file.txt ..\

JohnDoe

2013-06-05 19:34

updater   bugnote:0011106

По второму пункту я был сильно не прав, пытался использовать метасимволы там где они не поддерживаются

2useven10

2013-06-06 10:25

developer   bugnote:0011109

да...
копирование/перемещение это такие дебри.
там туча кода, который совершенно не рассчитан на то, что источники могут находится в разных каталогах (а тем более на разных дисках).

по этому тикету -- похоже, что желаемое поведение для move достигается указанием ".." в качестве директории назначения (без слеша в конце).
с copy этот фокус скорее всего не пройдёт.

2useven10

2013-06-06 12:07

developer   bugnote:0011110

лучше бы конечно адаптировать код для корректной работы с tmppanel,
но очень уж всё кучеряво, запросто можно что-нибудь другое поломать.

2useven10

2013-06-25 16:29

developer   bugnote:0011196

3475
проверяем. затронуто копирование, всякое может быть...

2useven10

2013-06-27 04:44

developer   bugnote:0011204

3478

2useven10

2013-06-27 17:15

developer   bugnote:0011207

3479 -- фикс для описаний файлов

Smitis

2013-06-27 20:19

reporter   bugnote:0011208

При переименовании файла ShiftF6 курсор не перемещается вслед за файлом.

Px

2013-06-28 11:23

reporter   bugnote:0011211

"По факту это именно каталог файла ПОД КУРСОРОМ, разве нет?
CtrlG echo !\

Проблема лишь в том, что при групповой обработке этот каталог остаётся постоянным.
Применение этому есть вообще?"
Вообще - есть, берём пачку файлов cdimage.wav в подкаталогах, хотим их сжать в один заход, пихаем на временную панель, вызываем Ctrl+G, вводим команду, смотрим на результат - один файл в последней папке (переписанный несколько раз). Или берём пачку jpg в подкаталогах, которые хотим пакетно обработать консольной утилитой, результат понятен, я думаю )
Заводить отдельный тикет?

2useven10

2013-06-28 13:20

developer   bugnote:0011216

Smitis -- 3481

Px -- ничего не понял, можно попроще о том,
какой результат понятен и о чём предполагаемый новый тикет ?

Px

2013-06-28 13:35

reporter   bugnote:0011217

У нас есть папка 1, в ней подпапки 2 и 3, в каждой из которых лежит по файлу 1.ape (разных, если что). Находясь в папке 1 я делаю поиск по *.ape, результаты помещаю на временную панель, выделяю, нажимаю Ctrl+G, использую
M:\Work\Soft\Audio\ape\MAC.exe "!\!.!" "!\!.wav" -d
Результат: вызванные команды
M:\Work\Soft\Audio\ape\MAC.exe "M:\1\2\1.ape" "1.wav" -d
M:\Work\Soft\Audio\ape\MAC.exe "M:\1\3\1.ape" "1.wav" -d
На выходе один файл в M:\1\3\1.wav (последней папке, в которой был найден подходящий файл) вместо двух каждый в своей папке

2useven10

2013-06-28 13:48

developer   bugnote:0011218

можно сделать так:
M:\Work\Soft\Audio\ape\MAC.exe "!\!.!" "!\!.!\..\!.wav" -d

выгдядит, как набор закорючек,
но должно работать и для временой и для обычной панели

Px

2013-06-28 13:59

reporter   bugnote:0011219

Как костыль подойдёт, лучше бы оно работало сразу правильно :)

alexy

2013-08-22 12:16

administrator   bugnote:0011346

Это уже можно закрывать или как?

2useven10

2013-08-22 12:28

developer   bugnote:0011350

имхо - можно, ошибки вроде перестали отсюда вылезать.
но вообще неплохо бы автору отписаться...

Arty

2013-08-22 19:32

reporter   bugnote:0011353

Можно закрывать.

Issue History

Date Modified Username Field Change
2013-05-31 10:34 Arty New Issue
2013-05-31 15:07 JohnDoe Note Added: 0011058
2013-05-31 15:07 2useven10 Note Added: 0011059
2013-05-31 15:25 Arty Note Added: 0011060
2013-05-31 15:26 Arty Note Edited: 0011060
2013-05-31 15:27 JohnDoe Note Added: 0011061
2013-05-31 15:31 Arty Note Added: 0011063
2013-05-31 15:31 Arty Note Edited: 0011060
2013-05-31 16:25 2useven10 Note Added: 0011064
2013-06-04 14:30 JohnDoe Note Added: 0011088
2013-06-05 02:19 2useven10 Note Added: 0011094
2013-06-05 10:44 JohnDoe Note Added: 0011096
2013-06-05 11:09 2useven10 Note Added: 0011097
2013-06-05 11:09 2useven10 Note Edited: 0011097
2013-06-05 15:35 JohnDoe Note Added: 0011098
2013-06-05 17:58 2useven10 Note Added: 0011102
2013-06-05 17:59 2useven10 Note Edited: 0011102
2013-06-05 18:09 JohnDoe Note Added: 0011103
2013-06-05 18:10 JohnDoe Note Added: 0011104
2013-06-05 19:14 2useven10 Note Added: 0011105
2013-06-05 19:34 JohnDoe Note Added: 0011106
2013-06-05 19:36 2useven10 Note Edited: 0011105
2013-06-06 10:25 2useven10 Note Added: 0011109
2013-06-06 12:07 2useven10 Note Added: 0011110
2013-06-06 12:44 2useven10 Assigned To => 2useven10
2013-06-06 12:44 2useven10 Status new => assigned
2013-06-25 16:29 2useven10 Note Added: 0011196
2013-06-25 16:29 2useven10 Status assigned => feedback
2013-06-27 04:28 2useven10 Relationship added parent of 0002435
2013-06-27 04:44 2useven10 Note Added: 0011204
2013-06-27 17:15 2useven10 Note Added: 0011207
2013-06-27 20:19 Smitis Note Added: 0011208
2013-06-28 11:23 Px Note Added: 0011211
2013-06-28 12:16 2useven10 Relationship added parent of 0002437
2013-06-28 12:27 2useven10 Relationship added parent of 0002438
2013-06-28 13:20 2useven10 Note Added: 0011216
2013-06-28 13:35 Px Note Added: 0011217
2013-06-28 13:48 2useven10 Note Added: 0011218
2013-06-28 13:59 Px Note Added: 0011219
2013-08-22 12:16 alexy Note Added: 0011346
2013-08-22 12:28 2useven10 Note Added: 0011350
2013-08-22 19:32 Arty Note Added: 0011353
2013-08-22 19:32 Arty Status feedback => assigned
2013-08-22 19:32 Arty Status assigned => resolved
2013-08-22 22:22 2useven10 Build => 3609
2013-08-22 22:22 2useven10 Status resolved => closed
2013-08-22 22:22 2useven10 Resolution open => fixed