[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

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

Zed A. Shaw

3/11/2005 7:42:00 AM

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/...

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




12 Answers

Michael Neumann

3/11/2005 8:00:00 AM

0

Zed A. Shaw wrote:
> 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/...
>
> 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.

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

3/11/2005 11:51:00 AM

0

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

3/11/2005 11:53:00 AM

0

Ouch! Forgot to give some directions:

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

Hope that helps :)

Renald


Renald Buter

3/11/2005 12:22:00 PM

0

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-...
> The download:
> http://studies.cwts.nl/ruby/xml-blo...

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

Always check your links!

Cheers!

Renald


Jim Weirich

3/11/2005 1:13:00 PM

0

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/project...

--
-- Jim Weirich jim@weirichhouse.org http://onest...
-----------------------------------------------------------------
"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

3/11/2005 1:17:00 PM

0


> 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...

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.rub...

Renald Buter

3/11/2005 1:30:00 PM

0

> 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/project...

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

3/11/2005 2:27:00 PM

0

buter@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 Buter

3/11/2005 3:56:00 PM

0

>
>>
>> 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

3/11/2005 5:12:00 PM

0

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