If you have a task that you want kept during a compact operation,
then edit the task, and go to
the Properties page, and tick the check-box marked "Preserve
During Compact". Selecting this check box means that
everything under this task will be compacted, but it will be
preserved.
You might use this if you use JXCirrus for issue
tracking. You might want all of the issue sub-tasks to
be merged, but the issue itself kept.
It is also possible to set a whole class of tasks to be preserved
using object specs (Diary++ version only).
To do this, set the $<Preserve> variable to "1"
for a spec, and that spec will be preserved during compact
operations. See Specs
under the Preserve variable.
There are three things that prevent an entry from being
compacted:
NOTE: When a task won't be compacted, all of the tasks at the
same level in the tree will be preserved - This is so that the
duration value still adds up to the same amount. See
the example below...
NOTE: Even if a task is preserved, compacting will still clean up
dependencies between tasks.
Before compacting... The entries that are underlined are
marked as "Preserve" (U and M).
A + S + T
+ +
+ + U + V
+ + W
+
+ B + G + H + I
+ +
+ + K + V
+ + L
+
+ C
+
+ D + M + R
+
+ E + N
+ + W
+
+ O + P
+ F + Q
+ G
A + S + T
+ +
+ + U
+
+ B
+
+ C
+
+ D + M
+
+ E
+
+ O