[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [ANN] SVN::Pusher version 0.01

From: Shlomi Fish <shlomif_at_iglu.org.il>
Date: 2005-08-12 10:36:05 CEST

On Thursday 11 August 2005 15:00, Gerald Richter wrote:
> Hi,
>
> Also you have tried to explain much, I did't really get the difference
> between SVN::Push and SVN::Pusher.
>
> Could you please explain it to me?
>
> What are the side effects you were talking about?
>

Well, from what I could tell from the code, SVN::Push adds some data to the
repositories to keep track of what it did with each of them. So you can
propagate some changesets and then propagate the next ones without having to
specify the revisions explicitly. It also has other commands besides just
"push", which do other things.

SVN::Pusher only knows how to propagate one changest from one URL to the
other.

Regards,

        Shlomi Fish

> Thanks
>
> Gerald
>
> > SVN::Pusher version 0.01 was released:
> >
> > http://search.cpan.org/dist/SVN-Pusher/
> >
> > SVN::Pusher is a Perl module and an accompanying command line program
> > (svn-pusher) that can propagate changesets between two
> > (possibly remote) URLs of Subversion repositories.
> >
> > Grab it from a CPAN mirror near you.
> >
> > That's it for the announcement.
> >
> > -----------------
> >
> > Now for some long and boring history:
> >
> > SVN::Pusher has quite a long history. After asking clkao a
> > while ago whether one can propagate changesets from one
> > repository to another, and he gave me some general
> > guidelines, I started writing it as a Perl command line
> > program called "svn-push". However, I encountered some
> > problems and since the C API was more documented, and the
> > people on #svn were most familiar with it, I eventually
> > implemented it in C. It then worked, with one glaring bug of
> > merging several consecutive changesets into one. I then
> > neglected working on it.
> >
> > While I wasn't watching someone published a module SVN::Push on CPAN:
> >
> > http://search.cpan.org/dist/SVN-Push/
> >
> > However, this module (which has a command line program called
> > "svnpush") acted as a Repository-Access-layer replacement for
> > SVN::Mirror, and as such had several other side-effects than
> > just propagating changesets.
> >
> > I decided to convert SVN::Push into a module called
> > SVN::Pusher which will do the same thing as the C-based
> > svn-push only being written in Perl, allow for more
> > flexibility in the code and possible future extensions. I
> > started doing the conversion some months ago (can't remember
> > exactly when) but encountered some problem, and neglected it.
> >
> > A few days ago, I returned to it, was able to resolve the
> > initial problem and encountered some new ones. By the aid of
> > perl -d, gdb, the good people on the IRC, and the Subversion
> > documentation, I was able to resolve all remaining problems.
> > Part of the problem was that SVN::Push did many things differently.
> >
> > The code was working, but its internals were still
> > ill-adapted to the task.
> > Two days ago, I cleaned up the code, adapted everything to be
> > SVN::Pusher-centric instead of SVN::Push-centric and uploaded
> > it to CPAN.
> >
> > So now we have:
> >
> > * svn-push (the old C program)
> > * SVN::Push or SVN-Push (the Perl module that emulated SVN::Mirror)
> > * svnpush (its command line client)
> > * SVN::Pusher or SVN-Pusher (the Perl module that implements
> > svn-push in Perl)
> > * svn-pusher (its command line client)
> > * svk push (a sub-command of svk)
> > * svn push (maybe - in the distant future, when distributed
> > repositories will be implemented in the Subversion core. )
> >
> > Now I should try conveying this text to someone on the phone,
> > and see if we get back the same result. We can use Subversion
> > (or one of its "push"
> > clients) to check...
> >
> > Regards,
> >
> > Shlomi Fish
> >
> > ---------------------------------------------------------------------
> > Shlomi Fish shlomif@iglu.org.il
> > Homepage: http://www.shlomifish.org/
> >
> > Tcl is LISP on drugs. Using strings instead of S-expressions
> > for closures is Evil with one of those gigantic E's you can
> > find at the beginning of paragraphs.
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
> > For additional commands, e-mail: dev-help@subversion.tigris.org

-- 
---------------------------------------------------------------------
Shlomi Fish      shlomif@iglu.org.il
Homepage:        http://www.shlomifish.org/
Tcl is LISP on drugs. Using strings instead of S-expressions for closures
is Evil with one of those gigantic E's you can find at the beginning of 
paragraphs.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Aug 12 10:40:27 2005

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.