Bug 515777 - incorrect date&time on copy
authorAlexander Larsson <alexl@redhat.com>
Tue, 9 Dec 2008 11:15:36 +0000 (11:15 +0000)
committerAlexander Larsson <alexl@src.gnome.org>
Tue, 9 Dec 2008 11:15:36 +0000 (11:15 +0000)
2008-12-09  Alexander Larsson  <alexl@redhat.com>

Bug 515777 - incorrect date&time on copy

        * glocalfile.c:
        (g_local_file_class_init):
Copy mtime by default

        * gfile.c:
Change docs about G_FILE_COPY_ALL_METADATA to not mention
mtime as an example.

svn path=/trunk/; revision=7738

gio/ChangeLog
gio/gfile.c
gio/glocalfile.c

index b383c25400cf9fb7a3d62b45555a02a8bdda2e19..5a071f26d99da8e2c602609da55615318af29649 100644 (file)
@@ -1,3 +1,15 @@
+2008-12-09  Alexander Larsson  <alexl@redhat.com>
+
+       Bug 515777 - incorrect date&time on copy
+       
+        * glocalfile.c:
+        (g_local_file_class_init):
+       Copy mtime by default
+       
+        * gfile.c:
+       Change docs about G_FILE_COPY_ALL_METADATA to not mention
+       mtime as an example.
+
 2008-12-08  Matthias Clasen  <mclasen@redhat.com>
 
        Bug 558298 – Hide ecryptfs mounts
index bb7f6e1b7461ce1b3741bec2f6363f8db058d467..6ae42090c7fb76503ee7820d49d419b399cd19b6 100644 (file)
@@ -2128,9 +2128,10 @@ build_attribute_list_for_copy (GFileAttributeInfoList *attributes,
  *
  * Normally only a subset of the file attributes are copied,
  * those that are copies in a normal file copy operation
- * (which for instance does not include e.g. mtime). However
+ * (which for instance does not include e.g. owner). However
  * if #G_FILE_COPY_ALL_METADATA is specified in @flags, then
- * all the metadata that is possible to copy is copied.
+ * all the metadata that is possible to copy is copied. This
+ * is useful when implementing move by copy + delete source.
  *
  * Returns: %TRUE if the attributes were copied successfully, %FALSE otherwise.
  **/
index 4d772b461eacc079c9a196eafbd4e7cabd8fa7a1..fad0b70ed7f0c8261ecd4cb77fbd77fca0133946 100644 (file)
@@ -179,11 +179,16 @@ g_local_file_class_init (GLocalFileClass *klass)
   g_file_attribute_info_list_add (list,
                                  G_FILE_ATTRIBUTE_TIME_MODIFIED,
                                  G_FILE_ATTRIBUTE_TYPE_UINT64,
+                                 G_FILE_ATTRIBUTE_INFO_COPY_WITH_FILE |
                                  G_FILE_ATTRIBUTE_INFO_COPY_WHEN_MOVED);
   g_file_attribute_info_list_add (list,
                                  G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC,
                                  G_FILE_ATTRIBUTE_TYPE_UINT32,
+                                 G_FILE_ATTRIBUTE_INFO_COPY_WITH_FILE |
                                  G_FILE_ATTRIBUTE_INFO_COPY_WHEN_MOVED);
+  /* When copying, the target file is accessed. Replicating
+   * the source access time does not make sense in this case.
+   */
   g_file_attribute_info_list_add (list,
                                  G_FILE_ATTRIBUTE_TIME_ACCESS,
                                  G_FILE_ATTRIBUTE_TYPE_UINT64,