Difference between revisions of "User:Enus Linden/Pyogp Refactor Notes"

From Second Life Wiki
Jump to navigation Jump to search
Line 386: Line 386:
So we can start on packaging improvements themselves next. First, to explore the pyogp.lib.base package, since that is our focus. We'll clean up other things down the road as needed.
So we can start on packaging improvements themselves next. First, to explore the pyogp.lib.base package, since that is our focus. We'll clean up other things down the road as needed.
</pre>
== Step 3 ==
<pre>
Moving the license info:
enus$ svn ci -m "moving the license info to the header of the file"
Sending        trunk/pyogp/__init__.py
Sending        trunk/pyogp/lib/__init__.py
Sending        trunk/pyogp/lib/base/__init__.py
Sending        trunk/pyogp/lib/base/agent.py
Sending        trunk/pyogp/lib/base/agentdomain.py
Sending        trunk/pyogp/lib/base/agentmanager.py
Sending        trunk/pyogp/lib/base/appearance.py
Sending        trunk/pyogp/lib/base/assets.py
Sending        trunk/pyogp/lib/base/caps.py
Sending        trunk/pyogp/lib/base/datamanager.py
Sending        trunk/pyogp/lib/base/datatypes.py
Sending        trunk/pyogp/lib/base/event_queue.py
Sending        trunk/pyogp/lib/base/event_system.py
Sending        trunk/pyogp/lib/base/exc.py
Sending        trunk/pyogp/lib/base/groups.py
Sending        trunk/pyogp/lib/base/inventory.py
Sending        trunk/pyogp/lib/base/login.py
Sending        trunk/pyogp/lib/base/message/__init__.py
Sending        trunk/pyogp/lib/base/message/circuit.py
Sending        trunk/pyogp/lib/base/message/data/__init__.py
Sending        trunk/pyogp/lib/base/message/data_packer.py
Sending        trunk/pyogp/lib/base/message/data_unpacker.py
Sending        trunk/pyogp/lib/base/message/factory.py
Sending        trunk/pyogp/lib/base/message/llsd_builder.py
Sending        trunk/pyogp/lib/base/message/llsd_sender.py
Sending        trunk/pyogp/lib/base/message/message.py
Sending        trunk/pyogp/lib/base/message/message_dot_xml.py
Sending        trunk/pyogp/lib/base/message/message_handler.py
Sending        trunk/pyogp/lib/base/message/msgtypes.py
Sending        trunk/pyogp/lib/base/message/template.py
Sending        trunk/pyogp/lib/base/message/template_dict.py
Sending        trunk/pyogp/lib/base/message/template_parser.py
Sending        trunk/pyogp/lib/base/message/tests/__init__.py
Sending        trunk/pyogp/lib/base/message/tests/packet_test.py
Sending        trunk/pyogp/lib/base/message/tests/test_circuits.py
Sending        trunk/pyogp/lib/base/message/tests/test_llsd_builder.py
Sending        trunk/pyogp/lib/base/message/tests/test_message_wrapper.py
Sending        trunk/pyogp/lib/base/message/tests/test_packetdata.py
Sending        trunk/pyogp/lib/base/message/tests/test_template_parser.py
Sending        trunk/pyogp/lib/base/message/tests/test_udp_deserializer.py
Sending        trunk/pyogp/lib/base/message/tests/test_udp_serializer.py
Sending        trunk/pyogp/lib/base/message/tests/test_udpconnection.py
Sending        trunk/pyogp/lib/base/message/udpdeserializer.py
Sending        trunk/pyogp/lib/base/message/udpdispatcher.py
Sending        trunk/pyogp/lib/base/message/udpserializer.py
Sending        trunk/pyogp/lib/base/network/__init__.py
Sending        trunk/pyogp/lib/base/network/net.py
Sending        trunk/pyogp/lib/base/network/stdlib_client.py
Sending        trunk/pyogp/lib/base/network/tests/__init__.py
Sending        trunk/pyogp/lib/base/network/tests/basics.txt
Sending        trunk/pyogp/lib/base/network/tests/mockup_client.py
Sending        trunk/pyogp/lib/base/network/tests/mockup_net.py
Sending        trunk/pyogp/lib/base/network/tests/network_test.txt
Sending        trunk/pyogp/lib/base/network/tests/testDocTests.py
Sending        trunk/pyogp/lib/base/objects.py
Sending        trunk/pyogp/lib/base/parcel.py
Sending        trunk/pyogp/lib/base/permissions.py
Sending        trunk/pyogp/lib/base/region.py
Sending        trunk/pyogp/lib/base/settings.py
Sending        trunk/pyogp/lib/base/tests/__init__.py
Sending        trunk/pyogp/lib/base/tests/agent.txt
Sending        trunk/pyogp/lib/base/tests/base.py
Sending        trunk/pyogp/lib/base/tests/caps.txt
Sending        trunk/pyogp/lib/base/tests/config.py
Sending        trunk/pyogp/lib/base/tests/login.txt
Sending        trunk/pyogp/lib/base/tests/message_handler.txt
Sending        trunk/pyogp/lib/base/tests/mock_xmlrpc.py
Sending        trunk/pyogp/lib/base/tests/mockup_client.py
Sending        trunk/pyogp/lib/base/tests/mockup_net.py
Sending        trunk/pyogp/lib/base/tests/region.txt
Sending        trunk/pyogp/lib/base/tests/testDocTests.py
Sending        trunk/pyogp/lib/base/tests/test_agent.py
Sending        trunk/pyogp/lib/base/tests/test_appearance.py
Sending        trunk/pyogp/lib/base/tests/test_datatypes.py
Sending        trunk/pyogp/lib/base/tests/test_event_queue.py
Sending        trunk/pyogp/lib/base/tests/test_event_system.py
Sending        trunk/pyogp/lib/base/tests/test_events.py
Sending        trunk/pyogp/lib/base/tests/test_helpers.py
Sending        trunk/pyogp/lib/base/tests/test_inventory.py
Sending        trunk/pyogp/lib/base/tests/test_legacy_login.py
Sending        trunk/pyogp/lib/base/tests/test_objects.py
Sending        trunk/pyogp/lib/base/tests/test_ogp_login.py
Sending        trunk/pyogp/lib/base/tests/test_parcel.py
Sending        trunk/pyogp/lib/base/tests/test_region.py
Sending        trunk/pyogp/lib/base/utilities/__init__.py
Sending        trunk/pyogp/lib/base/utilities/build_packet_templates.py
Sending        trunk/pyogp/lib/base/utilities/enums.py
Sending        trunk/pyogp/lib/base/utilities/events.py
Sending        trunk/pyogp/lib/base/utilities/helpers.py
Sending        trunk/pyogp/lib/base/utilities/parse_packet.py
Sending        trunk/pyogp/lib/base/visualparams.py
Transmitting file data ...........................................................................................
Committed revision 2624.
Checked that the above changes didn't screw over Sphinx generated docs.
Created pyogp.apps
[22:38:07] [enus@sune] pyogp$ svn ci -m "starting to buildout pyogp.apps. renaming apps to pyogp.apps, adding LICENSE.txt ad CONTRIBUTORS.txt. need to move the examples dir to trunk/pyogp/apps/examples/, and add setup.* files"
Deleting      apps
Adding        pyogp.apps
Adding        pyogp.apps/branches
Adding        pyogp.apps/tags
Adding        pyogp.apps/trunk
Adding        pyogp.apps/trunk/CONTRIBUTORS.txt
Adding        pyogp.apps/trunk/LICENSE.txt
Adding        pyogp.apps/trunk/pyogp
Adding        pyogp.apps/trunk/pyogp/apps
Transmitting file data ..
Committed revision 2627.
Move examples to the new location
[22:40:08] [enus@sune] pyogp$ svn ci -m "moving pyogp.apps/trunk/examples to pyogp.apps/trunk/pyogp/apps/examples/"
Deleting      pyogp.apps/trunk/examples
Adding        pyogp.apps/trunk/pyogp/apps/examples
Committed revision 2628.
Update the buildout so that continues to work (untested ;) )
[22:46:15] [enus@sune] trunk$ svn ci -m "temporary hack to allow apps/ in the libdev buildout to map to the new pyogp.apps/trunk/pyogp/apps dir. this should change entirely if we continue to support buildout..."
Sending        trunk
Committed revision 2629.
Now for some fun..... tagged as release-0.1 pyogp.lib.base
[22:55:37] [enus@sune] pyogp.lib.base$ svn copy -m "testing a tagged version of pyogp.lib.base" https://svn.secondlife.com/svn/linden/projects/2008/pyogp/pyogp.lib.base/trunk https://svn.secondlife.com/svn/linden/projects/2008/pyogp/pyogp.lib.base/tags/release-0.1
Committed revision 2630.
Renamed tag
[23:12:06] [enus@sune] trunk$ svn ci -m "renaming the tag of pyogp.lib.base" ../../pyogp.lib.base/
Adding        pyogp.lib.base/tags/0.1
Deleting      pyogp.lib.base/tags/release-0.1
Committed revision 2631.
Created an egg (ew) of the tag
------------------------------------------------------------------------
r2632 | enus.linden | 2009-08-20 23:20:08 -0700 (Thu, 20 Aug 2009) | 1 line
checking in an egg for pyogp.lib.base tag 0.1
Update to pyogp.apps to pull the pyogp.lib.base tagged egg, tested via a single script run (region_connect)
[23:45:09] [enus@sune] trunk$ svn ci -m "another small incomplete step on the way to building out pyogp.apps as a package. added a dependency on the tagged 0.1 version of pyogp.lib.base, tested, and working. also, removed setup_path.py check on the unnecessary indra.ipc"
Sending        trunk/pyogp/apps/examples/setup_path.py
Sending        trunk/setup.py
Transmitting file data ..
Committed revision 2633
</pre>
</pre>

