tracker r2843 - in trunk: . src/tracker-indexer



Author: carlosg
Date: Tue Jan 27 13:06:55 2009
New Revision: 2843
URL: http://svn.gnome.org/viewvc/tracker?rev=2843&view=rev

Log:
2009-01-27  Carlos Garnacho  <carlos imendio com>

        * src/tracker-indexer/tracker-indexer.c (item_move): If a file is
        created and then immediately moved to another location. There's a
        chance that the indexer hasn't yet processed the origin file, so the
        move operation fails. In this case, the destination file is indexed
        from scratch (Fixes NB #99035)

Modified:
   trunk/ChangeLog
   trunk/src/tracker-indexer/tracker-indexer.c

Modified: trunk/src/tracker-indexer/tracker-indexer.c
==============================================================================
--- trunk/src/tracker-indexer/tracker-indexer.c	(original)
+++ trunk/src/tracker-indexer/tracker-indexer.c	Tue Jan 27 13:06:55 2009
@@ -1565,8 +1565,21 @@
 						basename,
 						&service_id,
 						NULL)) {
-		g_message ("Source file '%s' not found in database to move", source_path);
+		TrackerModuleMetadata *metadata;
+		gchar *dest_dirname, *dest_basename;
 
+		g_message ("Source file '%s' not found in database to move, indexing '%s' from scratch", source_path, path);
+
+		metadata = tracker_module_file_get_metadata (info->module_file);
+		tracker_file_get_path_and_name (path, &dest_dirname, &dest_basename);
+
+		if (metadata) {
+			item_add_or_update (indexer, info, dest_dirname, dest_basename, metadata);
+			g_object_unref (metadata);
+		}
+
+		g_free (dest_dirname);
+		g_free (dest_basename);
 		g_free (path);
 		g_free (source_path);
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]