Correcting Entries

There are many reasons why you might not enter an entry exactly correctly:

  • you mistype the details on a task entry
  • you realize that a quick interruption is taking a significant amount of time
  • you begin a task entry for a meeting and find it has been delayed
  • you start a task entry for a meeting, only to discover it has been canceled
  • you start working on a new task and then realize that you forgot to enter it

The most general tool for this job is the edit command. This command opens the timelog file in your configured editor and allows you to make any changes. Including editing the text of the task, changing the start time, re-arranging entries or deleting entries.

In many cases, the edit command is too big a hammer for a quick change. The rtimelog program supports a few more targeted commands for manipulating the last task.

Abstract

If we were perfect, there would be no need for these commands. The edit command and the more targetted editing commands are designed to simpify fixing our mistakes. The following sections are focused on fixing particular mistakes.

What if you start a task and decide you won’t do it?

Maybe you start a task for a meeting and it gets cancelled. You can use

   $ rtimelog entry discard

to throw that entry away. If you want to keep a record of the meeting start but not count it in your time reports, you can use the following instead.

   $ rtimelog entry ignore

This command keeps the face that the task was entered, but marks that task as invisible to time tracking.

You accidentally start the task too soon.

I sometimes start the task entry and realize that the activity has not started yet. (Maybe starting a couple of minutes before the meeting actually starts.)

   $ rtimelog entry now

This resets the entry to right now.

You realize that you are working on an activity and did not add an entry.

This happens more than I would like to admit. So, I immediately add a new entry. Then I will want to adjust the time. If I only should have started a few minutes ago, the rewind command allows me to move back a number of minutes.

   $ rtimelog entry rewind 5

On the other hand, if I know the exact time I should have started the task, I would use the was command instead.

   $ rtimelog entry was 9:00

You realize that you forgot to enter a task as you are starting a new one.

I find that forgetting to start a short task is not an unusual occurrence. Unfortunately, I often realize this as I’m starting a new task. The brute force was to handle this would be to add both tasks and then use edit to fix the times afterward.

  $ rtimelog start +Foo @Questions Answer John
  $ rtimelog start +Foo @Admin Create card for reported bug
  $ rtimelog edit

While in the editor, I can now correct the first time entry (maybe setting the time back for the 5 minutes I spent answering John).

You realize that you forgot to enter the previous task as you are starting a new one.

A variation on the previous question would be starting a task and while working on it realize that I forgot to enter the previous one. Let’s say I want to make a card for a bug reported by John.

  $ rtimelog start +Foo @Admin Create card for reported bug

As I finish up that card, I realize that I actually spent 5 minutes talking with John about the issue before creating the card.

  $ rtimelog start +Foo @Questions Answer John
  $ rtimelog edit

Unlike the last time, these events are now out of order. So, in the editor, I’d swap the last two entries and then fix the time for the (now) second-to-last item.

I mistyped the task description when creating an event.

Just as I hit enter while entering a task, I realize that I have misspelled the project name.

  $ rtimelog start +F00 @COde charting code

Obviously, I typed +F00 instead of +Foo, and I also capitalized the O in Code. As a quick fix, I can type:

  $ rtimelog entry rewrite +Foo @Code charting code

This doesn’t change the time, it only rewrites everything from the project to the end of the line.