Revision as of 07:36, 21 August 2009

I'll keep track generally of what I do here. Sometimes it will be very explicit, particularly when dealing with architecture, other times it will just be narrative...

Step 1

ToDo List:
	1. move all license info to top of file in trunk of pyogp.lib.base, with a new line at the top so Sphinx doesn't capture it...
	
Done:
	1. removed the obvious directories

Last revision prior to the refactor starting.

	enus$ svn info
		Path: .
		URL: https://svn.secondlife.com/svn/linden/projects/2008/pyogp
		Repository Root: https://svn.secondlife.com/svn/linden
		Repository UUID: a6265765-422e-0410-accc-9fb60e44a920
		Revision: 2596
		Node Kind: directory
		Schedule: normal
		Last Changed Author: kotler.linden
		Last Changed Rev: 2595
		Last Changed Date: 2009-08-10 14:51:57 -0700 (Mon, 10 Aug 2009)

Directory listing of the root of https://svn.secondlife.com/svn/linden/projects/2008/pyogp:
	
	enus$ ls -l | awk -F" " '{print $9}'
		CONTRIBUTORS.txt
		LICENSE.txt
		apps
		buildouts
		examples
		indra
		pyogp.interop
		pyogp.lib.agentdomain
		pyogp.lib.base
		pyogp.testharness
		sandbox
		tests

