| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | {now} is the start of the run, as the spec always said | Lukasz Kasprzak | 44 hours | 1 | -2/+3 |
| | | | | | | | | | | | | | | The clock was read once per directory, so a run of several directories stamped several different times - and a review that took a few seconds could put one run's files into two folders, or at midnight two dates. The spec (§7.3) says "the start of the run"; krino.conf(5) documented the behaviour rather than the intent, so the two contradicted each other. The session now carries the run's clock and every directory plans with it. Engine.Plan keeps its meaning for a caller with no session of its own; Session.Plan passes the run's own start. | ||||
| * | a duplicate test in an exclude protects like one in a rule | Lukasz Kasprzak | 44 hours | 1 | -3/+7 |
| | | | | | | | | | | | | | The scopes that drive "no rule deletes a file krino found to be a duplicate" were collected from rules only. A directory whose duplicate tests lived in (exclude ...) forms had no scopes at all, so the protection never engaged: krino explain said "yes duplicate" and the next rule permanently deleted every copy. The README's promise was false in that shape, and the spec's wording permitted it. What matters is what krino knows, not which form taught it. The spec and krino.conf(5) now say so too. | ||||
| * | gui: conditions as a nested tree, and a way to add a directory | Lukasz Kasprzak | 47 hours | 1 | -3/+20 |
| | | |||||
| * | gui: name the other copy of a duplicate, and offer to keep this one instead | Lukasz Kasprzak | 48 hours | 1 | -2/+10 |
| | | |||||
| * | gui: sort the plan by name, size, age, action or rule | Lukasz Kasprzak | 2 days | 1 | -1/+5 |
| | | |||||
| * | gui: size and age columns, column toggles, readable colours, a laid-out ↵ | Lukasz Kasprzak | 2 days | 1 | -6/+10 |
| | | | | | explanation | ||||
| * | gui: keep every divider where it is put, and let the columns shrink | Lukasz Kasprzak | 2 days | 1 | -3/+4 |
| | | |||||
| * | gui: aligned columns, theme colours, a second layout, and a scan-selection ↵ | Lukasz Kasprzak | 2 days | 1 | -5/+8 |
| | | | | | setting | ||||
| * | gui: coloured actions with headers, a filter over the plan, bulk trash or delete | Lukasz Kasprzak | 2 days | 1 | -5/+19 |
| | | |||||
| * | gui: the preview is as big as you drag it, and PDFs render to suit | Lukasz Kasprzak | 2 days | 1 | -4/+8 |
| | | |||||
| * | gui: a rendered PDF page per file, and Settings in the top right | Lukasz Kasprzak | 2 days | 1 | -1/+1 |
| | | |||||
| * | gui: syntax colours, a file preview, and a settings window | Lukasz Kasprzak | 2 days | 1 | -10/+40 |
| | | |||||
| * | krino-gui(1), README and changelog for 0.0.10v0.0.10 | Lukasz Kasprzak | 3 days | 1 | -0/+136 |
| | | |||||
| * | krino.conf(5): check passes, stop-rule listing, UTF-16 text, uncounted ↵ | Lukasz Kasprzak | 3 days | 1 | -9/+16 |
| | | | | | subdirectories | ||||
| * | check refuses an empty time format; krino.conf(5) corrected from the re-audit | Lukasz Kasprzak | 3 days | 1 | -45/+85 |
| | | |||||
| * | krino.conf(5): WRITING RULES guide; reference corrected against the code | Lukasz Kasprzak | 3 days | 2 | -60/+549 |
| | | |||||
| * | a permanently deleted file's steps do not keep a run partly undone | Lukasz Kasprzak | 4 days | 1 | -1/+2 |
| | | |||||
| * | (matched) is unknown after an undecided rule, so a catch-all leaves an ↵ | Lukasz Kasprzak | 4 days | 1 | -0/+5 |
| | | | | | unreadable file alone | ||||
| * | review and undo headings wrap past the label column; format characters take ↵ | Lukasz Kasprzak | 4 days | 1 | -0/+3 |
| | | | | | a column | ||||
| * | tests read real documents from LibreOffice and pandoc; antiword's ↵ | Lukasz Kasprzak | 4 days | 1 | -0/+7 |
| | | | | | short-document limit documented | ||||
| * | krino log marks a run partly undone while reversible steps remain | Lukasz Kasprzak | 4 days | 1 | -8/+10 |
| | | |||||
| * | output: wrap by terminal columns, names cannot fake step lines, -v lists ↵ | Lukasz Kasprzak | 4 days | 1 | -4/+3 |
| | | | | | unscanned destinations | ||||
| * | a real run's later directories are not blocked by earlier claims; -n across ↵ | Lukasz Kasprzak | 4 days | 1 | -0/+5 |
| | | | | | directories documented | ||||
| * | content tests are three-valued: unknown when unreadable or read in part | Lukasz Kasprzak | 4 days | 2 | -4/+31 |
| | | |||||
| * | captures keep the name's diacritics | Lukasz Kasprzak | 4 days | 1 | -18/+8 |
| | | |||||
| * | text that turns binary further on has no content, like an image | Lukasz Kasprzak | 4 days | 1 | -4/+4 |
| | | |||||
| * | plan 10 re-check: cut run column, damaged undo run, emptied directory ↵v0.0.7 | Lukasz Kasprzak | 4 days | 2 | -0/+5 |
| | | | | | cleanup, text turning binary, explain flags, interrupt docs | ||||
| * | plan 10: docs (-n, README version and scope, trash identity, --json U+FFFD, ↵ | Lukasz Kasprzak | 4 days | 2 | -1/+35 |
| | | | | | limitations, changelog) | ||||
| * | plan 10: an interrupt stops between steps; nohup keeps ignoring hangups | Lukasz Kasprzak | 4 days | 1 | -2/+6 |
| | | |||||
| * | plan 10: a format with no text is no match, not unreadable | Lukasz Kasprzak | 4 days | 1 | -0/+2 |
| | | |||||
| * | plan 9: docs and changelog describe what 0.0.7 does | Lukasz Kasprzak | 5 days | 1 | -2/+17 |
| | | |||||
| * | plan 9: undo review matches review, --min-age validated, future mtimes, rule ↵ | Lukasz Kasprzak | 5 days | 2 | -3/+16 |
| | | | | | names, conflict enum, dependency gate, absolute tool paths | ||||
| * | plan 9: content excludes fail closed; krino.conf excludes checked without ↵ | Lukasz Kasprzak | 5 days | 1 | -0/+8 |
| | | | | | directories | ||||
| * | plan 9: keyword cache keys on extension, max-read and Unicode tables, trims ↵ | Lukasz Kasprzak | 5 days | 1 | -4/+10 |
| | | | | | removed keywords | ||||
| * | plan 9: an interrupted or failed undo can be finished | Lukasz Kasprzak | 5 days | 1 | -1/+6 |
| | | |||||
| * | plan 8: fuzz decoders; fold ẞ and invalid UTF-8 correctly, refuse ↵ | Lukasz Kasprzak | 5 days | 1 | -1/+1 |
| | | | | | non-UTF-8 paths in krino new | ||||
| * | krino: 0.0.6 — w applies and quits, choices echoed in redv0.0.6 | Lukasz Kasprzak | 5 days | 1 | -2/+17 |
| | | |||||
| * | krino: 0.0.5 — keyword cache, t and d in reviewv0.0.5 | Lukasz Kasprzak | 5 days | 2 | -1/+55 |
| | | |||||
| * | 0.0.4: max-size, exclude forms, --min-agev0.0.4 | Lukasz Kasprzak | 5 days | 2 | -3/+77 |
| | | |||||
| * | krino: 0.0.3 — the plan as one block per file, wrapped, and -Pv0.0.3 | Lukasz Kasprzak | 5 days | 2 | -4/+15 |
| | | | | | | | | | Each file shows its steps, then the rule and the reason it matched, one field per line; on a terminal every line wraps to its width with continuation lines under their own column, and piped output is never wrapped. Choosing per file shows the same block. -P / --no-pager prints the plan without the pager. A duplicate's original is shown with ~. | ||||
| * | krino: coloured output, and --no-color | Lukasz Kasprzak | 5 days | 1 | -4/+25 |
| | | | | | | | | | | One palette type styles the plan table, warnings, headers, outcome counts, prompt keys, undo's refused steps and krino log's (undone), from the 16-colour ANSI palette plus bold and faint only. Widths are measured on the plain text, so columns line up; with colour off the output is unchanged. --no-color works before or after any subcommand, as NO_COLOR does. The two search-and-replace colourings are gone. | ||||
| * | krino: duplicates are found, never deleted | Lukasz Kasprzak | 5 days | 1 | -51/+72 |
| | | | | | | | | | | A rule combining (duplicate) with a delete action is refused at load, and a file that is a duplicate under any duplicate scope its directory uses gets no delete step from any rule: the plan shows it skipped and the chain continues. A failed duplicate check blocks the delete too. Tests cover (matched), another rule's own condition, a test evaluation skipped, two scopes and a failed check, each checking every copy is still on disk. | ||||
| * | krino: release 0.0.1 — man pages, install, examples, cross and release, ↵v0.0.1 | Lukasz Kasprzak | 6 days | 2 | -0/+1044 |
| README, changelog Also: undo removes the directories its run created; a hardlink is never a duplicate of its own other name; a flag written before "undo" is honoured; --version prints no leading v. Duplicate conditions with different scopes not sharing an original is documented as a known limitation. | |||||
