[erlang-patches] Trying to update jn/gen_stream

Raimo Niskanen <>
Tue Jul 13 13:42:25 CEST 2010

On Fri, Jul 09, 2010 at 12:31:32PM -0700,  wrote:
> I did a fresh synch with dev and tried to merge in the pu topic
> jn/gen_stream, but I can't seem to find it.  I did the following.
> git pull upstream dev
> make
> make release_docs
> $ERL_TOP/bin/erl => R14B
> git push origin origin:refs/heads/gen_stream_track_test_procs
> git checkout --track -b gen_track_test_procs
> git log --oneline origin/pu | grep jn
> aaeb58c Merge branch 'jn/ic-docs-without-java' into pu
> 333d2b2 Merge branch 'jn/sasl-format_report' into ccase/r13b04_dev
> 61489dd Merge branch 'jn/supervisor_child_count_only' into ccase/r13b04_dev
> git branch -f jn/gen_stream 65f3db8^2
> fatal: Not a valid object name: '65f3db8^2'
> git branch -f jn/gen_stream 65f3db8
> fatal: Not a valid object name: '65f3db8'
> I guess starting from 'dev' was not a good thing, although I did want to
> verify that I can build and run tests in dev properly.

No, this was a good thing.

> How do I find my project in 'pu' and properly create a tracking branch
> that I can use to update it?

You should own the master branch. I should be tracking you.

Tuncer has hinted you about the 'create-topic-branches' script.
Here is a more low-level hint, "your" branch is as you figured out
parent number two (or 1, or the right, or ?) of the merge commit
you found and here is another way to dig it out. The way you did
it ought to work, but perhaps this fetch was missing:

$ git fetch upstream pu

$ git log --oneline --parents upstream/pu | grep jn
2009b7a 7ba2cc7 65f3db8 Merge branch 'jn/gen_stream' into pu
6d1a56d c0895d1 2016a08 Merge branch 'jn/ic-docs-without-java' into dev
333d2b2 ad8ff21 109a257 Merge branch 'jn/sasl-format_report' into ccase/r13b04_dev
61489dd aad8754 1686757 Merge branch 'jn/supervisor_child_count_only' into ccase/r13b04_dev

$ git show --name-only 65f3db8
commit 65f3db8de97410d3d683dbbc9419ba975232ad46
Author: Jay Nelson <>
Date:   Mon May 17 02:06:59 2010 -0700

    Add new gen_stream behaviour for efficiently consuming serial streams

    Introduce a new behaviour for serially processing text files, generating
    lazy or infinite streams or providing a serial interface for a binary.
    Implement the behaviour functionality using a gen_server while internally
    managing multiple processes to load the stream.  Stripe stream data
    across the worker processes to enable overlapped I/O when reading from
    the source. Impose a simple API for consuming the stream serially, a block
    at a time.

    The initial arguments for the gen_stream specify the number of processes
    used, the number of data chunks per process, the size of each chunk a
    blocking factor for reading multiple chunks at a time and an optional
    function parameter to transform the data while buffering it.  The serial
    stream delivers the (potentially transformed) data from the internal
    process buffers as it is requested by the calling application.


$ git branch jn/gen_stream 65f3db8de97410d3d683dbbc9419ba975232ad46
$ git checkout jn/gen_stream
$ git rebase dev

> jay
> ________________________________________________________________
> erlang-patches (at) erlang.org mailing list.
> See http://www.erlang.org/faq.html
> To unsubscribe; mailto:


/ Raimo Niskanen, Erlang/OTP, Ericsson AB

More information about the erlang-patches mailing list