First steps: clean up the root directory of cruft...
	
	https://svn.secondlife.com/svn/linden/projects/2008/pyogp should be the home for a set of packages, nothing more.
	To accomplish this, we need to:
		create pyogp.apps as a package
		create pyogp.test (move pyogp.interop components here, create a new test wrapper)

	 	removes apps/ (depends on: create pyogp.apps as a package)
		remove examples/
		remove indra/
		remove sandbox/
		remove tests/

		we'll also get rid of buildouts/, but must first come up with alternate install/config instructions
		
		CONTRIBUTORS.txt and LICENSE.txt need to move to each package 

	Done:
		1. removed the examples directory
		
			enus$ svn log examples
			------------------------------------------------------------------------
			r1348 | tao.takashi | 2008-10-23 14:09:06 -0700 (Thu, 23 Oct 2008) | 29 lines
		
			enus$ svn delete examples	
			D         examples/simplelogin/login.py
			D         examples/simplelogin/README.txt
			D         examples/simplelogin
			D         examples/presence/presence/configure.zcml
			D         examples/presence/presence/__init__.py
			D         examples/presence/presence/test1.py
			D         examples/presence/presence/events.py
			D         examples/presence/presence
			D         examples/presence/setup.py
			D         examples/presence/setup.cfg
			D         examples/presence
			D         examples/old_scripts/makepacketdict.py
			D         examples/old_scripts/zerocode.py
			D         examples/old_scripts/legacy/presence_code.py
			D         examples/old_scripts/legacy
			D         examples/old_scripts/README.txt
			D         examples/old_scripts/pyogp-login.py
			D         examples/old_scripts
			D         examples/README.txt
			D         examples

		2. removed the indra directory
		
			enus$ svn log indra
			------------------------------------------------------------------------
			r1189 | enus.linden | 2008-09-16 10:46:22 -0700 (Tue, 16 Sep 2008) | 1 line
			
			enus$ svn delete --force indra
			D         indra/indra.base/trunk/setup.py
			D         indra/indra.base/trunk/docs/HISTORY.txt
			D         indra/indra.base/trunk/docs
			D         indra/indra.base/trunk/README.txt
			D         indra/indra.base/trunk/indra/__init__.py
			D         indra/indra.base/trunk/indra/base/lllog.py
			D         indra/indra.base/trunk/indra/base/tests/testDocTests.py
			D         indra/indra.base/trunk/indra/base/tests/__init__.py
			D         indra/indra.base/trunk/indra/base/tests/indrabase.txt
			D         indra/indra.base/trunk/indra/base/tests
			D         indra/indra.base/trunk/indra/base/llsd.py
			D         indra/indra.base/trunk/indra/base/lluuid.py
			D         indra/indra.base/trunk/indra/base/__init__.py
			D         indra/indra.base/trunk/indra/base/cllsd_test.py
			D         indra/indra.base/trunk/indra/base/config.py
			D         indra/indra.base/trunk/indra/base/metrics.py
			D         indra/indra.base/trunk/indra/base
			D         indra/indra.base/trunk/indra
			D         indra/indra.base/trunk/setup.cfg
			D         indra/indra.base/trunk
			D         indra/indra.base/branches
			D         indra/indra.base/tags
			D         indra/indra.base
			D         indra/buildout/bootstrap.py
			D         indra/buildout/buildout.cfg
			D         indra/buildout/src/EXTERNAlS.txt
			D         indra/buildout/src
			D         indra/buildout
			D         indra/indra.ipc/trunk/indra.ipc.egg-info/SOURCES.txt
			D         indra/indra.ipc/trunk/indra.ipc.egg-info/top_level.txt
			D         indra/indra.ipc/trunk/indra.ipc.egg-info/namespace_packages.txt
			D         indra/indra.ipc/trunk/indra.ipc.egg-info/PKG-INFO
			D         indra/indra.ipc/trunk/indra.ipc.egg-info/entry_points.txt
			D         indra/indra.ipc/trunk/indra.ipc.egg-info/dependency_links.txt
			D         indra/indra.ipc/trunk/indra.ipc.egg-info/not-zip-safe
			D         indra/indra.ipc/trunk/indra.ipc.egg-info/paster_plugins.txt
			D         indra/indra.ipc/trunk/indra.ipc.egg-info/requires.txt
			D         indra/indra.ipc/trunk/indra.ipc.egg-info
			D         indra/indra.ipc/trunk/setup.py
			D         indra/indra.ipc/trunk/docs/HISTORY.txt
			D         indra/indra.ipc/trunk/docs
			D         indra/indra.ipc/trunk/README.txt
			D         indra/indra.ipc/trunk/indra/__init__.py
			D         indra/indra.ipc/trunk/indra/ipc/siesta.py
			D         indra/indra.ipc/trunk/indra/ipc/webdav.py
			D         indra/indra.ipc/trunk/indra/ipc/compatibility.py
			D         indra/indra.ipc/trunk/indra/ipc/llmessage.py
			D         indra/indra.ipc/trunk/indra/ipc/russ.py
			D         indra/indra.ipc/trunk/indra/ipc/tokenstream.py
			D         indra/indra.ipc/trunk/indra/ipc/httputil.py
			D         indra/indra.ipc/trunk/indra/ipc/llsdhttp.py
			D         indra/indra.ipc/trunk/indra/ipc/mysql_pool.py
			D         indra/indra.ipc/trunk/indra/ipc/saranwrap.py
			D         indra/indra.ipc/trunk/indra/ipc/__init__.py
			D         indra/indra.ipc/trunk/indra/ipc/xml_rpc.py
			D         indra/indra.ipc/trunk/indra/ipc/servicebuilder.py
			D         indra/indra.ipc/trunk/indra/ipc/siesta_test.py
			D         indra/indra.ipc/trunk/indra/ipc
			D         indra/indra.ipc/trunk/indra
			D         indra/indra.ipc/trunk/setup.cfg
			D         indra/indra.ipc/trunk
			D         indra/indra.ipc/branches
			D         indra/indra.ipc/tags
			D         indra/indra.ipc
			D         indra/indra.util/trunk/setup.py
			D         indra/indra.util/trunk/docs/HISTORY.txt
			D         indra/indra.util/trunk/docs
			D         indra/indra.util/trunk/README.txt
			D         indra/indra.util/trunk/indra/__init__.py
			D         indra/indra.util/trunk/indra/util/named_query.py
			D         indra/indra.util/trunk/indra/util/shutil2.py
			D         indra/indra.util/trunk/indra/util/helpformatter.py
			D         indra/indra.util/trunk/indra/util/llversion.py
			D         indra/indra.util/trunk/indra/util/llmanifest.py
			D         indra/indra.util/trunk/indra/util/__init__.py
			D         indra/indra.util/trunk/indra/util/llsubprocess.py
			D         indra/indra.util/trunk/indra/util/fastest_elementtree.py
			D         indra/indra.util/trunk/indra/util/term.py
			D         indra/indra.util/trunk/indra/util
			D         indra/indra.util/trunk/indra
			D         indra/indra.util/trunk/setup.cfg
			D         indra/indra.util/trunk
			D         indra/indra.util/branches
			D         indra/indra.util/tags
			D         indra/indra.util
			D         indra

		3. removed the sandbox directory
		
			enus$ svn log sandbox
			------------------------------------------------------------------------
			r1189 | enus.linden | 2008-09-16 10:46:22 -0700 (Tue, 16 Sep 2008) | 1 line
			
			enus$ svn delete sandbox
			D         sandbox/trunk/setup.py
			D         sandbox/trunk/sandbox/__init__.py
			D         sandbox/trunk/sandbox/mrtopf/zerocode.py
			D         sandbox/trunk/sandbox/mrtopf/example1.py
			D         sandbox/trunk/sandbox/mrtopf/__init__.py
			D         sandbox/trunk/sandbox/mrtopf/notes/highlevel_api1.txt
			D         sandbox/trunk/sandbox/mrtopf/notes
			D         sandbox/trunk/sandbox/mrtopf/networktest/1/client.py
			D         sandbox/trunk/sandbox/mrtopf/networktest/1/server.py
			D         sandbox/trunk/sandbox/mrtopf/networktest/1
			D         sandbox/trunk/sandbox/mrtopf/networktest/2/connection.py
			D         sandbox/trunk/sandbox/mrtopf/networktest/2/threadedclient.py
			D         sandbox/trunk/sandbox/mrtopf/networktest/2/threadedclient2.py
			D         sandbox/trunk/sandbox/mrtopf/networktest/2/network/selectudp.py
			D         sandbox/trunk/sandbox/mrtopf/networktest/2/network/threadedudp.py
			D         sandbox/trunk/sandbox/mrtopf/networktest/2/network/threadedudp2.py
			D         sandbox/trunk/sandbox/mrtopf/networktest/2/network/twistedudp.py
			D         sandbox/trunk/sandbox/mrtopf/networktest/2/network/__init__.py
			D         sandbox/trunk/sandbox/mrtopf/networktest/2/network/t.py
			D         sandbox/trunk/sandbox/mrtopf/networktest/2/network
			D         sandbox/trunk/sandbox/mrtopf/networktest/2/twistedclient.py
			D         sandbox/trunk/sandbox/mrtopf/networktest/2/t.py
			D         sandbox/trunk/sandbox/mrtopf/networktest/2/twistedclient2.py
			D         sandbox/trunk/sandbox/mrtopf/networktest/2/server.py
			D         sandbox/trunk/sandbox/mrtopf/networktest/2
			D         sandbox/trunk/sandbox/mrtopf/networktest/3/client.py
			D         sandbox/trunk/sandbox/mrtopf/networktest/3/server.py
			D         sandbox/trunk/sandbox/mrtopf/networktest/3
			D         sandbox/trunk/sandbox/mrtopf/networktest/4/server2.py
			D         sandbox/trunk/sandbox/mrtopf/networktest/4/mclient-1.py
			D         sandbox/trunk/sandbox/mrtopf/networktest/4/mclient.py
			D         sandbox/trunk/sandbox/mrtopf/networktest/4/mclient2.py
			D         sandbox/trunk/sandbox/mrtopf/networktest/4/client.py
			D         sandbox/trunk/sandbox/mrtopf/networktest/4/mclient3.py
			D         sandbox/trunk/sandbox/mrtopf/networktest/4/mclient4.py
			D         sandbox/trunk/sandbox/mrtopf/networktest/4/readme
			D         sandbox/trunk/sandbox/mrtopf/networktest/4/server.py
			D         sandbox/trunk/sandbox/mrtopf/networktest/4
			D         sandbox/trunk/sandbox/mrtopf/networktest/README.txt
			D         sandbox/trunk/sandbox/mrtopf/networktest
			D         sandbox/trunk/sandbox/mrtopf/._zerocode.py
			D         sandbox/trunk/sandbox/mrtopf
			D         sandbox/trunk/sandbox
			D         sandbox/trunk/setup.cfg
			D         sandbox/trunk
			D         sandbox/branches
			D         sandbox/tags
			D         sandbox
			
		4. removed the tests directory
		
			enus$ svn log tests
			------------------------------------------------------------------------
			r734 | tess.linden | 2008-07-03 16:43:08 -0700 (Thu, 03 Jul 2008) | 1 line
			
			enus$ svn delete tests
			D         tests/simulator
			D         tests/test_rez_avatar.py
			D         tests/agentdomain
			D         tests/test.py
			D         tests/test_request_rez_avatar.py
			D         tests/test_derez_avatar.py
			D         tests/client
			D         tests

		5. check it all in:
		
			enus$ svn ci -m "removing nonessential root directories" .
			Deleting       examples
			Deleting       indra
			Deleting       sandbox
			Deleting       tests

			Committed revision 2602.

