Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[ANN] Fast Change Set Tool (Ruby's Revenge)

0 views
Skip to first unread message

Zed A. Shaw

unread,
Mar 11, 2005, 2:42:00 AM3/11/05
to
Hi All,

Just a quick announcement for a very alpha version of a revision control
tool I've been tinkering with for a while:

http://www.zedshaw.com/projects/fastcst/index.html

The important things to note are:

* There's full GPL licensed source or you can download a single script
to play with (thanks to tar2rubyscript).
* You can create full changesets between two directories with
differences and apply them.
* You can make a delta between two files and apply it.
* Making a changeset between linux-2.4.29 and linux-2.6.10 takes about
5 minutes on my computer, and applying takes about 2 minutes. This
changest is about 22MB in size.
* There's a Suffix Array C extension with searching features.
* The delta algorithm uses a suffix array to find "matching" and
"non-matching" regions and makes a simple delta file from it.

It's currently very rough, but I'd appreciate any feedback you can give
me. Particularly pertaining to things related to "the Ruby way" of
doing things.

Thanks again.

Zed A. Shaw


Michael Neumann

unread,
Mar 11, 2005, 2:59:30 AM3/11/05
to

Great, great, great! ;-)

I came across your page a few weeks ago and read also about FastCST. It
looked interesting.
As it's now Ruby, I'll take a second look ;-)

Regards,

Michael


Renald Buter

unread,
Mar 11, 2005, 6:50:47 AM3/11/05
to
Hello all,

Just released a very small XML output utility that uses blocks to create
the output. For example:

xml = XmlBlockOutput.new($stdout)
xml.emt(:foo, :id=1) {
xml.emt(:faa)
xml.emt("vrom-vrom") { "vroar!\n" }
"text\n"
}

Will result in something resembling:

<foo id="1">
<faa />
<vrom-vrom>
vroar!
</vrom-vrom>
text
</foo>

There are no dependencies for this class.

Since I couldn't find anything like it on the RAA, I created it myself.
Yet should there already something like it, let me know and I'll
withdraw this one.

Cheers!

Renald


Renald Buter

unread,
Mar 11, 2005, 6:52:57 AM3/11/05
to
Ouch! Forgot to give some directions:

The RAA entry
http://raa.ruby-lang.org/project/xml-block-out/
The download:
http://studies.cwts.nl/ruby/xml-block-out.tgz

Hope that helps :)

Renald


Renald Buter

unread,
Mar 11, 2005, 7:21:59 AM3/11/05
to
On 20:52 Fri 11 Mar , Renald Buter wrote:
> Ouch! Forgot to give some directions:
>
> The RAA entry
> http://raa.ruby-lang.org/project/xml-block-out/
> The download:
> http://studies.cwts.nl/ruby/xml-block-out.tgz

Grumph. That should be
http://studies.cwts.nl/ruby/xml-block-output.tgz

Always check your links!

Cheers!

Renald


Jim Weirich

unread,
Mar 11, 2005, 8:12:55 AM3/11/05
to
On Friday 11 March 2005 06:50 am, Renald Buter wrote:
> Just released a very small XML output utility that uses blocks to create
> the output. For example:
[...]

> Since I couldn't find anything like it on the RAA, I created it myself.
> Yet should there already something like it, let me know and I'll
> withdraw this one.

There is Builder::XmlMarkup ...

require 'builder/xmlmarkup'
xml = Builder::XmlMarkup.new(:indent=>2)
xml.foo(:id=>1) {
xml.faa
xml.tag!("vrom-vrom", "vroar!\n")
xml << "text\n"
}
puts xml.target!

Produces:

<foo id="1">
<faa/>


<vrom-vrom>vroar!
</vrom-vrom>
text
</foo>

Rubyforge: http://rubyforge.org/projects/builder/

--
-- Jim Weirich j...@weirichhouse.org http://onestepback.org
-----------------------------------------------------------------
"Beware of bugs in the above code; I have only proved it correct,
not tried it." -- Donald Knuth (in a memo to Peter van Emde Boas)


George Moschovitis

unread,
Mar 11, 2005, 8:16:34 AM3/11/05
to

> Since I couldn't find anything like it on the RAA, I created it myself.
> Yet should there already something like it, let me know and I'll
> withdraw this one.

