Karsten Schmidt is sharing code with you

Bitbucket is a code hosting site. Unlimited public and private repositories. Free for small teams.

Don't show this again

postspectacular / clj-estuary

Easy construction of dataflow graphs using standard Clojure agents

Clone this repository (size: 25.7 KB): HTTPS / SSH
hg clone https://bitbucket.org/postspectacular/clj-estuary
hg clone ssh://hg@bitbucket.org/postspectacular/clj-estuary

Searching for commits

Mercurial supports a functional language for selecting a set of revisions.

The language supports a number of predicates which are joined by infix operators. Parenthesis can be used for grouping.

Identifiers such as branch names must be quoted with single or double quotes if they contain characters outside of [._a-zA-Z0-9\x80-\xff] or if they match one of the predefined predicates.

Prefix operators

not x
Changesets not in x. Short form is ! x.

Infix operators

x::y

A DAG range, meaning all changesets that are descendants of x and ancestors of y, including x and y themselves. If the first endpoint is left out, this is equivalent to ancestors(y), if the second is left out it is equivalent to descendants(x).

An alternative syntax is x..y.

x:y
All changesets with revision numbers between x and y, both inclusive. Either endpoint can be left out, they default to 0 and tip.
x and y
The intersection of changesets in x and y. Short form is x & y.
x or y
The union of changesets in x and y. There are two alternative short forms: x | y and x + y.
x - y
Changesets in x but not in y.

Predicates

all()
All changesets, the same as 0:tip.
ancestor(single, single)
Greatest common ancestor of the two changesets.
ancestors(set)
Changesets that are ancestors of a changeset in set.
author(string)
Alias for user(string).
bookmark([name])
The named bookmark or all bookmarks.
branch(set)
All changesets belonging to the branches of changesets in set.
children(set)
Child changesets of changesets in set.
closed()
Changeset is closed.
date(interval)
Changesets within the interval, see hg help dates.
descendants(set)
Changesets which are descendants of changesets in set.
file(pattern)
Changesets affecting files matched by pattern.
follow()
An alias for ::. (ancestors of the working copy's first parent).
grep(regex)
Like keyword(string) but accepts a regex. Use grep(r'...') to ensure special escape characters are handled correctly.
head()
Changeset is a named branch head.
heads(set)
Members of set with no children in set.
id(string)
Revision non-ambiguously specified by the given hex string prefix.
keyword(string)
Search commit message, user name, and names of changed files for string.
limit(set, n)
First n members of set.
max(set)
Changeset with highest revision number in set.
merge()
Changeset is a merge changeset.
min(set)
Changeset with lowest revision number in set.
p1([set])
First parent of changesets in set, or the working directory.
p2([set])
Second parent of changesets in set, or the working directory.
parents([set])
The set of all parents for all changesets in set, or the working directory.
present(set)
An empty set, if any revision in set isn't found; otherwise, all revisions in set.
rev(number)
Revision with the given numeric identifier.
roots(set)
Changesets with no parent changeset in set.
tag(name)
The specified tag by name, or all tagged revisions if no name is given.
user(string)
User name is string.

Commits 1–19 of 19

Author Revision Comments Message Labels Date
Karsten Schmidt 234b0ca0b18c adding suppport for optional :serialize field to nodes to filter node date when serializing graph (only specified fields are included in addition to required default fields: id, init, func and targets)
Karsten Schmidt 80c544eb1814 updating trigger function to support node IDs and node collections
Karsten Schmidt 156fd492571d adding node-target-tree function
Karsten Schmidt 9db12332d63c updating .hgignore
Karsten Schmidt dba9c5b80abd updating test cases, adding lein-eclipse dev dependency, adding eclipse project files
Karsten Schmidt 478b9878dd7a adding promises.clj test file
Karsten Schmidt 774919028ef8 readding demux-value and filter-targets functions, readding support for custom target data in conn! function
Karsten Schmidt 762292e494dd refactoring defaccu to support customizable accumulator functions, adding sum-accu as default accu implementation, adding trigger-emitters, adding more doc strings, renaming get-ports -> ports, get-node -> node-for-id, simplifying defaccu construction
Karsten Schmidt 685baae7ca61 adding graph operations to select emitter and leave nodes, overloading defgraph macro to automatically deserialize graph from JSON
Karsten Schmidt 065df6085344 adding optional init handler for nodes, overloading defnode macro to also support nodes without named update handler, adding start/stop ticker functions for repeatedly triggering node updates (frame counter style), switching project to clojure 1.3, updating project.clj & pom
Karsten Schmidt 69fc899d9199 adding support for custom target data and adding demux-value function for selective value propagation from accus, updating tests
Karsten Schmidt aa431dcdd783 renaming get-inputs into get-ports, reusing get-node in aliasnode macro
Karsten Schmidt b7b5754c3472 adding disconn! function and making it (and conn! too) blocking, adding new unit test
Karsten Schmidt 01977aae8523 updating readme
Karsten Schmidt 7b9f3f45b94d updating readme
Karsten Schmidt 48f60718d1cf updating readme
Karsten Schmidt cb046b1151c4 updating comments & readme
Karsten Schmidt 76ff5ee546ee adding node UUIDs and JSON de/serialization, updating docs & tests
Karsten Schmidt 408928960ec7 initial check in