Step 2

Clean up directories in pyogp.lib.base/branches

	enus$ ls -l | awk -F" " '{print $9}'

	appearance
	appearance2
	asset_upload
	callback-refactor
	combined_message_handling
	enus-refactor
	inventory_extension
	kotler_tests
	mrtopf-networklayer
	wx-base
	
	
	enus$ svn ci -m "removing unneeded branches" --username enus.linden .
	Deleting       branches/callback-refactor
	Deleting       branches/combined_message_handling
	Deleting       branches/enus-refactor
	Deleting       branches/inventory_extension
	Deleting       branches/mrtopf-networklayer
	Deleting       branches/wx-base
	
	Committed revision 2611.

Clean up other base dirs

	enus$ svn delete pyogp.testharness/
	D         pyogp.testharness
	enus$ svn ci -m "removing unused package namespace" --username enus.linden .
	Deleting       pyogp.testharness

	Committed revision 2612.
	
Updated and distributed CONTRIBUTORS.txt LICENSE.txt and README.txt

	enus$ svn ci -m "moving LICENSE.txt and CONTRIBUTORS.txt into the proper locations" --username enus.linden
	Deleting       CONTRIBUTORS.txt
	Deleting       LICENSE.txt
	Adding         pyogp.interop/trunk/CONTRIBUTORS.txt
	Adding         pyogp.interop/trunk/LICENSE.txt
	Adding         pyogp.lib.agentdomain/trunk/CONTRIBUTORS.txt
	Adding         pyogp.lib.agentdomain/trunk/LICENSE.txt
	Sending        pyogp.lib.agentdomain/trunk/README.txt
	Adding         pyogp.lib.base/trunk/CONTRIBUTORS.txt
	Adding         pyogp.lib.base/trunk/LICENSE.txt
	Adding         pyogp.lib.base/trunk/README.txt
	Transmitting file data ........
	Committed revision 2614.

