Panda SVN trunk

Strange question but where is panda 3d svn trunk , I can`t find it enywhere. Is it public ?

it’s on sourceforge and it’s public.(afaik^ :smiley: ) check the “code”->“svn” tab.
hf downloading it :slight_smile:

greetings thomasegi

Panda3D has actually no SVN trunk. It does have a CVS.
Visit it here. You can download it there or browse it online.

I’m not deeply familiar with sourceforge; this may be a question for their forums, but I’m hoping someone knows more about it here than I do.

What would be involved in causing the Panda3D svn trunk to be a mirror of the Panda3D cvs trunk? Would it be at all possible to cause that to occur in an automated fashion, or is sourceforge set up to have “cvs and svn repositories, but they aren’t directly linked in any way?”

The rest of our toolchain is svn, and I’m personally a huge fan of its features in comparison to cvs. While I’m happy to use cvs, if enabling svn access to the panda3d sources is as simple as flipping one switch on the sourceforge account I’d be very much in favor of it.

Does anybody know how complicated that process is?

From what I understand about subversion, moving to it is a mostly one-way commitment. We could migrate the entire code tree into svn, abandoning cvs–though we’d prefer not to do that, since all of our toolchain is based on cvs. :slight_smile:

I don’t know of any way to make svn automatically and continuously shadow a cvs tree. It might be possible, but it’s not as simple as flipping a switch somewhere.


I want to resume this thread. Why don’t you switch to SVN now?

We live by now in 2009, SVN is universally better than CVS and all Panda-related projects (editors, exporters, etc.) are SVN-based…so why not?



I must say I don’t entirely agree with your post. SVN indeed has lots of benefits but I don’t think Panda3D should switch to using it too. IMHO, CVS is much better suited for big and complicated projects like Panda, while SVN is better suited for the small projects.

Try stuff like branching, tagging and merging in SVN. You’ll find that CVS works much better with that. (thats stuff thats done often in Panda3D project but not in small projects.)

Would there be a particular benefit for you if Panda would use SVN?

Not directly, but in my opinion SVN is easier to use than CVS.

Anyway it’s not a big problem… :slight_smile:

Then feel free to use SVN to store your own projects. :slight_smile:

Seriously, I won’t argue that in many ways SVN is an improvement over CVS. But I will also agree with pro-rsoft that there are still things that CVS does better than SVN. Couple that with the fact that the Disney VR Studio, which is still the primary contributor to Panda, also uses CVS for all of our other code trees, and the inevitable conclusion is that there’s no good reason to switch, at least for now.

We could have a similar discussion about every other revision-control system out there (and this sort of discussion does come up from time to time; everyone has their own favorite system). All of these other systems are better than CVS in some ways, and not as good as CVS in other ways. But none of them are so vastly better that we need to immediately abandon CVS in favor of this new system.


Just for the record, if any bazaar fans are reading this, launchpad mirrors the CVS repository in a BZR repository, here:

Although keep in mind that it lags behind on the CVS repo. But still, I like launchpad’s interface as it supports a lot more than ViewVC.

I finally found it! The link to the CVS repository from the Panda3d website! Just click over to the manual, and under Panda Tools -> Model Export, in “Parsing and Generating Egg Files”, there’s a link to Sourceforge.

I think that’s the only mention, though, outside the forums. Perhaps the existence of a CVS repository should be linked from the download page?

Good point. I’ve just added a small section to the download page.

Hi there, sorry for awaking the dead here, but I thought this thread could do with more discussion.

SVN is a little older and wiser since this discussion, and its generally more stable than cvs. It’s still a little slow for large projects, but in September its getting an update that should make it a much speedier choice (1.7.0), though no doubt that will take a few months to propagate through the toolchains.

The main reason I think its worth considering is that nearly everything supports svn first and foremost, with git and a few others doing ok. TortoiseSVN for example, is a well known windows tool, there’s tortoiseCVS, but it doesn’t support Windows Vista or 7 and probably never will (it seems to partially work, though I’ve had a few crashes) development appears dead. For Linux its worse, theres RabbitVCS as the only graphical integrated VCS tool around, it works with SVN and maybe git soonish, but no plans to ever integrate cvs, because its old and replaced by svn. Mac has Conerstone and a few other very good SVN tools (svnX is free, but a little less pretty), but no cvs equivalents.

I don’t understand this, is it your personal experience? Wikipedia reckons it does it better than cvs…

With all that said, I don’t know how cvs dependent your toolchain is, so it may really be more trouble than it’s worth, but you shouldn’t fear svn for large projects, the company I’m at has a 20GB svn (it can be a little slow to update I admit, I have to make smaller working copies for the part im working on if i want responsive behavior, but it can cope with the whole thing if I’m patient) and chromium is in an svn, it’s certainly a little larger than panda3d.

Does smartCVS crash on Vista/7 ?

hmm… ill try it out, doesn’t look as integrated as tortoise, but i guess that’s not a big deal.

I think my point still stands however, there is loads of work going on for svn and its tools, not so much for cvs.

If branching and merging is really a big deal, cvs is considered one of the worst for that, maybe git or mercurial (ie a distributed VCS) would work better? mercurial in particular has a very effective merging system.

Yeah. I said it a few posts back, and I’ll say it here again: SVN is clearly better than CVS in many respects. But it is only a little bit better; it’s not vastly better. And there are indeed some things that CVS does well that SVN does not. (Last time I looked, SVN had no facility to remove old unused versions from a repository, making it unsuitable for managing trees of large, compiled DLL’s in parallel with the source tree, which is one of the things we rely on CVS for.)

But switching RCS is a hideously difficult proposition, because there are many developers who touch on this project. (Most of them aren’t visible to the community, but within Disney there are at least 20-30 developers who interact with CVS every day, and part of their work is in Panda.)

It can be done. We’ve done it before, years ago, when we switched to CVS (and that was a great switch, btw), and there’s a proposal afloat to do it again soon, perhaps to Bazaar or git. But it has to be something that’s (a) vastly better than the current system in many respects, and (b) ideally, not likely to be considered old-fashioned again in another couple of years.


fair enough, a good answer, I’m glad that other options are being considered, even if you can’t say whether you will switch anytime soon.

I can cope with cvs, I only brought this up since it just adds the bloat of yet another set of tools (which I then have to learn) to my pc (which I then have to get working in 3 different OSes of course).

but just an fyi, you’re right about the lack of a “true” delete in svn, but that’s being worked on, the “obliterate” command will turn up at some point. It could be argued that you shouldn’t be destroying the version control of your dlls anyway (or why put them in a version control system in the first place? surely if you revert to an old revision you will need the old dlls?) not as if drive space is expensive nowadays :slight_smile:

But anyway, I think I can imagine the horror of trying to move 20-30 people onto a new toolset all at once :laughing:

There’s a bzr repository mirroring the CVS repository:
That’s very experimental though, as part of my experiments to try out how switching to bzr would work out.