[Bug 191472] Re: Wrong timestamp on files copied over SSH

Bug Watch Updater 191472 at bugs.launchpad.net
Thu Sep 6 21:20:12 UTC 2012


Launchpad has imported 40 comments from the remote bug at
https://bugs.kde.org/show_bug.cgi?id=55804.

If you reply to an imported comment from within Launchpad, your comment
will be sent to the remote bug automatically. Read more about
Launchpad's inter-bugtracker facilities at
https://help.launchpad.net/InterBugTracking.

------------------------------------------------------------------------
On 2003-03-10T18:18:50+00:00 Mi+kde wrote:

Version:

Reply at: https://bugs.launchpad.net/kde-baseapps/+bug/191472/comments/0

------------------------------------------------------------------------
On 2004-01-01T20:55:27+00:00 Adriaan de Groot wrote:

Not FreeBSD specific.

Reply at: https://bugs.launchpad.net/kde-baseapps/+bug/191472/comments/1

------------------------------------------------------------------------
On 2005-09-17T11:00:41+00:00 2-nicolasg wrote:

See also bug #58950 (for tar KIO slave)

Reply at: https://bugs.launchpad.net/kde-baseapps/+bug/191472/comments/2

------------------------------------------------------------------------
On 2005-09-18T02:57:30+00:00 2-nicolasg wrote:

See also bug #89377 (for fish KIO slave)

Reply at: https://bugs.launchpad.net/kde-baseapps/+bug/191472/comments/3

------------------------------------------------------------------------
On 2005-09-18T03:00:27+00:00 2-nicolasg wrote:

See also bug #24443 (remove/copy in Konqy, probably a duplicate)

Reply at: https://bugs.launchpad.net/kde-baseapps/+bug/191472/comments/4

------------------------------------------------------------------------
On 2005-09-18T03:19:04+00:00 2-nicolasg wrote:

See also bug #112375 (media KIO slave)

Reply at: https://bugs.launchpad.net/kde-baseapps/+bug/191472/comments/5

------------------------------------------------------------------------
On 2006-02-27T13:12:00+00:00 David Faure wrote:

#24443 is fixed, i.e. mtime is preserved for local files and directories.
For this bug, let's not forget to preserve mtime with other protocols for both files and dirs (can't be done before KDE4).

Reply at: https://bugs.launchpad.net/kde-baseapps/+bug/191472/comments/6

------------------------------------------------------------------------
On 2006-11-28T02:13:31+00:00 Marco Cimmino wrote:

Any news?

Reply at: https://bugs.launchpad.net/kde-baseapps/+bug/191472/comments/7

------------------------------------------------------------------------
On 2008-03-16T17:31:57+00:00 X-wstephenson wrote:

Ping.  I'm going through the fish:// bugs and
http://bugs.kde.org/show_bug.cgi?id=56213#c11 from David references this
one.  Can we fix this now or is it deferred til KDE5?

Reply at: https://bugs.launchpad.net/kde-
baseapps/+bug/191472/comments/11

------------------------------------------------------------------------
On 2008-03-17T13:40:09+00:00 David Faure wrote:

For all slaves that implement ::copy(), like FTP or FISH, they have to
preserve timestamps on their own using something like

            KDE_struct_stat dest_statbuf;
            if (KDE_stat( _dest_orig.data(), &dest_statbuf ) == 0) {
                struct utimbuf utbuf;
                utbuf.actime = dest_statbuf.st_atime; // access time, unchanged
                utbuf.modtime = dt.toTime_t(); // modification time
                utime( _dest_orig.data(), &utbuf );
            }
(as used unconditionally in kio_file, so it compiles on Windows too)

For other slaves it should work already in KDE 4.

Reply at: https://bugs.launchpad.net/kde-
baseapps/+bug/191472/comments/12

------------------------------------------------------------------------
On 2008-11-10T22:26:54+00:00 Kde-2011-08 wrote:

I can confirm that in Konqueror in KDE 4.1, when files are copied via
ssh from a remote host to local, the file's date is the date that the
original file was created on the remote host. However, if the file is
then copied from local to a different remote host, the new file's date
is today.

In instances where file creation times are critical this is a dataloss
bug, and therefore very severe.

Reply at: https://bugs.launchpad.net/kde-
baseapps/+bug/191472/comments/22

------------------------------------------------------------------------
On 2008-12-04T22:42:51+00:00 Kde-2011-08 wrote:

*** Bug 56213 has been marked as a duplicate of this bug. ***

Reply at: https://bugs.launchpad.net/kde-
baseapps/+bug/191472/comments/23

------------------------------------------------------------------------
On 2009-02-08T19:02:08+00:00 Kde-2011-08 wrote:

*** Bug 56213 has been marked as a duplicate of this bug. ***

Reply at: https://bugs.launchpad.net/kde-
baseapps/+bug/191472/comments/24

------------------------------------------------------------------------
On 2009-02-08T19:17:53+00:00 Thorsten Staerk wrote:

I agree that this is severe. If I MOVE (not copy) files from a fish://
location to local, the time data gets lost as well.

Reply at: https://bugs.launchpad.net/kde-
baseapps/+bug/191472/comments/25

------------------------------------------------------------------------
On 2009-02-11T08:09:40+00:00 Kde-2011-08 wrote:

I just tested Konquerer 3.5.10, Dolphin 1.2 (KDE 4.2), and the system's
cp/mv commands to determine behaviour under different copy/move
circumstances (local->local, local->remote, remote->local). I found that
Dolphin and Konqueror both behaved identically. However, neither of them
behaved consistently from circumstance to circumstance, and none of them
were consistent with the system's cp/mv behaviour!

I made a monospace table here but it looks terrible, so please see the HTML table at this page to see the results of my test:
http://dotancohen.com/eng/bugs_kde_cut_copy_paste.html

As there is no consistency between Konqi/Dolphin's own behaviour, nor
between the behaviour of the cp/mv commands, I feel that this bug should
be addressed quickly. File timestamps mean nothing on KDE systems so
long as this bug is open.

Reply at: https://bugs.launchpad.net/kde-
baseapps/+bug/191472/comments/26

------------------------------------------------------------------------
On 2009-02-11T11:36:52+00:00 David Faure wrote:

The goal of KIO is to emulate cp -a, not cp.
Thanks for the rest of the analysis -- but please be more precise when you say "remote". The implementations of fish, ftp, sftp, and smb are all different and might all need fixing for this (well assuming that they support changing a file's timestamp, which IIRC at least FTP doesn't support).

Reply at: https://bugs.launchpad.net/kde-
baseapps/+bug/191472/comments/27

------------------------------------------------------------------------
On 2009-02-11T11:48:07+00:00 Kde-2011-08 wrote:

Thank you. By "remote" I mean SSH via Konqueror's fish://
pseudoprotocol.

When I have a chance I will test the other protocols and update the
table. I will then report back here. If there is anything else related
that you would like me to triage, just ask.

Reply at: https://bugs.launchpad.net/kde-
baseapps/+bug/191472/comments/28

------------------------------------------------------------------------
On 2009-02-14T14:11:38+00:00 Thorsten Staerk wrote:

When I move 
fish://root@localhost/blah
to 
/tmp/blah
the timestamp gets changed.

When I move
fish://root@localhost/blah
to
fish://root@localhost/tmp/blah
the timestamp does not get changed.

This indicates that the file:// kioslave is the instance that forgets to
set the timestamp in case the file comes from a fish:// location.

Reply at: https://bugs.launchpad.net/kde-
baseapps/+bug/191472/comments/29

------------------------------------------------------------------------
On 2009-02-28T19:41:07+00:00 Thorsten Staerk wrote:

There is a comment in the code:

// TODO set modification time on url.path() somehow
// see FileProtocol::put if using utime() to do that.

see kdebase/runtime/kioslave/fish/fish.cpp

Reply at: https://bugs.launchpad.net/kde-
baseapps/+bug/191472/comments/30

------------------------------------------------------------------------
On 2009-04-26T23:10:21+00:00 Kde-2011-08 wrote:

The sftp put command can have the -P flag used to preserve timestamps
and permissions. Furthermore, bug 56213 states that the command MDTM (or
MTDM?) is supposed to preserve timestamps as well.

I am updating the title of this bug to better describe the issue.
Furthermore, I am changing this from wishlist to bug, because that is
what this is.

For those who need convincing that this is a bug, read on. Others stop
here.

1) Dataloss. I have voice recordings of my daughter as a baby, and
because they were moved with KDE I have lost the dates of those
recordings. Some of them are very sensitive to her age, and not knowing
her age at the time of recording makes the recording worthless. Any kid
will tell you that water is made of hydrogen and oxygen. Hearing a 16
month old say that is precious. Now, I don't remember and don't have the
date to be sure any more.

2) See comment #17 and comment #18

Reply at: https://bugs.launchpad.net/kde-
baseapps/+bug/191472/comments/33

------------------------------------------------------------------------
On 2009-12-02T19:31:27+00:00 Kde-2011-08 wrote:

KDE 4.3.2: Both Konqueror and Dolphin set the timestamp as NOW for files
copied from remote to local over sftp:// protocol.

Reply at: https://bugs.launchpad.net/kde-
baseapps/+bug/191472/comments/34

------------------------------------------------------------------------
On 2009-12-02T19:35:44+00:00 Kde-2011-08 wrote:

Bug 169326 is a possible dupe, with regard to Bluetooth.

Reply at: https://bugs.launchpad.net/kde-
baseapps/+bug/191472/comments/35

------------------------------------------------------------------------
On 2009-12-10T18:28:04+00:00 Frank78ac wrote:

*** Bug 218133 has been marked as a duplicate of this bug. ***

Reply at: https://bugs.launchpad.net/kde-
baseapps/+bug/191472/comments/36

------------------------------------------------------------------------
On 2010-02-01T14:08:14+00:00 David Faure wrote:

Copying from file to sftp preserves the modification time for me.
libssh-0.4.0, kde 4.4.0.

The code that calls sftp_utimes in kio_sftp::put() comes from r1010049, i.e. from the initial rewrite of kio_sftp to use libssh in August 2009.
Ah, that's after 4.3.0 was released, so 4.4 is indeed the first release with this new kio_sftp.

-> FIXED for kio_sftp.

No idea how to fix for kio_fish, I don't know the protocol.

Reply at: https://bugs.launchpad.net/kde-
baseapps/+bug/191472/comments/37

------------------------------------------------------------------------
On 2010-02-01T14:34:45+00:00 Kde-2011-08 wrote:

On my 4.3.5 machine, all operations via SFTP result in NOW timestamp for
both Modified and Accessed time:

* Copy/Paste
- local->remote: Modified NOW Accessed NOW
- remote->local: Modified NOW Accessed NOW

*Cut/Paste
- local->remote: Modified NOW Accessed NOW
- remote->local: Modified NOW Accessed NOW


I will fire up a 4.4 prerelease version and test there.

Reply at: https://bugs.launchpad.net/kde-
baseapps/+bug/191472/comments/38

------------------------------------------------------------------------
On 2010-02-01T15:45:25+00:00 Kde-2011-08 wrote:

Tested on Kubuntu 9.10 with KDE SC 4.4 RC2, libssh-4 0.4.0, connected
via SFTP in Dolphin and using the mouse:

* Copy/Paste
- local->remote: Modified THEN Accessed NOW
- remote->local: Modified THEN Accessed NOW

