aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--README.md7
-rw-r--r--cmd/krino/check.go4
-rw-r--r--cmd/krino/colour.go2
-rw-r--r--cmd/krino/colour_test.go6
-rw-r--r--cmd/krino/common.go6
-rw-r--r--cmd/krino/display.go2
-rw-r--r--cmd/krino/enum_test.go4
-rw-r--r--cmd/krino/exclude_test.go4
-rw-r--r--cmd/krino/explain.go6
-rw-r--r--cmd/krino/history_test.go4
-rw-r--r--cmd/krino/hostile_test.go2
-rw-r--r--cmd/krino/init.go4
-rw-r--r--cmd/krino/log.go4
-rw-r--r--cmd/krino/main_test.go2
-rw-r--r--cmd/krino/new.go4
-rw-r--r--cmd/krino/render.go6
-rw-r--r--cmd/krino/render_test.go6
-rw-r--r--cmd/krino/review.go4
-rw-r--r--cmd/krino/review_test.go6
-rw-r--r--cmd/krino/sort.go8
-rw-r--r--cmd/krino/sort_test.go4
-rw-r--r--cmd/krino/undo.go6
-rw-r--r--docs/design.md9
-rw-r--r--docs/gui-design.md10
-rw-r--r--go.mod2
-rw-r--r--gui/cmd/krino-gui/main.go4
-rw-r--r--gui/cmd/krino-gui/paths.go4
-rw-r--r--gui/go.mod6
-rw-r--r--gui/internal/model/about_test.go2
-rw-r--r--gui/internal/model/cond.go2
-rw-r--r--gui/internal/model/cond_test.go2
-rw-r--r--gui/internal/model/filter.go2
-rw-r--r--gui/internal/model/forms.go4
-rw-r--r--gui/internal/model/forms_test.go2
-rw-r--r--gui/internal/model/history.go6
-rw-r--r--gui/internal/model/history_test.go4
-rw-r--r--gui/internal/model/mainconf.go6
-rw-r--r--gui/internal/model/mainconf_test.go2
-rw-r--r--gui/internal/model/newdir.go4
-rw-r--r--gui/internal/model/newdir_test.go2
-rw-r--r--gui/internal/model/plan.go8
-rw-r--r--gui/internal/model/plan_test.go6
-rw-r--r--gui/internal/model/prefs.go2
-rw-r--r--gui/internal/model/preview.go2
-rw-r--r--gui/internal/model/rules.go8
-rw-r--r--gui/internal/model/rules_test.go2
-rw-r--r--gui/internal/model/settings.go2
-rw-r--r--gui/internal/model/testrule.go4
-rw-r--r--gui/internal/ui/forms.go6
-rw-r--r--gui/internal/ui/highlight.go2
-rw-r--r--gui/internal/ui/history.go4
-rw-r--r--gui/internal/ui/plan.go8
-rw-r--r--gui/internal/ui/rules.go4
-rw-r--r--gui/internal/ui/settings.go4
-rw-r--r--gui/internal/ui/window.go8
-rw-r--r--internal/apply/apply.go6
-rw-r--r--internal/apply/apply_test.go6
-rw-r--r--internal/apply/swap_test.go4
-rw-r--r--internal/cond/compile.go6
-rw-r--r--internal/cond/compile_test.go2
-rw-r--r--internal/cond/eval.go2
-rw-r--r--internal/cond/eval_test.go2
-rw-r--r--internal/cond/types.go2
-rw-r--r--internal/config/diag.go2
-rw-r--r--internal/config/dir.go4
-rw-r--r--internal/config/enum_test.go2
-rw-r--r--internal/config/load.go4
-rw-r--r--internal/config/main.go4
-rw-r--r--internal/config/print.go2
-rw-r--r--internal/config/print_test.go2
-rw-r--r--internal/config/settings.go2
-rw-r--r--internal/config/settings_test.go2
-rw-r--r--internal/config/skel.go4
-rw-r--r--internal/dup/dup.go2
-rw-r--r--internal/dup/dup_test.go2
-rw-r--r--internal/engine/apply.go12
-rw-r--r--internal/engine/apply_test.go8
-rw-r--r--internal/engine/cache_test.go4
-rw-r--r--internal/engine/engine.go10
-rw-r--r--internal/engine/engine_test.go4
-rw-r--r--internal/engine/enum_test.go4
-rw-r--r--internal/engine/exclude_test.go4
-rw-r--r--internal/engine/explain_test.go2
-rw-r--r--internal/engine/facts.go16
-rw-r--r--internal/engine/match.go14
-rw-r--r--internal/engine/nodelete_test.go4
-rw-r--r--internal/engine/plan.go2
-rw-r--r--internal/engine/plan_bench_test.go2
-rw-r--r--internal/engine/plan_test.go2
-rw-r--r--internal/engine/property_test.go4
-rw-r--r--internal/engine/roundtrip_test.go4
-rw-r--r--internal/engine/session.go6
-rw-r--r--internal/engine/undo_identity_test.go6
-rw-r--r--internal/plan/chain.go6
-rw-r--r--internal/plan/chain_test.go4
-rw-r--r--internal/plan/conflict.go4
-rw-r--r--internal/plan/conflict_test.go2
-rw-r--r--internal/plan/enum_test.go4
-rw-r--r--internal/plan/fuzz_test.go6
-rw-r--r--internal/plan/hostile_test.go2
-rw-r--r--internal/plan/json.go2
-rw-r--r--internal/plan/step.go4
-rw-r--r--internal/scan/scan.go2
-rw-r--r--internal/scan/scan_test.go2
-rw-r--r--internal/trash/trash.go2
106 files changed, 229 insertions, 227 deletions
diff --git a/Makefile b/Makefile
index e99e3cf..c40e662 100644
--- a/Makefile
+++ b/Makefile
@@ -76,7 +76,7 @@ ci: ## the gate: gofmt, vet, tests, dependencies, no personal data staged, man p
GOOS=freebsd CGO_ENABLED=0 go vet ./...
GOOS=openbsd CGO_ENABLED=0 go vet ./...
go test ./...
- @deps=$$(for os in linux freebsd openbsd; do GOOS=$$os CGO_ENABLED=0 go list -deps -test -f '{{with .Module}}{{.Path}}{{end}}' ./... || echo "go list failed for $$os"; done | sort -u | grep -vxE '(krino|golang\.org/x/(term|text|sys))?' || true); \
+ @deps=$$(for os in linux freebsd openbsd; do GOOS=$$os CGO_ENABLED=0 go list -deps -test -f '{{with .Module}}{{.Path}}{{end}}' ./... || echo "go list failed for $$os"; done | sort -u | grep -vxE '(git\.labunix\.xyz/krino|golang\.org/x/(term|text|sys))?' || true); \
test -z "$$deps" || { echo "unexpected dependencies:"; echo "$$deps"; exit 1; }
@scripts/leak-check
@scripts/man-lint
diff --git a/README.md b/README.md
index a5407f2..8b4b526 100644
--- a/README.md
+++ b/README.md
@@ -196,11 +196,12 @@ sudo apt install libgtk-4-dev libgirepository1.0-dev # Debian, Devuan
```
git clone https://git.labunix.xyz/krino.git
+go install git.labunix.xyz/krino/cmd/krino@latest # from 0.0.12 on
```
-The module path is `krino` rather than a URL, so `go install` does not work
-yet; build from a clone. The shape of `krino -n --json` is unstable before
-1.0 — don't script against it yet.
+`go install` needs a release carrying the module path below, so it works
+from the next tag; until then, build from a clone. The shape of
+`krino -n --json` is unstable before 1.0 — don't script against it yet.
Builds and tests are run on Linux, FreeBSD and OpenBSD. The release
tarballs hold the cross-compiled command line only; the window is built on
diff --git a/cmd/krino/check.go b/cmd/krino/check.go
index ec08672..a6c4410 100644
--- a/cmd/krino/check.go
+++ b/cmd/krino/check.go
@@ -6,8 +6,8 @@ import (
"fmt"
"io"
- "krino/internal/engine"
- "krino/internal/xdg"
+ "git.labunix.xyz/krino/internal/engine"
+ "git.labunix.xyz/krino/internal/xdg"
)
func init() { commands["check"] = cmdCheck }
diff --git a/cmd/krino/colour.go b/cmd/krino/colour.go
index 1b58171..2cc06b8 100644
--- a/cmd/krino/colour.go
+++ b/cmd/krino/colour.go
@@ -7,7 +7,7 @@ import (
"io"
"strings"
- "krino/internal/tui"
+ "git.labunix.xyz/krino/internal/tui"
)
// palette styles text for a terminal (spec §8.2) with SGR codes from the
diff --git a/cmd/krino/colour_test.go b/cmd/krino/colour_test.go
index 64dbb24..8adb4f7 100644
--- a/cmd/krino/colour_test.go
+++ b/cmd/krino/colour_test.go
@@ -7,9 +7,9 @@ import (
"strings"
"testing"
- "krino/internal/engine"
- "krino/internal/plan"
- "krino/internal/scan"
+ "git.labunix.xyz/krino/internal/engine"
+ "git.labunix.xyz/krino/internal/plan"
+ "git.labunix.xyz/krino/internal/scan"
)
func TestPaletteZeroValueIsPlain(t *testing.T) {
diff --git a/cmd/krino/common.go b/cmd/krino/common.go
index 5b6869a..77ff927 100644
--- a/cmd/krino/common.go
+++ b/cmd/krino/common.go
@@ -9,9 +9,9 @@ import (
"strings"
"time"
- "krino/internal/config"
- "krino/internal/engine"
- "krino/internal/xdg"
+ "git.labunix.xyz/krino/internal/config"
+ "git.labunix.xyz/krino/internal/engine"
+ "git.labunix.xyz/krino/internal/xdg"
)
// minAgeOverride parses --min-age: a duration in krino's own units (30s,
diff --git a/cmd/krino/display.go b/cmd/krino/display.go
index d468c6b..5bcfb5e 100644
--- a/cmd/krino/display.go
+++ b/cmd/krino/display.go
@@ -9,7 +9,7 @@ import (
"unicode"
"unicode/utf8"
- "krino/internal/cond"
+ "git.labunix.xyz/krino/internal/cond"
)
// display makes s safe to print to a terminal (spec §15.1). File names,
diff --git a/cmd/krino/enum_test.go b/cmd/krino/enum_test.go
index 144fec6..63a89a2 100644
--- a/cmd/krino/enum_test.go
+++ b/cmd/krino/enum_test.go
@@ -7,8 +7,8 @@ import (
"strings"
"testing"
- "krino/internal/enumtest"
- "krino/internal/scan"
+ "git.labunix.xyz/krino/internal/enumtest"
+ "git.labunix.xyz/krino/internal/scan"
)
// TestEverySkipReasonIsSummarised: every scan.Reason is counted in the
diff --git a/cmd/krino/exclude_test.go b/cmd/krino/exclude_test.go
index 2c77438..f2ab452 100644
--- a/cmd/krino/exclude_test.go
+++ b/cmd/krino/exclude_test.go
@@ -9,8 +9,8 @@ import (
"testing"
"time"
- "krino/internal/engine"
- "krino/internal/scan"
+ "git.labunix.xyz/krino/internal/engine"
+ "git.labunix.xyz/krino/internal/scan"
)
// excludeFixture makes ~/dl with an old a.iso, an old keep.txt and a fresh
diff --git a/cmd/krino/explain.go b/cmd/krino/explain.go
index 09145b9..70d2c93 100644
--- a/cmd/krino/explain.go
+++ b/cmd/krino/explain.go
@@ -9,9 +9,9 @@ import (
"io"
"strings"
- "krino/internal/cond"
- "krino/internal/engine"
- "krino/internal/xdg"
+ "git.labunix.xyz/krino/internal/cond"
+ "git.labunix.xyz/krino/internal/engine"
+ "git.labunix.xyz/krino/internal/xdg"
)
func init() { commands["explain"] = cmdExplain }
diff --git a/cmd/krino/history_test.go b/cmd/krino/history_test.go
index d85766f..ad7f6f6 100644
--- a/cmd/krino/history_test.go
+++ b/cmd/krino/history_test.go
@@ -12,8 +12,8 @@ import (
"testing"
"time"
- "krino/internal/engine"
- "krino/internal/journal"
+ "git.labunix.xyz/krino/internal/engine"
+ "git.labunix.xyz/krino/internal/journal"
)
func TestLogListsRunsAndUndoReverses(t *testing.T) {
diff --git a/cmd/krino/hostile_test.go b/cmd/krino/hostile_test.go
index ad10ba8..d139b4c 100644
--- a/cmd/krino/hostile_test.go
+++ b/cmd/krino/hostile_test.go
@@ -11,7 +11,7 @@ import (
"testing"
"time"
- "krino/internal/journal"
+ "git.labunix.xyz/krino/internal/journal"
)
// hostileNames are file names a download can carry that try to take over
diff --git a/cmd/krino/init.go b/cmd/krino/init.go
index 6feb6d0..f5c8ed2 100644
--- a/cmd/krino/init.go
+++ b/cmd/krino/init.go
@@ -6,8 +6,8 @@ import (
"fmt"
"io"
- "krino/internal/config"
- "krino/internal/xdg"
+ "git.labunix.xyz/krino/internal/config"
+ "git.labunix.xyz/krino/internal/xdg"
)
func init() { commands["init"] = cmdInit }
diff --git a/cmd/krino/log.go b/cmd/krino/log.go
index e3e9dd1..23852d7 100644
--- a/cmd/krino/log.go
+++ b/cmd/krino/log.go
@@ -9,8 +9,8 @@ import (
"os"
"strings"
- "krino/internal/engine"
- "krino/internal/journal"
+ "git.labunix.xyz/krino/internal/engine"
+ "git.labunix.xyz/krino/internal/journal"
)
func init() { commands["log"] = cmdLog }
diff --git a/cmd/krino/main_test.go b/cmd/krino/main_test.go
index 6d1d30e..d9d6cfc 100644
--- a/cmd/krino/main_test.go
+++ b/cmd/krino/main_test.go
@@ -7,7 +7,7 @@ import (
"strings"
"testing"
- "krino/internal/config"
+ "git.labunix.xyz/krino/internal/config"
)
// runCLI drives run() and returns its exit code and output.
diff --git a/cmd/krino/new.go b/cmd/krino/new.go
index 0390e82..2816045 100644
--- a/cmd/krino/new.go
+++ b/cmd/krino/new.go
@@ -6,8 +6,8 @@ import (
"fmt"
"io"
- "krino/internal/config"
- "krino/internal/xdg"
+ "git.labunix.xyz/krino/internal/config"
+ "git.labunix.xyz/krino/internal/xdg"
)
func init() { commands["new"] = cmdNew }
diff --git a/cmd/krino/render.go b/cmd/krino/render.go
index ca7dad7..46b8fb0 100644
--- a/cmd/krino/render.go
+++ b/cmd/krino/render.go
@@ -12,9 +12,9 @@ import (
"golang.org/x/text/width"
- "krino/internal/engine"
- "krino/internal/plan"
- "krino/internal/xdg"
+ "git.labunix.xyz/krino/internal/engine"
+ "git.labunix.xyz/krino/internal/plan"
+ "git.labunix.xyz/krino/internal/xdg"
)
// labelWidth is the column every label in a file's block is padded to, so
diff --git a/cmd/krino/render_test.go b/cmd/krino/render_test.go
index 7c2072e..e19be9e 100644
--- a/cmd/krino/render_test.go
+++ b/cmd/krino/render_test.go
@@ -11,9 +11,9 @@ import (
"time"
"unicode/utf8"
- "krino/internal/engine"
- "krino/internal/plan"
- "krino/internal/scan"
+ "git.labunix.xyz/krino/internal/engine"
+ "git.labunix.xyz/krino/internal/plan"
+ "git.labunix.xyz/krino/internal/scan"
)
// TestPrintPlan is the golden render test of spec §8.2. The DirPlan is
diff --git a/cmd/krino/review.go b/cmd/krino/review.go
index 671cbab..80efaef 100644
--- a/cmd/krino/review.go
+++ b/cmd/krino/review.go
@@ -7,8 +7,8 @@ import (
"io"
"os"
- "krino/internal/plan"
- "krino/internal/tui"
+ "git.labunix.xyz/krino/internal/plan"
+ "git.labunix.xyz/krino/internal/tui"
)
// reviewDir drives spec §8.2/§8.3's interactive review over the real
diff --git a/cmd/krino/review_test.go b/cmd/krino/review_test.go
index 0731ba9..bd58dbc 100644
--- a/cmd/krino/review_test.go
+++ b/cmd/krino/review_test.go
@@ -11,9 +11,9 @@ import (
"testing"
"unicode/utf8"
- "krino/internal/engine"
- "krino/internal/plan"
- "krino/internal/scan"
+ "git.labunix.xyz/krino/internal/engine"
+ "git.labunix.xyz/krino/internal/plan"
+ "git.labunix.xyz/krino/internal/scan"
)
func chains(rels ...string) []plan.Chain {
diff --git a/cmd/krino/sort.go b/cmd/krino/sort.go
index 12812c7..35d8123 100644
--- a/cmd/krino/sort.go
+++ b/cmd/krino/sort.go
@@ -17,10 +17,10 @@ import (
"golang.org/x/term"
- "krino/internal/engine"
- "krino/internal/plan"
- "krino/internal/scan"
- "krino/internal/xdg"
+ "git.labunix.xyz/krino/internal/engine"
+ "git.labunix.xyz/krino/internal/plan"
+ "git.labunix.xyz/krino/internal/scan"
+ "git.labunix.xyz/krino/internal/xdg"
)
// stdin is os.Stdin, threaded through this seam rather than referenced
diff --git a/cmd/krino/sort_test.go b/cmd/krino/sort_test.go
index 4e68cb5..01e7500 100644
--- a/cmd/krino/sort_test.go
+++ b/cmd/krino/sort_test.go
@@ -9,8 +9,8 @@ import (
"testing"
"time"
- "krino/internal/plan"
- "krino/internal/scan"
+ "git.labunix.xyz/krino/internal/plan"
+ "git.labunix.xyz/krino/internal/scan"
)
// TestRelWidthAndPadCellCountRunes: C4. relWidth and padCell must measure
diff --git a/cmd/krino/undo.go b/cmd/krino/undo.go
index 85b74b5..2d170a4 100644
--- a/cmd/krino/undo.go
+++ b/cmd/krino/undo.go
@@ -15,9 +15,9 @@ import (
"golang.org/x/term"
- "krino/internal/engine"
- "krino/internal/lock"
- "krino/internal/xdg"
+ "git.labunix.xyz/krino/internal/engine"
+ "git.labunix.xyz/krino/internal/lock"
+ "git.labunix.xyz/krino/internal/xdg"
)
func init() { commands["undo"] = cmdUndo }
diff --git a/docs/design.md b/docs/design.md
index a3356c7..3037308 100644
--- a/docs/design.md
+++ b/docs/design.md
@@ -984,10 +984,11 @@ keyword. Its defects shaped these decisions:
## 18. Settled before implementation
-1. **Hosting: local only for now.** The module path is `krino`. When a
- remote is chosen, `go mod edit -module <path>` and one `sed` over the
- `"krino/internal/...` imports rename it; nothing else depends on it.
- `go install ...@v0.0.1` works only after that.
+1. **Hosting: `git.labunix.xyz/krino`,** public over cgit and clonable
+ without an account. That is also the module path. cgit serves no
+ `go-import` meta tag, so nginx answers a `?go-get=1` request for
+ `/NAME` with one naming `https://git.labunix.xyz/NAME.git`; without it
+ `go install` would need the path to carry a `.git` suffix.
2. **License: GPL-3.0-or-later.** Full text in `LICENSE`; every Go file,
shell script and man page carries an
`SPDX-License-Identifier: GPL-3.0-or-later` line.
diff --git a/docs/gui-design.md b/docs/gui-design.md
index 602368f..dd65c95 100644
--- a/docs/gui-design.md
+++ b/docs/gui-design.md
@@ -18,11 +18,11 @@ same log, that `krino log` and `krino undo` see.
### 1.1 Where the code lives
-- A nested Go module `krino/gui` in `gui/`, with its own `go.mod`
- (`github.com/diamondburned/gotk4/pkg` v0.4.1, and `replace krino => ../`),
- building one binary, `krino-gui`. It imports `krino/internal/...`, which
- Go allows because the import path is under `krino` (verified with a probe
- module, 2026-09-15).
+- A nested Go module `git.labunix.xyz/krino/gui` in `gui/`, with its own
+ `go.mod` (`github.com/diamondburned/gotk4/pkg`, and a `replace` pointing
+ at `../`), building one binary, `krino-gui`. It imports
+ `git.labunix.xyz/krino/internal/...`, which Go allows because the import
+ path is under the parent module's.
- krino's own module, `make ci` and its dependency gate are unchanged:
`go list ./...` at the root does not include `gui/`.
- `make gui` builds `krino-gui` with `CGO_ENABLED=1`; `make gui-ci` runs
diff --git a/go.mod b/go.mod
index 11346c0..1808ea7 100644
--- a/go.mod
+++ b/go.mod
@@ -1,4 +1,4 @@
-module krino
+module git.labunix.xyz/krino
go 1.25.0
diff --git a/gui/cmd/krino-gui/main.go b/gui/cmd/krino-gui/main.go
index 25f4837..8440b63 100644
--- a/gui/cmd/krino-gui/main.go
+++ b/gui/cmd/krino-gui/main.go
@@ -12,8 +12,8 @@ import (
"github.com/diamondburned/gotk4/pkg/gtk/v4"
- "krino/gui/internal/ui"
- "krino/internal/engine"
+ "git.labunix.xyz/krino/gui/internal/ui"
+ "git.labunix.xyz/krino/internal/engine"
)
// version is stamped at build time, as krino's is.
diff --git a/gui/cmd/krino-gui/paths.go b/gui/cmd/krino-gui/paths.go
index 447fc15..9e078f2 100644
--- a/gui/cmd/krino-gui/paths.go
+++ b/gui/cmd/krino-gui/paths.go
@@ -7,8 +7,8 @@ import (
"os"
"path/filepath"
- "krino/internal/config"
- "krino/internal/xdg"
+ "git.labunix.xyz/krino/internal/config"
+ "git.labunix.xyz/krino/internal/xdg"
)
// cacheDir is where every directory's keyword cache lives (spec §6.1), the
diff --git a/gui/go.mod b/gui/go.mod
index 418422e..67294af 100644
--- a/gui/go.mod
+++ b/gui/go.mod
@@ -1,4 +1,4 @@
-module krino/gui
+module git.labunix.xyz/krino/gui
go 1.25.0
@@ -13,8 +13,8 @@ require (
)
require (
+ git.labunix.xyz/krino v0.0.0
golang.org/x/sync v0.22.0 // indirect
- krino v0.0.0
)
-replace krino => ../
+replace git.labunix.xyz/krino => ../
diff --git a/gui/internal/model/about_test.go b/gui/internal/model/about_test.go
index 5bfd991..778a013 100644
--- a/gui/internal/model/about_test.go
+++ b/gui/internal/model/about_test.go
@@ -6,7 +6,7 @@ import (
"strings"
"testing"
- "krino/gui/internal/model"
+ "git.labunix.xyz/krino/gui/internal/model"
)
// TestAboutSaysWhatItIs: the About block names the program, the version it
diff --git a/gui/internal/model/cond.go b/gui/internal/model/cond.go
index 04cc4d1..63c0c25 100644
--- a/gui/internal/model/cond.go
+++ b/gui/internal/model/cond.go
@@ -6,7 +6,7 @@ import (
"fmt"
"strings"
- "krino/internal/sexp"
+ "git.labunix.xyz/krino/internal/sexp"
)
// CondOps are the forms that hold other conditions.
diff --git a/gui/internal/model/cond_test.go b/gui/internal/model/cond_test.go
index 7aa4772..a1edb57 100644
--- a/gui/internal/model/cond_test.go
+++ b/gui/internal/model/cond_test.go
@@ -6,7 +6,7 @@ import (
"strings"
"testing"
- "krino/internal/sexp"
+ "git.labunix.xyz/krino/internal/sexp"
)
// parseOne reads one condition from text, for the tests below.
diff --git a/gui/internal/model/filter.go b/gui/internal/model/filter.go
index b9844cf..707c9a1 100644
--- a/gui/internal/model/filter.go
+++ b/gui/internal/model/filter.go
@@ -5,7 +5,7 @@ package model
import (
"strings"
- "krino/internal/norm"
+ "git.labunix.xyz/krino/internal/norm"
)
// FuzzyMatch reports whether every character of pattern appears in text in
diff --git a/gui/internal/model/forms.go b/gui/internal/model/forms.go
index 681c15c..f0a3983 100644
--- a/gui/internal/model/forms.go
+++ b/gui/internal/model/forms.go
@@ -6,8 +6,8 @@ import (
"fmt"
"strings"
- "krino/internal/config"
- "krino/internal/sexp"
+ "git.labunix.xyz/krino/internal/config"
+ "git.labunix.xyz/krino/internal/sexp"
)
// FormKind is what an editable form is.
diff --git a/gui/internal/model/forms_test.go b/gui/internal/model/forms_test.go
index 2c23462..efbd662 100644
--- a/gui/internal/model/forms_test.go
+++ b/gui/internal/model/forms_test.go
@@ -6,7 +6,7 @@ import (
"strings"
"testing"
- "krino/internal/config"
+ "git.labunix.xyz/krino/internal/config"
)
// formsFile is a directory file with comments in the places that matter:
diff --git a/gui/internal/model/history.go b/gui/internal/model/history.go
index 9ce854c..7c166bb 100644
--- a/gui/internal/model/history.go
+++ b/gui/internal/model/history.go
@@ -9,9 +9,9 @@ import (
"strings"
"time"
- "krino/internal/engine"
- "krino/internal/journal"
- "krino/internal/lock"
+ "git.labunix.xyz/krino/internal/engine"
+ "git.labunix.xyz/krino/internal/journal"
+ "git.labunix.xyz/krino/internal/lock"
)
// Run is one line of the History tab's run list: what a run did, and
diff --git a/gui/internal/model/history_test.go b/gui/internal/model/history_test.go
index a486c2e..fed7cc1 100644
--- a/gui/internal/model/history_test.go
+++ b/gui/internal/model/history_test.go
@@ -10,8 +10,8 @@ import (
"strings"
"testing"
- "krino/internal/engine"
- "krino/internal/lock"
+ "git.labunix.xyz/krino/internal/engine"
+ "git.labunix.xyz/krino/internal/lock"
)
// applyOneRun sorts the sandbox directory and returns the run id it wrote,
diff --git a/gui/internal/model/mainconf.go b/gui/internal/model/mainconf.go
index 327451e..951718f 100644
--- a/gui/internal/model/mainconf.go
+++ b/gui/internal/model/mainconf.go
@@ -8,9 +8,9 @@ import (
"os"
"strings"
- "krino/internal/config"
- "krino/internal/engine"
- "krino/internal/sexp"
+ "git.labunix.xyz/krino/internal/config"
+ "git.labunix.xyz/krino/internal/engine"
+ "git.labunix.xyz/krino/internal/sexp"
)
// MainSettings are the settings krino.conf carries for every directory,
diff --git a/gui/internal/model/mainconf_test.go b/gui/internal/model/mainconf_test.go
index bae739a..c77591c 100644
--- a/gui/internal/model/mainconf_test.go
+++ b/gui/internal/model/mainconf_test.go
@@ -9,7 +9,7 @@ import (
"strings"
"testing"
- "krino/internal/engine"
+ "git.labunix.xyz/krino/internal/engine"
)
// mainConf opens krino.conf over a sandbox whose main file holds text.
diff --git a/gui/internal/model/newdir.go b/gui/internal/model/newdir.go
index f65763c..ec0e4f6 100644
--- a/gui/internal/model/newdir.go
+++ b/gui/internal/model/newdir.go
@@ -3,8 +3,8 @@
package model
import (
- "krino/internal/config"
- "krino/internal/engine"
+ "git.labunix.xyz/krino/internal/config"
+ "git.labunix.xyz/krino/internal/engine"
)
// AddDirectory writes dirs/NAME.conf from the template with path filled in
diff --git a/gui/internal/model/newdir_test.go b/gui/internal/model/newdir_test.go
index 19957d9..3450c9d 100644
--- a/gui/internal/model/newdir_test.go
+++ b/gui/internal/model/newdir_test.go
@@ -8,7 +8,7 @@ import (
"strings"
"testing"
- "krino/internal/engine"
+ "git.labunix.xyz/krino/internal/engine"
)
// TestAddDirectory: a directory added in the window is one krino loads, its
diff --git a/gui/internal/model/plan.go b/gui/internal/model/plan.go
index 12b0d13..ccbf17b 100644
--- a/gui/internal/model/plan.go
+++ b/gui/internal/model/plan.go
@@ -11,10 +11,10 @@ import (
"sort"
"time"
- "krino/internal/engine"
- "krino/internal/lock"
- "krino/internal/plan"
- "krino/internal/scan"
+ "git.labunix.xyz/krino/internal/engine"
+ "git.labunix.xyz/krino/internal/lock"
+ "git.labunix.xyz/krino/internal/plan"
+ "git.labunix.xyz/krino/internal/scan"
)
// Row is one line of the Plan tab: a file krino would act on, or one it
diff --git a/gui/internal/model/plan_test.go b/gui/internal/model/plan_test.go
index 8873e55..a36cf85 100644
--- a/gui/internal/model/plan_test.go
+++ b/gui/internal/model/plan_test.go
@@ -12,9 +12,9 @@ import (
"testing"
"time"
- "krino/internal/engine"
- "krino/internal/lock"
- "krino/internal/plan"
+ "git.labunix.xyz/krino/internal/engine"
+ "git.labunix.xyz/krino/internal/lock"
+ "git.labunix.xyz/krino/internal/plan"
)
// sandboxDir builds a home with one configured directory holding files, and
diff --git a/gui/internal/model/prefs.go b/gui/internal/model/prefs.go
index 4b70de3..f5ffee5 100644
--- a/gui/internal/model/prefs.go
+++ b/gui/internal/model/prefs.go
@@ -7,7 +7,7 @@ import (
"os"
"path/filepath"
- "krino/internal/xdg"
+ "git.labunix.xyz/krino/internal/xdg"
)
// Prefs is how the window behaves - nothing about what krino does to
diff --git a/gui/internal/model/preview.go b/gui/internal/model/preview.go
index f8bf75d..ee28241 100644
--- a/gui/internal/model/preview.go
+++ b/gui/internal/model/preview.go
@@ -12,7 +12,7 @@ import (
"strings"
"unicode/utf8"
- "krino/internal/cond"
+ "git.labunix.xyz/krino/internal/cond"
)
// PreviewKind is what a preview holds.
diff --git a/gui/internal/model/rules.go b/gui/internal/model/rules.go
index 1b2eec8..ffc0add 100644
--- a/gui/internal/model/rules.go
+++ b/gui/internal/model/rules.go
@@ -11,10 +11,10 @@ import (
"os"
"strings"
- "krino/internal/cond"
- "krino/internal/config"
- "krino/internal/engine"
- "krino/internal/xdg"
+ "git.labunix.xyz/krino/internal/cond"
+ "git.labunix.xyz/krino/internal/config"
+ "git.labunix.xyz/krino/internal/engine"
+ "git.labunix.xyz/krino/internal/xdg"
)
// ErrChangedOnDisk is Save's refusal when the file was edited elsewhere
diff --git a/gui/internal/model/rules_test.go b/gui/internal/model/rules_test.go
index c8ee212..b5803dd 100644
--- a/gui/internal/model/rules_test.go
+++ b/gui/internal/model/rules_test.go
@@ -10,7 +10,7 @@ import (
"strings"
"testing"
- "krino/internal/engine"
+ "git.labunix.xyz/krino/internal/engine"
)
// TestOpenAndCheck: the editor opens a directory's own file, reports the
diff --git a/gui/internal/model/settings.go b/gui/internal/model/settings.go
index 7c31997..5763d68 100644
--- a/gui/internal/model/settings.go
+++ b/gui/internal/model/settings.go
@@ -6,7 +6,7 @@ import (
"fmt"
"strings"
- "krino/internal/sexp"
+ "git.labunix.xyz/krino/internal/sexp"
)
// DirSettings are the forms a directory file may carry above its rules, in
diff --git a/gui/internal/model/testrule.go b/gui/internal/model/testrule.go
index 3cf0437..edd0bf7 100644
--- a/gui/internal/model/testrule.go
+++ b/gui/internal/model/testrule.go
@@ -6,8 +6,8 @@ import (
"context"
"fmt"
- "krino/internal/engine"
- "krino/internal/plan"
+ "git.labunix.xyz/krino/internal/engine"
+ "git.labunix.xyz/krino/internal/plan"
)
// RuleHit is one file a rule would act on, and what it would do to it.
diff --git a/gui/internal/ui/forms.go b/gui/internal/ui/forms.go
index a7211cb..d30e409 100644
--- a/gui/internal/ui/forms.go
+++ b/gui/internal/ui/forms.go
@@ -10,9 +10,9 @@ import (
"github.com/diamondburned/gotk4/pkg/glib/v2"
"github.com/diamondburned/gotk4/pkg/gtk/v4"
- "krino/gui/internal/model"
- "krino/internal/config"
- "krino/internal/sexp"
+ "git.labunix.xyz/krino/gui/internal/model"
+ "git.labunix.xyz/krino/internal/config"
+ "git.labunix.xyz/krino/internal/sexp"
)
// condKinds are the tests a condition row offers, plus the three operators
diff --git a/gui/internal/ui/highlight.go b/gui/internal/ui/highlight.go
index 786acee..88c701b 100644
--- a/gui/internal/ui/highlight.go
+++ b/gui/internal/ui/highlight.go
@@ -5,7 +5,7 @@ package ui
import (
"github.com/diamondburned/gotk4/pkg/gtk/v4"
- "krino/gui/internal/model"
+ "git.labunix.xyz/krino/gui/internal/model"
)
// The colours a configuration is painted in. They are chosen to read on a
diff --git a/gui/internal/ui/history.go b/gui/internal/ui/history.go
index bbdb27d..f82f6e3 100644
--- a/gui/internal/ui/history.go
+++ b/gui/internal/ui/history.go
@@ -11,8 +11,8 @@ import (
"github.com/diamondburned/gotk4/pkg/gtk/v4"
- "krino/gui/internal/model"
- "krino/internal/engine"
+ "git.labunix.xyz/krino/gui/internal/model"
+ "git.labunix.xyz/krino/internal/engine"
)
// historyView is the History & undo tab: the runs on the left, the selected
diff --git a/gui/internal/ui/plan.go b/gui/internal/ui/plan.go
index bcbb8a2..1ee2a51 100644
--- a/gui/internal/ui/plan.go
+++ b/gui/internal/ui/plan.go
@@ -15,10 +15,10 @@ import (
"github.com/diamondburned/gotk4/pkg/gtk/v4"
- "krino/gui/internal/model"
- "krino/internal/engine"
- "krino/internal/plan"
- "krino/internal/xdg"
+ "git.labunix.xyz/krino/gui/internal/model"
+ "git.labunix.xyz/krino/internal/engine"
+ "git.labunix.xyz/krino/internal/plan"
+ "git.labunix.xyz/krino/internal/xdg"
)
// planView is the Plan tab: a directory picker and Scan, the plan as a list
diff --git a/gui/internal/ui/rules.go b/gui/internal/ui/rules.go
index 62cf074..17f20ab 100644
--- a/gui/internal/ui/rules.go
+++ b/gui/internal/ui/rules.go
@@ -13,8 +13,8 @@ import (
"github.com/diamondburned/gotk4/pkg/gtk/v4"
"github.com/diamondburned/gotk4/pkg/pango"
- "krino/gui/internal/model"
- "krino/internal/xdg"
+ "git.labunix.xyz/krino/gui/internal/model"
+ "git.labunix.xyz/krino/internal/xdg"
)
// checkDelay is how long the editor waits after a keystroke before it
diff --git a/gui/internal/ui/settings.go b/gui/internal/ui/settings.go
index 79dba6a..32a6066 100644
--- a/gui/internal/ui/settings.go
+++ b/gui/internal/ui/settings.go
@@ -5,8 +5,8 @@ package ui
import (
"github.com/diamondburned/gotk4/pkg/gtk/v4"
- "krino/gui/internal/model"
- "krino/internal/xdg"
+ "git.labunix.xyz/krino/gui/internal/model"
+ "git.labunix.xyz/krino/internal/xdg"
)
// settingsWindow is Settings: krino's defaults, which every directory
diff --git a/gui/internal/ui/window.go b/gui/internal/ui/window.go
index c52234b..3d40441 100644
--- a/gui/internal/ui/window.go
+++ b/gui/internal/ui/window.go
@@ -14,10 +14,10 @@ import (
"github.com/diamondburned/gotk4/pkg/glib/v2"
"github.com/diamondburned/gotk4/pkg/gtk/v4"
- "krino/gui/internal/model"
- "krino/internal/engine"
- "krino/internal/plan"
- "krino/internal/xdg"
+ "git.labunix.xyz/krino/gui/internal/model"
+ "git.labunix.xyz/krino/internal/engine"
+ "git.labunix.xyz/krino/internal/plan"
+ "git.labunix.xyz/krino/internal/xdg"
)
// Version is what About shows. main stamps it at build time; "dev" is
diff --git a/internal/apply/apply.go b/internal/apply/apply.go
index d7bf71e..c0055a2 100644
--- a/internal/apply/apply.go
+++ b/internal/apply/apply.go
@@ -14,9 +14,9 @@ import (
"path/filepath"
"time"
- "krino/internal/plan"
- "krino/internal/scan"
- "krino/internal/trash"
+ "git.labunix.xyz/krino/internal/plan"
+ "git.labunix.xyz/krino/internal/scan"
+ "git.labunix.xyz/krino/internal/trash"
)
// StepResult is what happened to one step, in the order the executor ran
diff --git a/internal/apply/apply_test.go b/internal/apply/apply_test.go
index 6134988..cd217c0 100644
--- a/internal/apply/apply_test.go
+++ b/internal/apply/apply_test.go
@@ -10,9 +10,9 @@ import (
"testing"
"time"
- "krino/internal/plan"
- "krino/internal/scan"
- "krino/internal/trash"
+ "git.labunix.xyz/krino/internal/plan"
+ "git.labunix.xyz/krino/internal/scan"
+ "git.labunix.xyz/krino/internal/trash"
)
// chainFor builds a Chain whose File describes path as it is on disk now, so
diff --git a/internal/apply/swap_test.go b/internal/apply/swap_test.go
index ccac945..d16d3f9 100644
--- a/internal/apply/swap_test.go
+++ b/internal/apply/swap_test.go
@@ -9,8 +9,8 @@ import (
"strings"
"testing"
- "krino/internal/plan"
- "krino/internal/scan"
+ "git.labunix.xyz/krino/internal/plan"
+ "git.labunix.xyz/krino/internal/scan"
)
// planned writes body to root/rel and returns the chain a plan would build
diff --git a/internal/cond/compile.go b/internal/cond/compile.go
index 6580ee9..42617be 100644
--- a/internal/cond/compile.go
+++ b/internal/cond/compile.go
@@ -10,9 +10,9 @@ import (
"sort"
"strings"
- "krino/internal/config"
- "krino/internal/norm"
- "krino/internal/sexp"
+ "git.labunix.xyz/krino/internal/config"
+ "git.labunix.xyz/krino/internal/norm"
+ "git.labunix.xyz/krino/internal/sexp"
)
// maxDepth is the deepest a condition may nest; the top-level conditions
diff --git a/internal/cond/compile_test.go b/internal/cond/compile_test.go
index 8432365..d9830d9 100644
--- a/internal/cond/compile_test.go
+++ b/internal/cond/compile_test.go
@@ -7,7 +7,7 @@ import (
"strings"
"testing"
- "krino/internal/sexp"
+ "git.labunix.xyz/krino/internal/sexp"
)
func nodes(t *testing.T, src string) []*sexp.Node {
diff --git a/internal/cond/eval.go b/internal/cond/eval.go
index 2c35dba..2ae31fb 100644
--- a/internal/cond/eval.go
+++ b/internal/cond/eval.go
@@ -8,7 +8,7 @@ import (
"strings"
"time"
- "krino/internal/norm"
+ "git.labunix.xyz/krino/internal/norm"
)
// Facts is what a condition may ask about one file. Implementations
diff --git a/internal/cond/eval_test.go b/internal/cond/eval_test.go
index 73e0ea6..5074557 100644
--- a/internal/cond/eval_test.go
+++ b/internal/cond/eval_test.go
@@ -10,7 +10,7 @@ import (
"testing"
"time"
- "krino/internal/norm"
+ "git.labunix.xyz/krino/internal/norm"
)
var now = time.Date(2026, 9, 11, 12, 0, 0, 0, time.UTC)
diff --git a/internal/cond/types.go b/internal/cond/types.go
index 97e761a..791ccba 100644
--- a/internal/cond/types.go
+++ b/internal/cond/types.go
@@ -8,7 +8,7 @@ import (
"regexp"
"time"
- "krino/internal/sexp"
+ "git.labunix.xyz/krino/internal/sexp"
)
// Options carries a rule's resolved case and fold settings into compilation.
diff --git a/internal/config/diag.go b/internal/config/diag.go
index 5cee428..45f383a 100644
--- a/internal/config/diag.go
+++ b/internal/config/diag.go
@@ -8,7 +8,7 @@ package config
import (
"fmt"
- "krino/internal/sexp"
+ "git.labunix.xyz/krino/internal/sexp"
)
// Diag is one problem in a config file.
diff --git a/internal/config/dir.go b/internal/config/dir.go
index b82a0b3..a025d74 100644
--- a/internal/config/dir.go
+++ b/internal/config/dir.go
@@ -7,8 +7,8 @@ import (
"path/filepath"
"strings"
- "krino/internal/sexp"
- "krino/internal/xdg"
+ "git.labunix.xyz/krino/internal/sexp"
+ "git.labunix.xyz/krino/internal/xdg"
)
// Dir is one directory's config, dirs/<name>.conf.
diff --git a/internal/config/enum_test.go b/internal/config/enum_test.go
index 06f5640..d73396f 100644
--- a/internal/config/enum_test.go
+++ b/internal/config/enum_test.go
@@ -6,7 +6,7 @@ import (
"strings"
"testing"
- "krino/internal/enumtest"
+ "git.labunix.xyz/krino/internal/enumtest"
)
// TestEverySettingValuePrintsAsItselfInAConfig: PrintRule writes settings
diff --git a/internal/config/load.go b/internal/config/load.go
index 3a1cbeb..b243a38 100644
--- a/internal/config/load.go
+++ b/internal/config/load.go
@@ -11,8 +11,8 @@ import (
"path/filepath"
"slices"
- "krino/internal/sexp"
- "krino/internal/xdg"
+ "git.labunix.xyz/krino/internal/sexp"
+ "git.labunix.xyz/krino/internal/xdg"
)
// Config is the whole configuration: the main file and the directories it
diff --git a/internal/config/main.go b/internal/config/main.go
index 2764c8a..b8a4171 100644
--- a/internal/config/main.go
+++ b/internal/config/main.go
@@ -7,8 +7,8 @@ import (
"path/filepath"
"regexp"
- "krino/internal/sexp"
- "krino/internal/xdg"
+ "git.labunix.xyz/krino/internal/sexp"
+ "git.labunix.xyz/krino/internal/xdg"
)
// Main is krino.conf.
diff --git a/internal/config/print.go b/internal/config/print.go
index 6ae51e0..690be7a 100644
--- a/internal/config/print.go
+++ b/internal/config/print.go
@@ -6,7 +6,7 @@ import (
"fmt"
"strings"
- "krino/internal/sexp"
+ "git.labunix.xyz/krino/internal/sexp"
)
// PrintRule renders a rule the way krino.conf(5) and the examples write
diff --git a/internal/config/print_test.go b/internal/config/print_test.go
index 87b6878..8aeb542 100644
--- a/internal/config/print_test.go
+++ b/internal/config/print_test.go
@@ -6,7 +6,7 @@ import (
"strings"
"testing"
- "krino/internal/sexp"
+ "git.labunix.xyz/krino/internal/sexp"
)
func parseOne(t *testing.T, body string) *Dir {
diff --git a/internal/config/settings.go b/internal/config/settings.go
index 22b2f91..5dd3e57 100644
--- a/internal/config/settings.go
+++ b/internal/config/settings.go
@@ -7,7 +7,7 @@ import (
"slices"
"time"
- "krino/internal/sexp"
+ "git.labunix.xyz/krino/internal/sexp"
)
// CaseMode says whether name, path and content matching ignores case.
diff --git a/internal/config/settings_test.go b/internal/config/settings_test.go
index 341c0f3..8a9124a 100644
--- a/internal/config/settings_test.go
+++ b/internal/config/settings_test.go
@@ -8,7 +8,7 @@ import (
"testing"
"time"
- "krino/internal/sexp"
+ "git.labunix.xyz/krino/internal/sexp"
)
func parseSettings(t *testing.T, src string) (Settings, []*Diag) {
diff --git a/internal/config/skel.go b/internal/config/skel.go
index e0d7dd8..b9b4384 100644
--- a/internal/config/skel.go
+++ b/internal/config/skel.go
@@ -13,8 +13,8 @@ import (
"unicode"
"unicode/utf8"
- "krino/internal/sexp"
- "krino/internal/xdg"
+ "git.labunix.xyz/krino/internal/sexp"
+ "git.labunix.xyz/krino/internal/xdg"
)
//go:embed skel/krino.conf
diff --git a/internal/dup/dup.go b/internal/dup/dup.go
index 042aea8..f7bc5af 100644
--- a/internal/dup/dup.go
+++ b/internal/dup/dup.go
@@ -17,7 +17,7 @@ import (
"sync"
"time"
- "krino/internal/scan"
+ "git.labunix.xyz/krino/internal/scan"
)
// partialChunk is the size of the head and tail read for the partial hash.
diff --git a/internal/dup/dup_test.go b/internal/dup/dup_test.go
index bd593de..8984336 100644
--- a/internal/dup/dup_test.go
+++ b/internal/dup/dup_test.go
@@ -13,7 +13,7 @@ import (
"testing"
"time"
- "krino/internal/scan"
+ "git.labunix.xyz/krino/internal/scan"
)
var base = time.Date(2026, 9, 1, 0, 0, 0, 0, time.UTC)
diff --git a/internal/engine/apply.go b/internal/engine/apply.go
index 6c72a14..1e59aa1 100644
--- a/internal/engine/apply.go
+++ b/internal/engine/apply.go
@@ -15,12 +15,12 @@ import (
"syscall"
"time"
- "krino/internal/apply"
- "krino/internal/journal"
- "krino/internal/plan"
- "krino/internal/scan"
- "krino/internal/trash"
- "krino/internal/xdg"
+ "git.labunix.xyz/krino/internal/apply"
+ "git.labunix.xyz/krino/internal/journal"
+ "git.labunix.xyz/krino/internal/plan"
+ "git.labunix.xyz/krino/internal/scan"
+ "git.labunix.xyz/krino/internal/trash"
+ "git.labunix.xyz/krino/internal/xdg"
)
// ApplyResult is what one Apply or ApplyUndo call did.
diff --git a/internal/engine/apply_test.go b/internal/engine/apply_test.go
index 6c724b1..a6b3185 100644
--- a/internal/engine/apply_test.go
+++ b/internal/engine/apply_test.go
@@ -11,10 +11,10 @@ import (
"testing"
"time"
- "krino/internal/apply"
- "krino/internal/journal"
- "krino/internal/plan"
- "krino/internal/trash"
+ "git.labunix.xyz/krino/internal/apply"
+ "git.labunix.xyz/krino/internal/journal"
+ "git.labunix.xyz/krino/internal/plan"
+ "git.labunix.xyz/krino/internal/trash"
)
// applyFixture builds a directory with two files and a rule moving pdfs into
diff --git a/internal/engine/cache_test.go b/internal/engine/cache_test.go
index 8c52d48..341f7ee 100644
--- a/internal/engine/cache_test.go
+++ b/internal/engine/cache_test.go
@@ -12,8 +12,8 @@ import (
"time"
"unicode"
- "krino/internal/config"
- "krino/internal/extract"
+ "git.labunix.xyz/krino/internal/config"
+ "git.labunix.xyz/krino/internal/extract"
)
// countingPDFTree makes ~/dl holding the given .pdf files, and a fake
diff --git a/internal/engine/engine.go b/internal/engine/engine.go
index cde1298..0c3186d 100644
--- a/internal/engine/engine.go
+++ b/internal/engine/engine.go
@@ -12,11 +12,11 @@ import (
"strings"
"time"
- "krino/internal/cond"
- "krino/internal/config"
- "krino/internal/extract"
- "krino/internal/ignore"
- "krino/internal/plan"
+ "git.labunix.xyz/krino/internal/cond"
+ "git.labunix.xyz/krino/internal/config"
+ "git.labunix.xyz/krino/internal/extract"
+ "git.labunix.xyz/krino/internal/ignore"
+ "git.labunix.xyz/krino/internal/plan"
)
// Engine holds a loaded, compiled configuration: everything a front end
diff --git a/internal/engine/engine_test.go b/internal/engine/engine_test.go
index 86cf9d9..89ea6f0 100644
--- a/internal/engine/engine_test.go
+++ b/internal/engine/engine_test.go
@@ -10,8 +10,8 @@ import (
"testing"
"time"
- "krino/internal/cond"
- "krino/internal/config"
+ "git.labunix.xyz/krino/internal/cond"
+ "git.labunix.xyz/krino/internal/config"
)
// sandbox gives a test its own HOME with no XDG overrides and returns it.
diff --git a/internal/engine/enum_test.go b/internal/engine/enum_test.go
index 416da2a..728b4a2 100644
--- a/internal/engine/enum_test.go
+++ b/internal/engine/enum_test.go
@@ -5,8 +5,8 @@ package engine
import (
"testing"
- "krino/internal/enumtest"
- "krino/internal/plan"
+ "git.labunix.xyz/krino/internal/enumtest"
+ "git.labunix.xyz/krino/internal/plan"
)
// TestEveryKindHasALogAction: every plan.Kind is written to the log under
diff --git a/internal/engine/exclude_test.go b/internal/engine/exclude_test.go
index 36f1262..d658520 100644
--- a/internal/engine/exclude_test.go
+++ b/internal/engine/exclude_test.go
@@ -12,8 +12,8 @@ import (
"testing"
"time"
- "krino/internal/plan"
- "krino/internal/scan"
+ "git.labunix.xyz/krino/internal/plan"
+ "git.labunix.xyz/krino/internal/scan"
)
// excludeTree creates ~/dl with files (name -> content), all old enough to
diff --git a/internal/engine/explain_test.go b/internal/engine/explain_test.go
index f6ade69..c92dc64 100644
--- a/internal/engine/explain_test.go
+++ b/internal/engine/explain_test.go
@@ -11,7 +11,7 @@ import (
"testing"
"time"
- "krino/internal/plan"
+ "git.labunix.xyz/krino/internal/plan"
)
// TestExplainReportsCapturesAndChain: explain returns what each matching
diff --git a/internal/engine/facts.go b/internal/engine/facts.go
index d664b0e..94ac3f4 100644
--- a/internal/engine/facts.go
+++ b/internal/engine/facts.go
@@ -13,14 +13,14 @@ import (
"sync"
"time"
- "krino/internal/cond"
- "krino/internal/dup"
- "krino/internal/extract"
- "krino/internal/kwcache"
- "krino/internal/norm"
- "krino/internal/plan"
- "krino/internal/scan"
- "krino/internal/xdg"
+ "git.labunix.xyz/krino/internal/cond"
+ "git.labunix.xyz/krino/internal/dup"
+ "git.labunix.xyz/krino/internal/extract"
+ "git.labunix.xyz/krino/internal/kwcache"
+ "git.labunix.xyz/krino/internal/norm"
+ "git.labunix.xyz/krino/internal/plan"
+ "git.labunix.xyz/krino/internal/scan"
+ "git.labunix.xyz/krino/internal/xdg"
)
// matchRun holds the state shared by every file evaluated during one Match
diff --git a/internal/engine/match.go b/internal/engine/match.go
index 9943073..5158176 100644
--- a/internal/engine/match.go
+++ b/internal/engine/match.go
@@ -15,13 +15,13 @@ import (
"sync"
"time"
- "krino/internal/cond"
- "krino/internal/config"
- "krino/internal/kwcache"
- "krino/internal/norm"
- "krino/internal/plan"
- "krino/internal/scan"
- "krino/internal/xdg"
+ "git.labunix.xyz/krino/internal/cond"
+ "git.labunix.xyz/krino/internal/config"
+ "git.labunix.xyz/krino/internal/kwcache"
+ "git.labunix.xyz/krino/internal/norm"
+ "git.labunix.xyz/krino/internal/plan"
+ "git.labunix.xyz/krino/internal/scan"
+ "git.labunix.xyz/krino/internal/xdg"
)
// RuleMatch is one rule that matched a file, and why.
diff --git a/internal/engine/nodelete_test.go b/internal/engine/nodelete_test.go
index 80d9ed9..af7597c 100644
--- a/internal/engine/nodelete_test.go
+++ b/internal/engine/nodelete_test.go
@@ -12,8 +12,8 @@ import (
"testing"
"time"
- "krino/internal/journal"
- "krino/internal/plan"
+ "git.labunix.xyz/krino/internal/journal"
+ "git.labunix.xyz/krino/internal/plan"
)
// sameBytes is the content every file in these tests shares.
diff --git a/internal/engine/plan.go b/internal/engine/plan.go
index f2d6312..bf4c64c 100644
--- a/internal/engine/plan.go
+++ b/internal/engine/plan.go
@@ -6,7 +6,7 @@ import (
"context"
"time"
- "krino/internal/plan"
+ "git.labunix.xyz/krino/internal/plan"
)
// DirPlan is one directory's plan: the match Result it was built from (for
diff --git a/internal/engine/plan_bench_test.go b/internal/engine/plan_bench_test.go
index a3d08bb..1b4f51c 100644
--- a/internal/engine/plan_bench_test.go
+++ b/internal/engine/plan_bench_test.go
@@ -10,7 +10,7 @@ import (
"testing"
"time"
- "krino/internal/plan"
+ "git.labunix.xyz/krino/internal/plan"
)
// BenchmarkPlan measures krino's own cost of planning: walking a tree,
diff --git a/internal/engine/plan_test.go b/internal/engine/plan_test.go
index a169168..91f52a4 100644
--- a/internal/engine/plan_test.go
+++ b/internal/engine/plan_test.go
@@ -10,7 +10,7 @@ import (
"testing"
"time"
- "krino/internal/plan"
+ "git.labunix.xyz/krino/internal/plan"
)
func TestPlanBuildsChainsFromMatchedFiles(t *testing.T) {
diff --git a/internal/engine/property_test.go b/internal/engine/property_test.go
index 8a43d7b..3bf9871 100644
--- a/internal/engine/property_test.go
+++ b/internal/engine/property_test.go
@@ -14,8 +14,8 @@ import (
"testing"
"time"
- "krino/internal/journal"
- "krino/internal/plan"
+ "git.labunix.xyz/krino/internal/journal"
+ "git.labunix.xyz/krino/internal/plan"
)
// propertyNames are the file names generated trees draw from: ordinary,
diff --git a/internal/engine/roundtrip_test.go b/internal/engine/roundtrip_test.go
index 218e9fe..720b5fb 100644
--- a/internal/engine/roundtrip_test.go
+++ b/internal/engine/roundtrip_test.go
@@ -13,8 +13,8 @@ import (
"testing"
"time"
- "krino/internal/journal"
- "krino/internal/plan"
+ "git.labunix.xyz/krino/internal/journal"
+ "git.labunix.xyz/krino/internal/plan"
)
// snapshot records every file under root: path, content hash, mode and mtime.
diff --git a/internal/engine/session.go b/internal/engine/session.go
index c2830bd..8d5977a 100644
--- a/internal/engine/session.go
+++ b/internal/engine/session.go
@@ -6,9 +6,9 @@ import (
"context"
"fmt"
- "krino/internal/journal"
- "krino/internal/lock"
- "krino/internal/plan"
+ "git.labunix.xyz/krino/internal/journal"
+ "git.labunix.xyz/krino/internal/lock"
+ "git.labunix.xyz/krino/internal/plan"
)
// Session is one run of krino over one or more directories: the log it
diff --git a/internal/engine/undo_identity_test.go b/internal/engine/undo_identity_test.go
index 994c802..4c25614 100644
--- a/internal/engine/undo_identity_test.go
+++ b/internal/engine/undo_identity_test.go
@@ -11,9 +11,9 @@ import (
"testing"
"time"
- "krino/internal/journal"
- "krino/internal/plan"
- "krino/internal/trash"
+ "git.labunix.xyz/krino/internal/journal"
+ "git.labunix.xyz/krino/internal/plan"
+ "git.labunix.xyz/krino/internal/trash"
)
// appliedRun makes each directory of files under the sandbox home (a map of
diff --git a/internal/plan/chain.go b/internal/plan/chain.go
index bb4876b..b8a95f6 100644
--- a/internal/plan/chain.go
+++ b/internal/plan/chain.go
@@ -9,9 +9,9 @@ import (
"strings"
"time"
- "krino/internal/config"
- "krino/internal/scan"
- "krino/internal/xdg"
+ "git.labunix.xyz/krino/internal/config"
+ "git.labunix.xyz/krino/internal/scan"
+ "git.labunix.xyz/krino/internal/xdg"
)
// Claims is the set of destination paths already spoken for, shared across
diff --git a/internal/plan/chain_test.go b/internal/plan/chain_test.go
index 0c89987..e4fe6cf 100644
--- a/internal/plan/chain_test.go
+++ b/internal/plan/chain_test.go
@@ -7,8 +7,8 @@ import (
"testing"
"time"
- "krino/internal/config"
- "krino/internal/scan"
+ "git.labunix.xyz/krino/internal/config"
+ "git.labunix.xyz/krino/internal/scan"
)
func file(root, rel string) scan.File {
diff --git a/internal/plan/conflict.go b/internal/plan/conflict.go
index 7cebc23..f5c1224 100644
--- a/internal/plan/conflict.go
+++ b/internal/plan/conflict.go
@@ -7,8 +7,8 @@ import (
"os"
"path/filepath"
- "krino/internal/config"
- "krino/internal/dup"
+ "git.labunix.xyz/krino/internal/config"
+ "git.labunix.xyz/krino/internal/dup"
)
// Disk is what Build needs from the filesystem to resolve conflicts, so
diff --git a/internal/plan/conflict_test.go b/internal/plan/conflict_test.go
index 289cd14..ba415d5 100644
--- a/internal/plan/conflict_test.go
+++ b/internal/plan/conflict_test.go
@@ -8,7 +8,7 @@ import (
"testing"
"time"
- "krino/internal/config"
+ "git.labunix.xyz/krino/internal/config"
)
// fakeDisk reports the paths it was given as existing, and equality of
diff --git a/internal/plan/enum_test.go b/internal/plan/enum_test.go
index 5e4f645..21f6a63 100644
--- a/internal/plan/enum_test.go
+++ b/internal/plan/enum_test.go
@@ -6,8 +6,8 @@ import (
"strings"
"testing"
- "krino/internal/config"
- "krino/internal/enumtest"
+ "git.labunix.xyz/krino/internal/config"
+ "git.labunix.xyz/krino/internal/enumtest"
)
// TestEveryKindIsNamed: every Kind has its own display name and a JSON
diff --git a/internal/plan/fuzz_test.go b/internal/plan/fuzz_test.go
index 91a8421..71bb843 100644
--- a/internal/plan/fuzz_test.go
+++ b/internal/plan/fuzz_test.go
@@ -9,9 +9,9 @@ import (
"testing"
"time"
- "krino/internal/config"
- "krino/internal/scan"
- "krino/internal/xdg"
+ "git.labunix.xyz/krino/internal/config"
+ "git.labunix.xyz/krino/internal/scan"
+ "git.labunix.xyz/krino/internal/xdg"
)
// FuzzExpand: expanding any template against any file name never panics,
diff --git a/internal/plan/hostile_test.go b/internal/plan/hostile_test.go
index 13c2afd..4e30b41 100644
--- a/internal/plan/hostile_test.go
+++ b/internal/plan/hostile_test.go
@@ -7,7 +7,7 @@ import (
"testing"
"time"
- "krino/internal/config"
+ "git.labunix.xyz/krino/internal/config"
)
// TestBuildRefusesDotNames: a rename whose placeholders produce "", "." or
diff --git a/internal/plan/json.go b/internal/plan/json.go
index 04b96ac..a5d7bc8 100644
--- a/internal/plan/json.go
+++ b/internal/plan/json.go
@@ -6,7 +6,7 @@ import (
"sort"
"time"
- "krino/internal/scan"
+ "git.labunix.xyz/krino/internal/scan"
)
// jsonNote is carried in every JSON document, warning readers that the
diff --git a/internal/plan/step.go b/internal/plan/step.go
index b3e34c1..c613ce5 100644
--- a/internal/plan/step.go
+++ b/internal/plan/step.go
@@ -5,8 +5,8 @@ package plan
import (
"fmt"
- "krino/internal/config"
- "krino/internal/scan"
+ "git.labunix.xyz/krino/internal/config"
+ "git.labunix.xyz/krino/internal/scan"
)
// Kind is what a step does.
diff --git a/internal/scan/scan.go b/internal/scan/scan.go
index bd717e0..4296ff6 100644
--- a/internal/scan/scan.go
+++ b/internal/scan/scan.go
@@ -13,7 +13,7 @@ import (
"sort"
"time"
- "krino/internal/ignore"
+ "git.labunix.xyz/krino/internal/ignore"
)
// File is a regular file found by Walk.
diff --git a/internal/scan/scan_test.go b/internal/scan/scan_test.go
index 35e7a0d..0102b02 100644
--- a/internal/scan/scan_test.go
+++ b/internal/scan/scan_test.go
@@ -13,7 +13,7 @@ import (
"testing"
"time"
- "krino/internal/ignore"
+ "git.labunix.xyz/krino/internal/ignore"
)
var now = time.Date(2026, 9, 11, 12, 0, 0, 0, time.UTC)
diff --git a/internal/trash/trash.go b/internal/trash/trash.go
index fdd21f8..5d6ebe0 100644
--- a/internal/trash/trash.go
+++ b/internal/trash/trash.go
@@ -17,7 +17,7 @@ import (
"time"
"unicode/utf8"
- "krino/internal/xdg"
+ "git.labunix.xyz/krino/internal/xdg"
)
// ErrOtherFilesystem is returned by Put when path is not on the same