This is an automated email from the ASF dual-hosted git repository.
spmallette pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
The following commit(s) were added to refs/heads/master by this push:
new a41ce94333 Expand Until Step reference docs with an example and
overload note
a41ce94333 is described below
commit a41ce943337f0489c25cb789fe888b6999cf644f
Author: Stephen Mallette <[email protected]>
AuthorDate: Tue Aug 18 20:37:56 2026 +0000
Expand Until Step reference docs with an example and overload note
The Until Step section was a two-sentence stub that deferred entirely to
repeat(). Expand it to mirror the existing Times Step section: a short intro
describing until() as a step modulator for repeat() with the break
condition it
controls, a note on the until(Predicate) versus until(Traversal) overloads,
one
runnable example, and a pointer to the repeat()-step section for
positioning and
general loop semantics.
Assisted-by: Kiro:claude-opus-4.8
---
docs/src/reference/the-traversal.asciidoc | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)
diff --git a/docs/src/reference/the-traversal.asciidoc
b/docs/src/reference/the-traversal.asciidoc
index 9c545aa3a4..c6c9a21745 100644
--- a/docs/src/reference/the-traversal.asciidoc
+++ b/docs/src/reference/the-traversal.asciidoc
@@ -5891,12 +5891,23 @@ g.union(V().has('person','name','vadas'),
link:++https://tinkerpop.apache.org/javadocs/x.y.z/core/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.html#union(org.apache.tinkerpop.gremlin.process.traversal.Traversal...)++[`union(Traversal...)`]
-[llms-summary="The until-step is not an actual step, but is instead a step
modulator for repeat() (find more documentation on the until() there)."]
+[llms-summary="The until-step is not an actual step, but is instead a step
modulator for repeat() that specifies the break condition controlling how long
the repeat() body loops. The until(Predicate) overload tests the traverser
directly, while until(Traversal) tests whether its child traversal produces a
result."]
[[until-step]]
=== Until Step
-The `until`-step is not an actual step, but is instead a step modulator for
`<<repeat-step,repeat()>>` (find more
-documentation on the `until()` there).
+The `until`-step is not an actual step, but is instead a step modulator for
`<<repeat-step,repeat()>>`. It specifies
+the break condition that controls how long the `repeat()` body loops. It has
no effect on its own and must accompany
+a `repeat()`. The `until(Predicate)` overload tests the traverser directly,
while `until(Traversal)` tests whether its
+child traversal produces a result.
+
+[gremlin-groovy,modern]
+----
+g.V(1).repeat(out()).until(has('name','ripple'))
+----
+
+Whether `until()` is placed before or after `repeat()` determines the loop
semantics (while-do versus do-while),
+as with `<<times-step,times()>>`. See the <<repeat-step,`repeat()`>>-step
section for those positioning details
+and the general loop semantics.
*Additional References*