Need advice: cloning python cvs for CE project

There are now 4 different people working on the "python ce" project. We've been passing around build tree .zips and it's getting out of hand.
I think we should setup our own CVS somewhere so we can work out all the CE kinks before submitting patches to the core Python CVS.
Is it possible to maintain a single working directory that can be checked into two different CVS systems?
I really have no idea what the proper way is to do this.. Looking for recommendations, including "don't do that, do this instead".
Thanks
Brad Clements, bkc@murkworks.com (315)268-1000 http://www.murkworks.com (315)268-9812 Fax AOL-IM: BKClements

There are now 4 different people working on the "python ce" project. We've been passing around build tree .zips and it's getting out of hand.
I think we should setup our own CVS somewhere so we can work out all the CE kinks before submitting patches to the core Python CVS.
Is it possible to maintain a single working directory that can be checked into two different CVS systems?
I really have no idea what the proper way is to do this.. Looking for recommendations, including "don't do that, do this instead".
Perhaps you can work on a branch of the standard Python CVS tree? If you're all Python developers (or can be sworn in easily) that would work.
Otherwise you could set up your own SF project "pythonce" and do a vendor branch checkin of Python. I've never used vendor branches myself, but Kurt Kaiser uses them in the idlefork CVS, which deals with a similar issue.
--Guido van Rossum (home page: http://www.python.org/~guido/)

Guido van Rossum guido@python.org writes:
Otherwise you could set up your own SF project "pythonce" and do a vendor branch checkin of Python. I've never used vendor branches myself, but Kurt Kaiser uses them in the idlefork CVS, which deals with a similar issue.
I would recommend this strategy. Supposedly, you will rarely need to perform imports from PythonLabs Python: the CE changes should be largely independent of how PythonLabs Python develops.
Imports might be needed only when a chunk of your changes is accepted into CVS Python.
You don't need a separate SF project, perhaps: A CVS module on the python project might be sufficient. We can ask SF to remove the tree when/if CE incorporation is complete.
Regards, Martin

On 24 Sep 2002 at 0:02, Martin v. Loewis wrote:
Guido van Rossum guido@python.org writes:
Otherwise you could set up your own SF project "pythonce" and do a vendor branch checkin of Python. I've never used vendor branches myself, but Kurt Kaiser uses them in the idlefork CVS, which deals with a similar issue.
I would recommend this strategy. Supposedly, you will rarely need to perform imports from PythonLabs Python: the CE changes should be largely independent of how PythonLabs Python develops.
Agreed. We'd snapshot from the core to the CE working CVS periodically.
We cannot keep up with the rate of core changes until we get our act together. In the end, we shouldn't really have anything outside the core if we "do it right".
You don't need a separate SF project, perhaps: A CVS module on the python project might be sufficient. We can ask SF to remove the tree when/if CE incorporation is complete.
Can someone who understands the mechanics of how this works explain it? I'm not skilled enough in CVS to visualize the process of importing from the core, while still being able to track commit/update's from the CE tree.
Also, none of the developers have core CVS access now, so I do not think a branch would be appropriate.
Brad Clements, bkc@murkworks.com (315)268-1000 http://www.murkworks.com (315)268-9812 Fax AOL-IM: BKClements

"Brad Clements" bkc@murkworks.com writes:
Can someone who understands the mechanics of how this works explain it?
1. Export a "blank tree"
cvs -d :pserver:anonymous@cvs.python.sourceforge.net:/cvsroot/python export python
2. Import it into a fresh repository
cvs -d :ext:developername@cvs.python.sourceforge.net:/cvsroot/python import pythonce Pythonlabs cvs_from_020924
3. Make a sandbox for your module
cvs -d :pserver:anonymous@cvs.python.sourceforge.net:/cvsroot/python export -d MyPythonCE pythonce
Then, whenever you incorporate another Pythonlabs snapshot, import it again. cvs will tell you the command to join your tree with the imported tree when the import is complete.
HTH, Martin

FWIW, a breakin at my house means my insurance company is funding a sparkling new CE machine for me - which means PythonCE should be able to work again for me soon :) My Linux box (laptop) was taken at the same time, and it seems the replacement will be significantly faster than my desktop. Gotta love insurance ;)
Also, none of the developers have core CVS access now, so I do not think a branch would be appropriate.
I havent been up to date with the latest PythonCE work, but I believe there are two key issues:
1) Fairly simple patches to random files that allow CE to compile. These are generally fairly transparent, and generally just #ifdef out certain features.
2) Larger patches or new source files that involve significant code - often a re-implementation of something missing from CE that Python really likes to have, or converting everything to and from Unicode for the CE API.
I believe (1) could be handled using the source forge patch manager, as patches to the core. Depending on how much this reduces the size of the patch, the best way to handle (2) could be determined later.
I'm happy to help steer some of this through, and as I said above, I should actually be in a position to build and test PythonCE again soon. I've got a few busy weeks ahead of me, but after that will have some Python time back.
Mark.
participants (4)
-
Brad Clements
-
Guido van Rossum
-
Mark Hammond
-
martin@v.loewis.de