If you have hg (Mercurial) installed on your system then every time you do something in etm that changes a file --- finish a task, create an action or whatever --- then that change is automatically committed using hg. This means that you can recover any data file(s) as of any change you like. Say the relative path in your data directory of the problem file is "shared/sample_datafile.txt". Then cd to your data directory and run

    $ hg log shared/sample_datafile.txt | less

to see the list of the changes to this file and the times they made. If you think the version you would like to recover is sometime between, say, change number 101 and 106 then you can run

    $ hg log shared/sample_datafile.txt -v -p -r 101:106 | less

to see the diffs for the actual changes made by each of these commits. Here is an example of the output

    103   ce5d7a1e2486   2013-02-08 13:01 -0500   Daniel Graham
      replaced lines

    diff -r f70f45768dd0 -r ce5d7a1e2486 shared/sample_datafile.txt
    --- a/shared/sample_datafile.txt        Fri Feb 08 12:53:21 2013 -0500
    +++ b/shared/sample_datafile.txt        Fri Feb 08 13:01:36 2013 -0500
    @@ -22,9 +22,8 @@
     - join the etm discussion group @c computer @t tasks, sample @g
     http://groups.google.com/group/eventandtaskmanager/topics
     - Overdue skip task @s 2013-01-01 @r w &w TH @o s @d This task is
      due every Thursday but past due instances will be skipped.
    -- Overdue restart task @s 2013-02-01 12am @z US/Eastern @d This
     task was due 7 days ago and repeats every 10 days. If finished
     today, it will be due again 10 days from today. @f
     20130208T1253;20130208T0900 @t occasions, sample
    -  @r d &i 10 @o r
    -- Overdue keep task @s 2013-02-01 12am @z US/Eastern @d This task
     was due 7 days ago and repeats every 10 days. If finished today, it
     will be due again 3 days from today. @f 20130208T1253;20130208T0900
    @t occasions, sample
    +- Overdue restart task @s -7 @r d &i 10 @o r @d This task was due 7
     days ago and repeats every 10 days. If finished today, it will be
     due again 10 days from today.
    +- Overdue keep task @s 2013-02-01 12am @z US/Eastern @d This task
     was due 7 days ago and repeats every 10 days. If finished today, it
     will be due again 3 days from today. @f 20130208T1301;20130201T0000
     @t occasions, sample
       @r d &i 10
     * Monday event @s 1 9a @e 1h @r w &w MO @t events, sample
     * Tuesday event @s 1 10a @e 90m @r w &w TU @t events, sample

This output can also be seen within etm by selecting any item from the file and then, in the details view, pressing Ctrl-H to show the history of changes to the file.

Suppose you would like to restore the file as of 102 (before 103). Then, just to be safe, make a backup of the current file

    $ cp shared/sample_datafile.txt shared/sample_datafile.txt.backup

and then restore the file as it existed as of change number 102:

    $ hg revert shared/sample_datafile.txt -r 102

Alternatively, You could redirect the exact contents of the file as of change 102 to a temporary file

    $ hg cat shared/sample_datafile.txt -r 102 > shared/sample_datafile_102.tmp

then open both the current file and the temporary file in an editor and copy and paste whatever you like from the temporary to the current.

These options are possible, of course, only if you have Mercurial installed on your system and then only for changes made within etm and thus automatically committed. If the problem was created outside of etm, then you can still restore the file as of the last change made within etm before the problem occurred.