Remove extra buildout branch

	enus$ svn delete --force buildouts/xrds_support
	D         buildouts/xrds_support/trunk/IGNORES.txt
	D         buildouts/xrds_support/trunk/bootstrap.py
	D         buildouts/xrds_support/trunk/buildout.cfg
	D         buildouts/xrds_support/trunk/src/EXTERNALS.txt
	D         buildouts/xrds_support/trunk/src
	D         buildouts/xrds_support/trunk
	D         buildouts/xrds_support/branches
	D         buildouts/xrds_support/tags
	D         buildouts/xrds_support
	enus$ svn ci -m "removing unnecessary branch" --username enus.linden
	Deleting       buildouts/xrds_support

	Committed revision 2615.

Removing extra pyogp.interop branch

	enus$ svn delete ./pyogp.interop/branches/enus-refactor
	D         pyogp.interop/branches/enus-refactor/setup.py
	D         pyogp.interop/branches/enus-refactor/docs/HISTORY.txt
	D         pyogp.interop/branches/enus-refactor/docs
	D         pyogp.interop/branches/enus-refactor/README.txt
	D         pyogp.interop/branches/enus-refactor/pyogp/interop/tests/test_ogp_cap_agent_session.py
	D         pyogp.interop/branches/enus-refactor/pyogp/interop/tests/test_ogp_cap_rez_avatar_place.py
	D         pyogp.interop/branches/enus-refactor/pyogp/interop/tests/test_legacy_login.py
	D         pyogp.interop/branches/enus-refactor/pyogp/interop/tests/test_region_connect.py
	D         pyogp.interop/branches/enus-refactor/pyogp/interop/tests/test_ogp_cap_rez_avatar_request.py
	D         pyogp.interop/branches/enus-refactor/pyogp/interop/tests/__init__.py
	D         pyogp.interop/branches/enus-refactor/pyogp/interop/tests/test_ogp_cap_agent_info.py
	D         pyogp.interop/branches/enus-refactor/pyogp/interop/tests/test_sim_movement.py
	D         pyogp.interop/branches/enus-refactor/pyogp/interop/tests/helpers.py
	D         pyogp.interop/branches/enus-refactor/pyogp/interop/tests/test_ogp_teleport.py
	D         pyogp.interop/branches/enus-refactor/pyogp/interop/tests/test_ogp_cap_rez_avatar_rez.py
	D         pyogp.interop/branches/enus-refactor/pyogp/interop/tests/chat_window.py
	D         pyogp.interop/branches/enus-refactor/pyogp/interop/tests/test_ogp_cap_get_region_public_seed.py
	D         pyogp.interop/branches/enus-refactor/pyogp/interop/tests/test_sim_presence.py
	D         pyogp.interop/branches/enus-refactor/pyogp/interop/tests/test_ogp_login.py
	D         pyogp.interop/branches/enus-refactor/pyogp/interop/tests/test_ogp_cap_rez_avatar_derez.py
	D         pyogp.interop/branches/enus-refactor/pyogp/interop/tests/test_ogp_agentdomain_event_queues.py
	D         pyogp.interop/branches/enus-refactor/pyogp/interop/tests/test_ogp_cap_region_info.py
	D         pyogp.interop/branches/enus-refactor/pyogp/interop/tests/test_sim_chat.py
	D         pyogp.interop/branches/enus-refactor/pyogp/interop/tests
	D         pyogp.interop/branches/enus-refactor/pyogp/interop/__init__.py
	D         pyogp.interop/branches/enus-refactor/pyogp/interop/testconfig_template.cfg
	D         pyogp.interop/branches/enus-refactor/pyogp/interop
	D         pyogp.interop/branches/enus-refactor/pyogp/__init__.py
	D         pyogp.interop/branches/enus-refactor/pyogp
	D         pyogp.interop/branches/enus-refactor/setup.cfg
	D         pyogp.interop/branches/enus-refactor
	enus$ svn ci -m "removing unnecessary branch" --username enus.linden
	Deleting       pyogp.interop/branches/enus-refactor

	Committed revision 2616.

