taskops-cli 0.5.2__py3-none-any.whl → 0.5.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
taskops/_version.py CHANGED
@@ -1,4 +1,4 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  __title__ = "taskops"
4
- __version__ = "0.5.2" # single source of truth; pyproject reads it dynamically
4
+ __version__ = "0.5.4" # single source of truth; pyproject reads it dynamically
taskops/http/stale.py CHANGED
@@ -49,12 +49,12 @@ that reader and must not drift toward the host's."""
49
49
  HOSTED = (
50
50
  "{refs} not in this board's own repository on this host. Nothing was "
51
51
  "pruned to make that true — this host keeps every branch pushed to it "
52
- "forever — so {them} was never pushed here: a card worked before this host "
53
- "became the board's remote, or a worktree whose commits have not left it. "
52
+ "forever — so {subject} never pushed here: {cause}. "
54
53
  "A commit reaches this repository the moment it is made in a worktree "
55
54
  "joined to the board; the declared forge is a copy of what is here, never "
56
55
  "the other way round, so there is nowhere else this pane could look."
57
56
  )
57
+
58
58
  """The HOST's words — a reader with no clone, who can run nothing. No command
59
59
  is named because there is none they could run, and no forge is named because
60
60
  the forge is no longer a source: under the reversal it is a projection of this
@@ -62,6 +62,21 @@ repository, so "not here" is not "look over there". What replaced the mirror's
62
62
  "a pruned branch is normal" is the stronger fact — this host prunes nothing —
63
63
  and therefore a different diagnosis: the commits never arrived."""
64
64
 
65
+ SINGLE = (
66
+ "a card worked before this host became the board's remote, or a "
67
+ "worktree whose commits have not left it"
68
+ )
69
+ SEVERAL = (
70
+ "cards worked before this host became the board's remote, or "
71
+ "worktrees whose commits have not left them"
72
+ )
73
+ """The DIAGNOSIS, in the number of the refs it explains. It is an apposition
74
+ to the missing refs themselves — "they were never pushed here: cards worked
75
+ before …" — so it declines with them, subject and possessive both: one ref
76
+ missing is one card or one worktree, several are cards or worktrees. 0.5.2
77
+ shipped "so them was never pushed here" with this clause frozen singular; a
78
+ sentence a reader is meant to trust cannot ask them to forgive its grammar."""
79
+
65
80
  SHA = "0123456789abcdef"
66
81
 
67
82
 
@@ -82,7 +97,11 @@ def sentence(*refs: str, hosted: bool = False) -> str:
82
97
  listed = f"{' and '.join(names)} {'are' if many else 'is'}"
83
98
  them = "them" if many else "it"
84
99
  if hosted:
85
- return HOSTED.format(refs=listed, them=them)
100
+ return HOSTED.format(
101
+ refs=listed,
102
+ subject="they were" if many else "it was",
103
+ cause=SEVERAL if many else SINGLE,
104
+ )
86
105
  branches = [ref for ref in names if not _looks_like_a_sha(ref)]
87
106
  return STALE.format(
88
107
  refs=listed,