RE: [ANN] SVN::Pusher version 0.01

"Gerald Richter" <[email protected]> Thu, 11 Aug 2005 14:00:13 +0200
Newsgroups gmane.comp.version-control.subversion.devel,gmane.mail.eyebrowse.user
Message-ID <20050811120028.B96A92EE145__35082.9543815509$1123761877$gmane$org@lnx1.i.ecos.de>
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?

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      [email protected]
> 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: [email protected]
> For additional commands, e-mail: [email protected]
> 
>