From fdbd9a6e5321d4803aa5f7fa170570d001ad1fc8 Mon Sep 17 00:00:00 2001 From: Don Armstrong Date: Sat, 4 Nov 2006 09:45:56 +0000 Subject: [PATCH] handle type 8 svn entries --- stodo | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/stodo b/stodo index 2582463..7a3c87c 100755 --- a/stodo +++ b/stodo @@ -118,13 +118,18 @@ if (not -e "$base_dir/.svn") { exit 0; } +if (not -e "$base_dir/.svn/text-base/${tododb_name}.svn-base") { + print "$base_dir/.svn/text-base/${tododb_name}.svn-base doesn't exist, not committing\n" unless $options{quiet}; + exit 0; +} + # Make sure that we can ping the subversion server my $svn_entries_fh = new IO::File "$base_dir/.svn/entries",'r' or die "unable to open $base_dir/.svn/entries: $!"; my $url_type; my $svn_host; while (<$svn_entries_fh>) { - next unless m#^\s+url=\"(http|svn\+ssh|file):///?([^\/]+)#; + next unless m#^(?:\s+url=\")?(http|svn\+ssh|file):///?([^\/]+)#; $url_type = $1; last if $url_type eq 'file'; $svn_host = $2; @@ -134,7 +139,7 @@ if ($ENV{STODO_NO_COMMIT}) { print "Exiting because of STODO_NO_COMMIT env variable\n" unless $options{quiet}; exit 0; } -if (not defined $svn_host and $url_type ne 'file') { +if (not defined $svn_host and (not defined $url_type or $url_type ne 'file')) { die "Was unable to find which host the svn repository is located on"; } if ($url_type ne 'file') { @@ -252,6 +257,9 @@ else { sub fix_content { my ($s) = @_; + if (not ref(${[values %{$s}]}[0]) eq 'HASH') { + $s = {$s->{time} => $s}; + } foreach my $entry (values %{$s}) { if (exists $entry->{content}) { $entry->{content} =~ s/^\s*|\s*$//g; -- 2.39.2