From 1cde493a58ab024dec474efc3d3aa4d8267734fd Mon Sep 17 00:00:00 2001 From: "Bradley M. Kuhn" Date: Sat, 30 Nov 2013 13:37:44 -0500 Subject: [PATCH] Generate Diary from new events first hack. --- calendar-import.plx | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/calendar-import.plx b/calendar-import.plx index 2aab944..1bed3a5 100644 --- a/calendar-import.plx +++ b/calendar-import.plx @@ -123,6 +123,30 @@ sub read_from_process } } ############################################################################### +sub GenerateDiaryFromNewEvents ($) { + my($config) = @_; + + chdir $config->{gitDir} or DieLog("Unable to change directory to $config->{gitDir}"); + + system($emacsSettings->{gitBinary}, 'checkout', $config->{incomingBranch}); + DieLog("Unable to checkout $config->{incomingBranch} branch in git") unless ($? == 0); + my @gitDiffSummaryOutput = + read_from_process($emacsSettings->{gitBinary}, 'diff-index', $config->{myBranch}); + + my %operations; + foreach my $line (@gitDiffSummaryOutput) { + next if $line ~= /$ENV{USER}/; # Ignore lines that aren't for my calendar. + DieLog("odd line in diff-index output: $line") unless + $line =~ /(A|D|M)\s+(\S+)$/; + my($operation, $file) = ($1, $2); + $operations{$file} = $operation; + } + + foreach my $file (keys %operations) { + HandleProposedEvent($config, $file, $operations{$file}); + } +} +############################################################################### system("/usr/bin/lockfile -r 8 $CALENDAR_LOCK_FILE"); DieLog("Failure to acquire calendar lock on $CALENDAR_LOCK_FILE") unless ($? == 0);