* Cut/Paste
- local->remote: Modified NOW Accessed NOW
- remote->local: Modified NOW Accessed NOW

That is the exact _opposite_ of what one would expect to find.
Copy/Paste should be NOW as the user is creating a new file. Cut/Paste
should be THEN as the user is merely moving a file form one place to
another. In fact, the Copy/Paste operation should be optionally THEN as
I can think of quite a few use cases for that.

Reply at: https://bugs.launchpad.net/kde-
baseapps/+bug/191472/comments/39

------------------------------------------------------------------------
On 2010-02-01T16:56:11+00:00 David Faure wrote:

I agree, moving a file should preserve its mtime, I'll take a look at
that. Surprising...

But I disagree that copying a file should change its mtime; this is what this whole report is about, preserving the mtime on copy ;-)
You didn't create a new file from scratch or modify a file, this is a copy of a file that was modified long ago. Well you seem to hint at that too, but I don't see a use case for making it optional. The goal is to always preserve the mtime.

Reply at: https://bugs.launchpad.net/kde-
baseapps/+bug/191472/comments/40

------------------------------------------------------------------------
On 2010-02-01T17:13:31+00:00 Kde-2011-08 wrote:

> But I disagree that copying a file should change its mtime; this is what
> this whole report is about, preserving the mtime on copy ;-)

No, the report is that the mtime is wrong. As per the common unix tool
cp, mtime is NOW. That is in contrst to mv, which uses THEN.

However, I have no problem with the mtime on copied files being THEN.
The critical issue is that the mtime on a moved file should never be
NOW. If you make both move and copy operations THEN, then I agree that
this long-standing dataloss bug can finally be closed! Thanks!

Reply at: https://bugs.launchpad.net/kde-
baseapps/+bug/191472/comments/41

------------------------------------------------------------------------
On 2010-02-02T18:13:05+00:00 Mi+kde wrote:

As the original reporter, I'd like to opine, that the mtime should
always be preserved -- whether the operation is move (rename), or copy
(the equivalent of `cp -p').

There are other timestamps maintained by the filesystem, from which the
time of copying (or moving) can be discerned, if needed. But, if the two
files are identical (one is the copy of the other), the timestamps on
them should be identical too -- copying does not modify the file, even
if `cp' (without the `-p' flag) thinks, that it does...

BTW, on certain filesystems, such as FreeBSD's default FFS, there are
also flags (such as append-only, no-dump, undeletable, etc.), which
should be preserved too, whenever possible.

Reply at: https://bugs.launchpad.net/kde-
baseapps/+bug/191472/comments/42

------------------------------------------------------------------------
On 2010-02-02T23:47:14+00:00 David Faure wrote:

Dotan: KDE emulates cp -a, not cp, by choice.

Back to the bug: I confirm that kde-mv loses the mtime. Testcase for
fast bug reproduction:

touch -r /boot /tmp/myfile ; kde-mv /tmp/myfile
sftp://localhost/$HOME/tmp ; ll ~/tmp/myfile

Debugging now.

Reply at: https://bugs.launchpad.net/kde-
baseapps/+bug/191472/comments/43

------------------------------------------------------------------------
On 2010-02-02T23:48:17+00:00 David Faure wrote:

SVN commit 1084346 by dfaure:

Preserve modification time when moving files [and when the kioslave's put() supports it, like kio_sftp, but unlike kio_fish]
This was already working for copying, but not for moving (across protocols).
Fixed for: 4.4.0, hopefully
CCBUG: 55804


 M  +4 -0      copyjob.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1084346

Reply at: https://bugs.launchpad.net/kde-
baseapps/+bug/191472/comments/44

------------------------------------------------------------------------
On 2010-02-02T23:54:46+00:00 David Faure wrote:

This commit also fixed  kde-mv from fish to local.

Only kde-mv/kde-cp from local to fish is still broken, due to the not
implemented use of "modificationtime" in fish's put(). Reassigning.

Reply at: https://bugs.launchpad.net/kde-
baseapps/+bug/191472/comments/45

------------------------------------------------------------------------
On 2010-02-03T00:05:28+00:00 Kde-2011-08 wrote:

Thank you David! This bug was a showstopper for me, I cannot wait to get
this on production systems. Thanks!

Reply at: https://bugs.launchpad.net/kde-
baseapps/+bug/191472/comments/46

------------------------------------------------------------------------
On 2010-03-06T23:24:30+00:00 Kde-2011-08 wrote:

Has there been any progress for local to fish? I don't mean to push, but
I would like to see the issue resolved :)

Thanks!

Reply at: https://bugs.launchpad.net/kde-
baseapps/+bug/191472/comments/47

------------------------------------------------------------------------
On 2010-11-06T18:59:43+00:00 Kde-2011-08 wrote:

I'm not sure if this is a new issue or not, so I'll ask:
In KDE 4.5.1 it turns out that copying (copy-paste) from remote to local via FTP in Dolphin gives a timestamp of NOW. Is that this same issue, or should I file another issue?

Thanks.

Reply at: https://bugs.launchpad.net/kde-
baseapps/+bug/191472/comments/48

------------------------------------------------------------------------
On 2012-09-06T06:34:59+00:00 D-nl-k wrote:

How comes that a 9 year old bug is not fixed? 
Are the kiddies too busy programming wobbling windows and other nonsense stuff?
It's a shame.
Solution suggest: If ther's no one smart enough to program a working sftp in the KDE team why not just utilise the working scp that comes with any Linux distribution? No need to re invent the wheel.

Reply at: https://bugs.launchpad.net/kde-
baseapps/+bug/191472/comments/49

------------------------------------------------------------------------
On 2012-09-06T10:23:23+00:00 Christoph-maxiom wrote:

Paul, that sounds like a suggestion you could try. Please add the patch
to reviewboard.

Reply at: https://bugs.launchpad.net/kde-
baseapps/+bug/191472/comments/50

------------------------------------------------------------------------
On 2012-09-06T12:50:59+00:00 David Faure wrote:

Hmm? This bug is already fixed for kio_sftp, see comment #30.

Reply at: https://bugs.launchpad.net/kde-
baseapps/+bug/191472/comments/51

------------------------------------------------------------------------
On 2012-09-06T13:18:05+00:00 Kde-2011-08 wrote:

Hi David. This bug is not resolved for uploading local files to remote
servers via the fish:// pseudo-protocol, see comment 33. This actually
just bit me this week and got someone very mad at me! Paul, do you also
go by another name and live in Beersheba? :)

As for comment 34 (remote to local via FTP in Dolphin) I'll have to
triage a bit later when I have access to an FTP server. I'll also test
via SSH to be complete.

Reply at: https://bugs.launchpad.net/kde-
baseapps/+bug/191472/comments/52

------------------------------------------------------------------------
On 2012-09-06T16:42:32+00:00 D-nl-k wrote:

As far as I can say neither upload nor download is fixed (tried sftp with konqueror and krusader under Kubuntu precise). It's a real showstopper as no directory sync is possible that way. One can copy back and forth 'till eternity.
Christoph, if I was able to provide a patch I would have done years before. Unfortunately I'm not in Linux development, just some perl. 
...and no, Dotan. I don't even know what Beersheba is.

Reply at: https://bugs.launchpad.net/kde-
baseapps/+bug/191472/comments/53

-- 
You received this bug notification because you are a member of Kubuntu
Bugs, which is subscribed to kde4libs in Ubuntu.
https://bugs.launchpad.net/bugs/191472

Title:
  Wrong timestamp on files copied over SSH

To manage notifications about this bug go to:
https://bugs.launchpad.net/kde-baseapps/+bug/191472/+subscriptions




More information about the kubuntu-bugs mailing list