git-annex/Utility
Joey Hess d955cfe78a Improve handling on monthly/yearly scheduling.
Code was still buggy, it turns out (though the recursion checker caught
it). In the case of (Schedule (Monthly Nothing) AnyTime), where the last
run was on yyyy-12-31, it looped forever.

Also, the handling of (Schedule (Yearly Nothing) AnyTime) was wacky where
the last run was yyyy-12-31. It would suggest a window starting on the 3rd
for the next run (because 31 mod 28 is 3).

I think that originally I was wanted to avoid running on 01-01 if it had
just run on 12-31. But the code didn't accomplish this, and it's not
necessary anyway. This is supposed to calculate the next window meeting the
schedule, and for (Schedule (Monthly Nothing), the window starts at 01-01
and runs through 01-31. If that causes two back-to-back runs, well the next
one will not be until 02-01 at the earliest.

Also, back-to-back runs can be avoided, if desired, by using Divisible 2.
2014-04-11 21:42:43 -04:00
..
DirWatcher annex.startupscan can be set to false to disable the assistant's startup scan. 2014-03-05 17:44:14 -04:00
Applicative.hs pointlessness 2012-06-29 10:00:05 -04:00
Base64.hs allow to build when sandi is installed (don't use it yet) 2013-11-11 15:42:06 -04:00
Batch.hs typo 2013-12-29 22:40:23 -04:00
CoProcess.hs Avoid looping if long-running git cat-file or git hash-object crashes and keeps crashing when restarted. 2014-01-01 21:42:25 -04:00
CopyFile.hs get rid of __WINDOWS__, use mingw32_HOST_OS 2013-08-02 12:27:32 -04:00
Daemon.hs windows: Fix start for already running daemon 2014-02-13 17:38:56 -04:00
Data.hs clean up some ugly code 2013-09-27 19:52:36 -04:00
DataUnits.hs refactor and unify code 2013-07-19 19:39:14 -04:00
DBus.hs finished where indentation changes 2012-12-13 00:24:19 -04:00
Directory.hs add git annex view command 2014-02-18 18:22:20 -04:00
DirWatcher.hs annex.startupscan can be set to false to disable the assistant's startup scan. 2014-03-05 17:44:14 -04:00
DiskFree.hs add getDiskSize 2014-01-22 22:19:52 -04:00
Dot.hs finished where indentation changes 2012-12-13 00:24:19 -04:00
Env.hs avoid needing a build-dep on hxt for Data.AssocList 2014-01-14 16:42:10 -04:00
Exception.hs clean up some ugly code 2013-09-27 19:52:36 -04:00
ExternalSHA.hs Use cryptohash rather than SHA for hashing. 2013-09-22 20:06:02 -04:00
FileMode.hs windows fix try 2 2014-04-02 18:02:32 -04:00
FileSystemEncoding.hs Windows: Fix some filename encoding bugs. 2014-03-19 15:57:56 -04:00
Format.hs gpg secret keys list parsing 2013-09-16 12:57:39 -04:00
FreeDesktop.hs linux standalone auto-install icons 2013-07-09 20:50:41 -04:00
Glob.hs fix build w/o TDFA 2014-03-04 23:49:46 -04:00
Gpg.hs work around a strance change in gpg behavior; needs a trustdb to exist even when using --trust-model=always 2014-01-07 13:20:07 -04:00
Hash.hs allow building w/o cryptohash 2013-10-03 12:33:38 -04:00
HumanNumber.hs refactor and unify code 2013-07-19 19:39:14 -04:00
HumanTime.hs add webapp UI to manage unused files 2014-01-23 15:09:43 -04:00
InodeCache.hs add, import, assistant: Better preserve the mtime of symlinks, when when adding content that gets deduplicated. 2013-09-25 16:07:11 -04:00
JSONStream.hs whitespace fixes 2012-12-13 00:45:27 -04:00
libdiskfree.c add getDiskSize 2014-01-22 22:19:52 -04:00
libdiskfree.h Renamed diskfree.c to avoid OSX case insensativity bug. 2012-04-13 11:26:39 -04:00
libkqueue.c include sys/types.h 2013-04-24 10:39:52 -04:00
libkqueue.h fix prototype 2012-06-19 01:57:19 -04:00
libmounts.c cleanup 2012-07-19 21:20:38 -04:00
libmounts.h Got removable media mount detection working on Android. 2013-05-04 16:19:25 -04:00
LinuxMkLibs.hs factor out library code (also used by propellor) 2014-04-03 21:25:59 -04:00
LogFile.hs fix all remaining -Wall warnings on Windows 2014-02-25 14:48:50 -04:00
Lsof.hs watcher: Detect at startup time when there is a stale .git/lock, and remove it so it does not interfere with the automatic commits of changed files. 2013-10-03 16:57:21 -04:00
Matcher.hs Added required content configuration. 2014-03-29 16:03:33 -04:00
Metered.hs external special remotes mostly implemented (untested) 2013-12-26 18:23:13 -04:00
Misc.hs use Monoid instance for Ordering 2014-03-09 14:08:45 -04:00
Monad.hs remove *>=> and >=*> ; use <$$> instead 2013-09-27 19:58:48 -04:00
Mounts.hsc avoid warnings when built with ghc 7.6 2013-06-02 15:01:58 -04:00
Network.hs finished where indentation changes 2012-12-13 00:24:19 -04:00
NotificationBroadcaster.hs assistant: Start a new git-annex transferkeys process after a network connection change 2014-01-06 16:03:39 -04:00
OSX.hs squelch warning 2012-11-26 16:29:05 -04:00
Parallel.hs finished where indentation changes 2012-12-13 00:24:19 -04:00
PartialPrelude.hs rename readMaybe to readish 2012-01-23 17:00:10 -04:00
Path.hs fix all remaining -Wall warnings on Windows 2014-02-25 14:48:50 -04:00
Percentage.hs cleanup 2013-07-20 20:56:04 -04:00
PID.hs fix windows build (and make --stop work on windows, incidentially) 2014-02-11 15:25:59 -04:00
PosixFiles.hs tell moveFile to overwrite existing files 2014-01-29 17:19:46 -04:00
Process.hs port transferkeys to windows; make stopping in progress transfers work too (probably) 2013-12-10 23:19:18 -04:00
QuickCheck.hs fix build with QuickCheck 2.7.1 2014-03-20 11:08:40 -04:00
Quvi.hs Probe for quvi version at run time. 2014-02-28 14:54:02 -04:00
Rsync.hs Fix rsync progress parsing in locales that use comma in number display. Closes: #744148 2014-04-10 15:36:51 -04:00
SafeCommand.hs fix syntax 2013-08-02 12:42:14 -04:00
Scheduled.hs Improve handling on monthly/yearly scheduling. 2014-04-11 21:42:43 -04:00
Shell.hs fix use of wrong shebang when android is installing git-annex-shell wrapper on server 2013-05-06 15:58:13 -04:00
SimpleProtocol.hs remotedaemon: avoid extraneous stdout output 2014-04-08 14:02:25 -04:00
SRV.hs fix build with haskell DNS 1.0.0 2013-09-17 11:54:09 -04:00
SshConfig.hs Android: Avoid crashing when unable to set file mode for ssh config file due to Android filesystem horribleness. 2014-02-07 14:57:23 -04:00
Tense.hs finished where indentation changes 2012-12-13 00:24:19 -04:00
ThreadLock.hs reorg 2012-06-17 14:02:40 -04:00
ThreadScheduler.hs clean up warning in windows 2014-04-02 18:08:35 -04:00
TList.hs comment 2014-01-07 17:33:38 -04:00
Tmp.hs change a few renameFile's to rename 2014-01-29 15:21:02 -04:00
Touch.hsc finished where indentation changes 2012-12-13 00:24:19 -04:00
Url.hs avoid exception when curl exits nonzero (due to eg, bad domain name) 2014-03-27 13:01:57 -04:00
UserInfo.hs get rid of __WINDOWS__, use mingw32_HOST_OS 2013-08-02 12:27:32 -04:00
Verifiable.hs finished where indentation changes 2012-12-13 00:24:19 -04:00
WebApp.hs add desktop notifications 2014-03-22 14:12:19 -04:00
WinLock.hs use locking on Windows 2014-01-28 14:42:03 -04:00
winprocess.c windows: Fix process termination code. 2014-02-13 15:53:10 -04:00
WinProcess.hs fix all remaining -Wall warnings on Windows 2014-02-25 14:48:50 -04:00
Yesod.hs switch define used, not android specific 2013-12-18 02:06:15 -04:00