From b044dc2952476b2ad9b525b41be946ae069808f8 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 10 Oct 2012 16:40:15 -0400 Subject: [PATCH] blog for the day --- doc/assistant/repogroups.png | Bin 0 -> 18490 bytes .../day_102__very_high_level_programming.mdwn | 37 ++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 doc/assistant/repogroups.png create mode 100644 doc/design/assistant/blog/day_102__very_high_level_programming.mdwn diff --git a/doc/assistant/repogroups.png b/doc/assistant/repogroups.png new file mode 100644 index 0000000000000000000000000000000000000000..441a75084c16358ea679cbdf3ecfa2aa7bf5e996 GIT binary patch literal 18490 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 LHWw@5u8DsECcy5} literal 0 HcmV?d00001 diff --git a/doc/design/assistant/blog/day_102__very_high_level_programming.mdwn b/doc/design/assistant/blog/day_102__very_high_level_programming.mdwn new file mode 100644 index 0000000000..4e29cc65df --- /dev/null +++ b/doc/design/assistant/blog/day_102__very_high_level_programming.mdwn @@ -0,0 +1,37 @@ +## today + +Came up with four groups of repositories that it makes sense to +define standard preferred content expressions for. + +[[!format haskell """ + preferredContent :: StandardGroup -> String + preferredContent ClientGroup = "exclude=*/archive/*" + preferredContent TransferGroup = "not inallgroup=client and " ++ preferredContent ClientGroup + preferredContent ArchiveGroup = "not copies=archive:1" + preferredContent BackupGroup = "" -- all content is preferred +"""]] + +[[preferred_content]] has the details about these groups, but +as I was writing those three preferred content expressions, +I realized they are some of the highest level programming I've ever done, +in a way. + +Anyway, these make for a very simple repository configuration UI: + +[[!img /assistant/repogroups.png alt="form with simple select box"]] + +## yesterday (forgot to post this) + +Got the assistant honoring preferred content settings. Although so far that +only determines what it transfers. Additional work will be needed to make +content be dropped when it stops being preferred. + +---- + +Added a "configure" link next to each repository on the repository config +page. This will go to a form to allow setting things like repository +descriptions, groups, and preferred content settings. + +---- + +Cut a release.