We are left with this core directory structure:

	[22:39:23] [enus@sune] pyogp$ ls -l | awk -F" " '{print $9}'

	apps
	buildouts
	pyogp.interop
	pyogp.lib.agentdomain
	pyogp.lib.base

	
So we can start on packaging improvements themselves next. First, to explore the pyogp.lib.base package, since that is our focus. We'll clean up other things down the road as needed.

Step 3


Moving the license info:

	enus$ svn ci -m "moving the license info to the header of the file" 
	Sending        trunk/pyogp/__init__.py
	Sending        trunk/pyogp/lib/__init__.py
	Sending        trunk/pyogp/lib/base/__init__.py
	Sending        trunk/pyogp/lib/base/agent.py
	Sending        trunk/pyogp/lib/base/agentdomain.py
	Sending        trunk/pyogp/lib/base/agentmanager.py
	Sending        trunk/pyogp/lib/base/appearance.py
	Sending        trunk/pyogp/lib/base/assets.py
	Sending        trunk/pyogp/lib/base/caps.py
	Sending        trunk/pyogp/lib/base/datamanager.py
	Sending        trunk/pyogp/lib/base/datatypes.py
	Sending        trunk/pyogp/lib/base/event_queue.py
	Sending        trunk/pyogp/lib/base/event_system.py
	Sending        trunk/pyogp/lib/base/exc.py
	Sending        trunk/pyogp/lib/base/groups.py
	Sending        trunk/pyogp/lib/base/inventory.py
	Sending        trunk/pyogp/lib/base/login.py
	Sending        trunk/pyogp/lib/base/message/__init__.py
	Sending        trunk/pyogp/lib/base/message/circuit.py
	Sending        trunk/pyogp/lib/base/message/data/__init__.py
	Sending        trunk/pyogp/lib/base/message/data_packer.py
	Sending        trunk/pyogp/lib/base/message/data_unpacker.py
	Sending        trunk/pyogp/lib/base/message/factory.py
	Sending        trunk/pyogp/lib/base/message/llsd_builder.py
	Sending        trunk/pyogp/lib/base/message/llsd_sender.py
	Sending        trunk/pyogp/lib/base/message/message.py
	Sending        trunk/pyogp/lib/base/message/message_dot_xml.py
	Sending        trunk/pyogp/lib/base/message/message_handler.py
	Sending        trunk/pyogp/lib/base/message/msgtypes.py
	Sending        trunk/pyogp/lib/base/message/template.py
	Sending        trunk/pyogp/lib/base/message/template_dict.py
	Sending        trunk/pyogp/lib/base/message/template_parser.py
	Sending        trunk/pyogp/lib/base/message/tests/__init__.py
	Sending        trunk/pyogp/lib/base/message/tests/packet_test.py
	Sending        trunk/pyogp/lib/base/message/tests/test_circuits.py
	Sending        trunk/pyogp/lib/base/message/tests/test_llsd_builder.py
	Sending        trunk/pyogp/lib/base/message/tests/test_message_wrapper.py
	Sending        trunk/pyogp/lib/base/message/tests/test_packetdata.py
	Sending        trunk/pyogp/lib/base/message/tests/test_template_parser.py
	Sending        trunk/pyogp/lib/base/message/tests/test_udp_deserializer.py
	Sending        trunk/pyogp/lib/base/message/tests/test_udp_serializer.py
	Sending        trunk/pyogp/lib/base/message/tests/test_udpconnection.py
	Sending        trunk/pyogp/lib/base/message/udpdeserializer.py
	Sending        trunk/pyogp/lib/base/message/udpdispatcher.py
	Sending        trunk/pyogp/lib/base/message/udpserializer.py
	Sending        trunk/pyogp/lib/base/network/__init__.py
	Sending        trunk/pyogp/lib/base/network/net.py
	Sending        trunk/pyogp/lib/base/network/stdlib_client.py
	Sending        trunk/pyogp/lib/base/network/tests/__init__.py
	Sending        trunk/pyogp/lib/base/network/tests/basics.txt
	Sending        trunk/pyogp/lib/base/network/tests/mockup_client.py
	Sending        trunk/pyogp/lib/base/network/tests/mockup_net.py
	Sending        trunk/pyogp/lib/base/network/tests/network_test.txt
	Sending        trunk/pyogp/lib/base/network/tests/testDocTests.py
	Sending        trunk/pyogp/lib/base/objects.py
	Sending        trunk/pyogp/lib/base/parcel.py
	Sending        trunk/pyogp/lib/base/permissions.py
	Sending        trunk/pyogp/lib/base/region.py
	Sending        trunk/pyogp/lib/base/settings.py
	Sending        trunk/pyogp/lib/base/tests/__init__.py
	Sending        trunk/pyogp/lib/base/tests/agent.txt
	Sending        trunk/pyogp/lib/base/tests/base.py
	Sending        trunk/pyogp/lib/base/tests/caps.txt
	Sending        trunk/pyogp/lib/base/tests/config.py
	Sending        trunk/pyogp/lib/base/tests/login.txt
	Sending        trunk/pyogp/lib/base/tests/message_handler.txt
	Sending        trunk/pyogp/lib/base/tests/mock_xmlrpc.py
	Sending        trunk/pyogp/lib/base/tests/mockup_client.py
	Sending        trunk/pyogp/lib/base/tests/mockup_net.py
	Sending        trunk/pyogp/lib/base/tests/region.txt
	Sending        trunk/pyogp/lib/base/tests/testDocTests.py
	Sending        trunk/pyogp/lib/base/tests/test_agent.py
	Sending        trunk/pyogp/lib/base/tests/test_appearance.py
	Sending        trunk/pyogp/lib/base/tests/test_datatypes.py
	Sending        trunk/pyogp/lib/base/tests/test_event_queue.py
	Sending        trunk/pyogp/lib/base/tests/test_event_system.py
	Sending        trunk/pyogp/lib/base/tests/test_events.py
	Sending        trunk/pyogp/lib/base/tests/test_helpers.py
	Sending        trunk/pyogp/lib/base/tests/test_inventory.py
	Sending        trunk/pyogp/lib/base/tests/test_legacy_login.py
	Sending        trunk/pyogp/lib/base/tests/test_objects.py
	Sending        trunk/pyogp/lib/base/tests/test_ogp_login.py
	Sending        trunk/pyogp/lib/base/tests/test_parcel.py
	Sending        trunk/pyogp/lib/base/tests/test_region.py
	Sending        trunk/pyogp/lib/base/utilities/__init__.py
	Sending        trunk/pyogp/lib/base/utilities/build_packet_templates.py
	Sending        trunk/pyogp/lib/base/utilities/enums.py
	Sending        trunk/pyogp/lib/base/utilities/events.py
	Sending        trunk/pyogp/lib/base/utilities/helpers.py
	Sending        trunk/pyogp/lib/base/utilities/parse_packet.py
	Sending        trunk/pyogp/lib/base/visualparams.py
	Transmitting file data ...........................................................................................
	Committed revision 2624.
	
