Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master

Apr 19, 2010

  1. Jeff King

    clock: allow custom commit messages for edits

    Clocking in and out are fairly self-explanatory. But edits
    generally require a message explaining why the usual cycle
    was broken.
  2. Jeff King

    clock: refactor command-specific logic

    Until now, the only interesting property of a command was
    whether it was a mutator. However, that will change in the
    next commit. Restructure the code to handle other

Feb 02, 2010

  1. Jeff King

    clock: respect TIMECARD_HOME for data location

    Besides simply allowing alternate locations, it allows you
    to keep multiple timecards using aliases.

Dec 15, 2009

  1. Jeff King


    Recent mfm now has this as a module.

Dec 14, 2009

  1. Jeff King


    The 'caseless' branch of mfm is now configurable; we need to
    actually tell it we want the alternate lib directory.

Nov 12, 2009

  1. Jeff King

    convert MFM infrastructure to caseless branch

    This should allow building on case-insensitive filesystems.

Nov 06, 2009

  1. Jeff King

    TimeSlot: make sure comments always exists

    When reading a slot with no comments from a file, we left
    the 'comments' field undefined, when it should have been an
    empty array ref. This could lead to a run-time perl error.
    Hurray for Perl.

Nov 05, 2009

  1. Jeff King

    show inprogress duration for timecard summary

    It is nice for double-checking that you have been punched in
    a reasonable amount of time. It's also a nice motivator to
    see it going up.
  2. Jeff King

    refactor "hours" printing

    This gives us a helper function as part of
    DateTime::Duration. It is perhaps a bit ugly to be adding
    methods onto somebody else's object, but it makes the usage
    much nicer.
  3. Jeff King

    add README

  4. Jeff King

    add 'clock' script

    This wraps the timecard program to provide a
    pseudo-"distributed" timecard. We use a git repository to
    push and pull changes from a central location, which should
    notice any problems with multiple simultaneous updates
    (though it will do nothing but just barf and let you fix up
    the result yourself, so you do need to be at least a little
    bit git-competent).
  5. Jeff King

    respect TIMECARD environment variable

    This lets you use a different timecard than the default, in
    preparation for putting the file into a repository
  6. Jeff King

    rename 'clock' to 'timecard'

    I want the clock script to do more things that aren't really
    timecard-specific, so let's fork off that bit of
    functionality into its own script. Arguably, timecard is a
    better name, anyway.

Nov 02, 2009

  1. Jeff King

    make "clock" without arguments meaningful

    It just shows whether you're punched in or not. Handy if you
    think you might have forgotten.

Oct 21, 2009

  1. Jeff King

    add 'list' subcommand

    The 'sum' subcommand will tell you the total hours, but
    sometimes it is nice to see a breakdown by task cluster of
    what actually happened.
  2. Jeff King

    detect backwards time

    It is easy when crossing day boundaries to change a time,
    but not a day, and then end up ending a task half a day
    before it started. Let's flag this error instead of just
    producing a totally bogus duration.
  3. Jeff King

    fix bug with summing inprogress times

    This caused a perl exception. The problem was that we were
    feeding a string time for 'now' into a DateTime::Duration
  4. Jeff King

    add 'comment' subcommand

    Handy for updating the entry as you do tasks, rather than
    remembering at the end when you clock out.
  5. Jeff King

    TimeCard: factor out method for current open timeslot

    This will be handy for other things that modify the open
    slot, like a 'comment' command.
  6. Jeff King

    fix bug with missing output comments

    Doing "clock out foo" would fail to write out the "foo"
    comment.  This was caused by a typo in the hash element
    name. Huzzah for dynamic structs!

Oct 15, 2009

  1. Jeff King

    add 'sum' subcommand

    This actually tallies up a timecard. Handy for submitting
  2. Jeff King

    initial commit of clock

    This is a very simple timekeeper program. It stores time
    slots in a text file, and is only moderately less work than
    editing the file by hand. You can do:
      $ clock in some comments on what you are doing
      $ clock out some more comments if you want
Something went wrong with that request. Please try again.