diff -r 87c86da72fd9 -r 1c3526ca7b9e src/modules/client/history.py --- a/src/modules/client/history.py Tue Sep 30 17:59:56 2008 -0500 +++ b/src/modules/client/history.py Tue Sep 30 19:37:17 2008 -0500 @@ -56,6 +56,9 @@ # Indicates that a transport error caused the operation to fail. RESULT_FAILED_TRANSPORT = ["Failed", "Transport"] +# Operations that are discarded, not saved, when recorded by history. +DISCARDED_OPERATIONS = ["contents", "info", "list"] + class _HistoryOperation(object): """A _HistoryOperation object is a representation of data about an operation that a pkg(5) client has performed. This class is private @@ -192,10 +195,17 @@ elif name == "operation_result": # Record when the operation ended. op.end_time = misc.time_to_timestamp(None) - # Write current history and last operation to a file. - if self.__save(): - # Discard it now that it is no longer needed. - ops.pop() + + # Some operations shouldn't be saved -- they're merely + # included in the stack for completeness or to support + # client functionality. + if op.name not in DISCARDED_OPERATIONS: + # Write current history and last operation to a + # file. + self.__save() + + # Discard it now that it is no longer needed. + ops.pop() def __init__(self, root_dir=".", filename=None): """'root_dir' should be the path of the directory where the