Checked that the above changes didn't screw over Sphinx generated docs.

Created pyogp.apps

	[22:38:07] [enus@sune] pyogp$ svn ci -m "starting to buildout pyogp.apps. renaming apps to pyogp.apps, adding LICENSE.txt ad CONTRIBUTORS.txt. need to move the examples dir to trunk/pyogp/apps/examples/, and add setup.* files"
	Deleting       apps
	Adding         pyogp.apps
	Adding         pyogp.apps/branches
	Adding         pyogp.apps/tags
	Adding         pyogp.apps/trunk
	Adding         pyogp.apps/trunk/CONTRIBUTORS.txt
	Adding         pyogp.apps/trunk/LICENSE.txt
	Adding         pyogp.apps/trunk/pyogp
	Adding         pyogp.apps/trunk/pyogp/apps
	Transmitting file data ..
	Committed revision 2627.

Move examples to the new location

	[22:40:08] [enus@sune] pyogp$ svn ci -m "moving pyogp.apps/trunk/examples to pyogp.apps/trunk/pyogp/apps/examples/" 
	Deleting       pyogp.apps/trunk/examples
	Adding         pyogp.apps/trunk/pyogp/apps/examples

	Committed revision 2628.

Update the buildout so that continues to work (untested ;) )
	
	[22:46:15] [enus@sune] trunk$ svn ci -m "temporary hack to allow apps/ in the libdev buildout to map to the new pyogp.apps/trunk/pyogp/apps dir. this should change entirely if we continue to support buildout..."
	Sending        trunk

	Committed revision 2629.
	
