git-annex/Command
Joey Hess 2de50f733a smart commit thread
The commit thread now has access to a channel containing the times of
all uncommitted changes. This lets it be smart about detecting busy times
when a batch job is running (such as rm -rf, or untarring something, etc),
and avoid committing until it's done. While at the same time, instantly
committing one-off changes that the user is going to expect to see
immediately.

I had to use STM to implement the channel, because of
http://hackage.haskell.org/trac/ghc/ticket/4154
While this adds a dependency, I always wanted to use STM, so this actually
makes me happy. ;)

Also happy that shouldCommit is a pure function, so other commit smartness
strategies can easily be played with. Although the current one seems pretty
good.

There is one bug, for some reason it does double commits, every time.
2012-06-10 16:07:48 -04:00
..
Add.hs extend Git.Queue to be able to queue more than simple git commands 2012-06-07 15:19:44 -04:00
AddUnused.hs addunused: New command, the opposite of dropunused, it relinks unused content into the git repository. 2012-05-02 14:59:05 -04:00
AddUrl.hs separate source of content from the filename associated with the key when generating a key 2012-06-05 19:51:03 -04:00
Commit.hs ignore hook exit status 2012-03-14 12:41:00 -04:00
ConfigList.hs set oneshot mode on a per-command basis 2012-02-14 12:40:40 -04:00
Copy.hs rework git check-attr interface 2012-02-13 23:52:21 -04:00
Dead.hs add 2011-12-02 19:22:43 -04:00
Describe.hs lint 2011-11-11 01:52:58 -04:00
Drop.hs hlint 2012-02-16 00:44:51 -04:00
DropKey.hs set oneshot mode on a per-command basis 2012-02-14 12:40:40 -04:00
DropUnused.hs factor out nukeFile 2012-06-06 13:13:13 -04:00
Find.hs fun with symbols 2012-03-17 00:38:40 -04:00
Fix.hs extend Git.Queue to be able to queue more than simple git commands 2012-06-07 15:19:44 -04:00
FromKey.hs extend Git.Queue to be able to queue more than simple git commands 2012-06-07 15:19:44 -04:00
Fsck.hs extend Git.Queue to be able to queue more than simple git commands 2012-06-07 15:19:44 -04:00
Get.hs added ifM and nuked 11 lines of code 2012-03-14 17:43:34 -04:00
Import.hs import: New subcommand, pulls files from a directory outside the annex and adds them 2012-05-31 19:47:18 -04:00
InAnnex.hs set oneshot mode on a per-command basis 2012-02-14 12:40:40 -04:00
Init.hs init: When run in an already initalized repository, and without a description specified, don't delete the old description. 2011-11-12 15:42:52 -04:00
InitRemote.hs initremote: Automatically describe a remote when creating it. 2012-06-07 11:16:48 -04:00
Lock.hs extend Git.Queue to be able to queue more than simple git commands 2012-06-07 15:19:44 -04:00
Log.hs Clean up handling of git directory and git worktree. 2012-05-18 17:03:12 -04:00
Map.hs Clean up handling of git directory and git worktree. 2012-05-18 17:03:12 -04:00
Merge.hs improve alwayscommit=false mode 2012-02-25 16:18:55 -04:00
Migrate.hs separate source of content from the filename associated with the key when generating a key 2012-06-05 19:51:03 -04:00
Move.hs added ifM and nuked 11 lines of code 2012-03-14 17:43:34 -04:00
PreCommit.hs added ifM and nuked 11 lines of code 2012-03-14 17:43:34 -04:00
RecvKey.hs set oneshot mode on a per-command basis 2012-02-14 12:40:40 -04:00
Reinject.hs hlint 2012-02-16 00:44:51 -04:00
ReKey.hs variable name 2012-02-17 00:21:35 -04:00
Semitrust.hs clean up check selection code 2011-10-29 15:19:05 -04:00
SendKey.hs set oneshot mode on a per-command basis 2012-02-14 12:40:40 -04:00
Status.hs percentage library 2012-04-29 17:48:07 -04:00
Sync.hs sync: Show a nicer message if a user tries to sync to a special remote. 2012-05-27 20:55:56 -04:00
Trust.hs clean up check selection code 2011-10-29 15:19:05 -04:00
Unannex.hs Support git's core.sharedRepository configuration 2012-04-21 15:36:52 -04:00
Uninit.hs support all filename encodings with ghc 7.4 2012-02-03 16:23:20 -04:00
Unlock.hs better file mode setting code 2012-04-21 16:01:56 -04:00
Untrust.hs clean up check selection code 2011-10-29 15:19:05 -04:00
Unused.hs Clean up handling of git directory and git worktree. 2012-05-18 17:03:12 -04:00
Upgrade.hs clean up check selection code 2011-10-29 15:19:05 -04:00
Version.hs set oneshot mode on a per-command basis 2012-02-14 12:40:40 -04:00
Watch.hs smart commit thread 2012-06-10 16:07:48 -04:00
Whereis.hs noop 2012-04-21 23:32:33 -04:00