[PATCH 3/3] compact: Provide user with more error feedback

Tomi Ollila tomi.ollila at iki.fi
Sun Oct 20 11:13:16 PDT 2013


On Tue, Oct 15 2013, Ben Gamari <bgamari.foss at gmail.com> wrote:

> Provide instructions on what to do when we couldn't move the compacted
> database into place.
>
> Signed-off-by: Ben Gamari <bgamari.foss at gmail.com>
> ---
>  lib/database.cc | 18 +++++++++++++++++-
>  1 file changed, 17 insertions(+), 1 deletion(-)
>
> diff --git a/lib/database.cc b/lib/database.cc
> index 57c2292..6f9fed1 100644
> --- a/lib/database.cc
> +++ b/lib/database.cc
> @@ -938,7 +938,23 @@ notmuch_database_compact (const char* path,
>      }
>  
>      if (rename(compact_xapian_path, xapian_path)) {
> -	fprintf (stderr, "Error moving compacted database\n");
> +	fprintf (stderr, "Error moving compacted database into place: %s\n", strerror(errno));
> +	fprintf (stderr, "\n");
> +	fprintf (stderr, "Encountered error %s while moving the compacted database,\n",
> +		 strerror(errno));

At this point 'errno' may have changed, so the above error string might not
be the same. Maybe removing the '%s ' part altogether as inserting the part
looks a bit strange...

> +	fprintf (stderr, "\n");
> +	fprintf (stderr, "    %s\n", compact_xapian_path);
> +	fprintf (stderr, "\n");
> +	fprintf (stderr, "to\n");
> +	fprintf (stderr, "\n");
> +	fprintf (stderr, "    %s\n", xapian_path);
> +	fprintf (stderr, "\n");
> +	fprintf (stderr, "Please identify the reason for this and move the compacted database into place manually.\n");
> +	if (backup_path != NULL) {
> +	    fprintf (stderr, "Otherwise, you can revert to the backup database located at,\n");

the commas (,) here and a few lines above looks a bit strange to me. 

> +	    fprintf (stderr, "\n");
> +	    fprintf (stderr, "    %s\n", backup_path);

Maybe saying something how to do this revert would be enlightening to the
user... (i.e. mentioning that backup_path needs to be moved as xapian_path).


> +	}

>  	ret = NOTMUCH_STATUS_FILE_ERROR;
>  	goto DONE;
>      }
> -- 

Tomi


More information about the notmuch mailing list