Now for some fun..... tagged as release-0.1 pyogp.lib.base

	[22:55:37] [enus@sune] pyogp.lib.base$ svn copy -m "testing a tagged version of pyogp.lib.base" https://svn.secondlife.com/svn/linden/projects/2008/pyogp/pyogp.lib.base/trunk https://svn.secondlife.com/svn/linden/projects/2008/pyogp/pyogp.lib.base/tags/release-0.1

	Committed revision 2630.

Renamed tag

	[23:12:06] [enus@sune] trunk$ svn ci -m "renaming the tag of pyogp.lib.base" ../../pyogp.lib.base/
	Adding         pyogp.lib.base/tags/0.1
	Deleting       pyogp.lib.base/tags/release-0.1

	Committed revision 2631.

Created an egg (ew) of the tag

	------------------------------------------------------------------------
	r2632 | enus.linden | 2009-08-20 23:20:08 -0700 (Thu, 20 Aug 2009) | 1 line

	checking in an egg for pyogp.lib.base tag 0.1

Update to pyogp.apps to pull the pyogp.lib.base tagged egg, tested via a single script run (region_connect)	

	[23:45:09] [enus@sune] trunk$ svn ci -m "another small incomplete step on the way to building out pyogp.apps as a package. added a dependency on the tagged 0.1 version of pyogp.lib.base, tested, and working. also, removed setup_path.py check on the unnecessary indra.ipc"
	Sending        trunk/pyogp/apps/examples/setup_path.py
	Sending        trunk/setup.py
	Transmitting file data ..
	Committed revision 2633

Documentation

	Wiki:
		Current:
			https://wiki.secondlife.com/wiki/PyOGP
			https://wiki.secondlife.com/wiki/PyOGP_Client_Library_Development_Sandbox
			https://wiki.secondlife.com/wiki/PyOGP_Client_Library
			https://wiki.secondlife.com/wiki/PyOGP_Client_Library_Development
			https://wiki.secondlife.com/wiki/PyOGP_Client_Library_File_System
			https://wiki.secondlife.com/wiki/Pyogp/Client_Lib/Architecture
			https://wiki.secondlife.com/wiki/Pyogp/Client_Lib/Packet
			https://wiki.secondlife.com/wiki/Pyogp/Documentation/Specification/pyogp.lib.base
			https://wiki.secondlife.com/wiki/Pyogp/Documentation/Specification/pyogp.interop