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