this is allready implemented:

http://jimweirich.umlcoop.net/software/

also Rails, Nitro and Wee provide this functionality,
all of the above use method_missing to implement the
builder pattern (actually Wee's version is a bit more
advanced).


regards,
George Moschovitis (tml)

--
http://nitro.rubyforge.org

bu...@cwts.leidenuniv.nl

unread,
Mar 11, 2005, 8:29:31 AM3/11/05
to
> On Friday 11 March 2005 06:50 am, Renald Buter wrote:
>> Just released a very small XML output utility that uses blocks to create
>> the output. For example:
> [...]
>> Since I couldn't find anything like it on the RAA, I created it myself.
>> Yet should there already something like it, let me know and I'll
>> withdraw this one.
>
> There is Builder::XmlMarkup ...
>
> require 'builder/xmlmarkup'
> xml = Builder::XmlMarkup.new(:indent=>2)
> xml.foo(:id=>1) {
> xml.faa
> xml.tag!("vrom-vrom", "vroar!\n")
> xml << "text\n"
> }
> puts xml.target!
>
> Produces:
>
> <foo id="1">
> <faa/>
> <vrom-vrom>vroar!
> </vrom-vrom>
> text
> </foo>
>
> Rubyforge: http://rubyforge.org/projects/builder/

Builder::XmlMarkup is obviously a much more powerful package and
TWTG for more complex requirements.

But if you don't mind, I'll leave mine on the RAA, since the approaches
do differ a little bit and mine is so *damn* lightweight (maybe
even just short from weightless) :)

But I'll include a reference to Builder::XmlMarker.

Cheers,

Renald

James Britt

unread,
Mar 11, 2005, 9:27:21 AM3/11/05
to
bu...@cwts.leidenuniv.nl wrote:
.

>
> Builder::XmlMarkup is obviously a much more powerful package and
> TWTG for more complex requirements.
>
> But if you don't mind, I'll leave mine on the RAA, since the approaches
> do differ a little bit and mine is so *damn* lightweight (maybe
> even just short from weightless) :)

The xml-block-output home page has roughly zero information, so other
than the brief example on the RAA page (the same as posted in your
announcement) there nothing put forward to explain how there is ever any
advantage to using xml-block-output over Builder::XmlMarkup. (I can
install and update Builder using rubygems, which is a big plus right
there for me.)

In what way do the approaches differ, and by what metric is
xml-block-output so *damn* lightweight? Is it faster? Require less
typing? Use zero memory? Code itself?

Because, quite honestly, when I say the anouncement, I thought, "This is
Builder. Again."

Thanks,


James


Renald

unread,
Mar 11, 2005, 10:56:04 AM3/11/05
to
>
>>
>> Builder::XmlMarkup is obviously a much more powerful package and
>> TWTG for more complex requirements.
>>
>
> The xml-block-output home page has roughly zero information, so other
> than the brief example on the RAA page (the same as posted in your
> announcement) there nothing put forward to explain how there is ever any
> advantage to using xml-block-output over Builder::XmlMarkup. (I can
> install and update Builder using rubygems, which is a big plus right
> there for me.)
>

I am sorry. I didn't have time for this, yet.

> In what way do the approaches differ, and by what metric is
> xml-block-output so *damn* lightweight? Is it faster? Require less
> typing? Use zero memory? Code itself?

The code itself is short of 100 lines, 6 defs in 2 classes.

> Because, quite honestly, when I say the anouncement, I thought, "This is
> Builder. Again."

Since it obviously doesn't stand the peer-review and Builder is the
preferred way to go, I'll withdraw my contribution to the RAA.

Thanks,

Renald


James Britt

unread,
Mar 11, 2005, 12:11:48 PM3/11/05
to
Renald wrote:
>
>
> Since it obviously doesn't stand the peer-review and Builder is the
> preferred way to go, I'll withdraw my contribution to the RAA.


Well, that's entirely up to you. People are free to code as they please
and write what libs they want.

If you honestly believe (as I suspect you do) that your library has
worthwhile distinctions from other libraries, then you should pursue it,
regardless of what anybody else thinks or says.

I just couldn't see what these distinctions might be, based on the scant
information provided; still, please don't feel obligated to convince
anyone.

James

0 new messages