Skip to content

To migrate all the data from a Perforce(SCM) server to the AlienBrain server, includes one-time database migration and changelist(ChangeSet) sync.

Notifications You must be signed in to change notification settings

realalien/p42ab.py

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Purpose:
    To mirror all the changes from a Perforce(SCM) server to the AlienBrain server,
tasks include one-time database migration and later changelist(ChangeSet) sync.  
    This project tends to wrap the 'ab.exe' command and 'p4api', rather than being a batch
processing. Since not all the SCM actions will be used in migration, so the code is only
useful for simple migration, for now, a feature request I have to get done.(See <Notice>)
	Personally, I treat it as an learning opportunity to learn more than computer language
and do some API design exercises.

Project Hosting:
http://github.com/realalien/p42ab.py/


Notice:
* Because there is no client view mapping in AlienBrain server as it is in the Perforce server,
  the directory layout in the Alienbrain will much the same like ones in the developers' workspaces,
  therefore, P4 client view mapping change will make AlienBrain server invalid sometimes somehow. 
* "Changelist"(as in Perforce),"changeset"(as in AlienBrain) and "change" are the inter-changeable nouns, either of them
  contains a set of files under some kind of SCM operations. The noun varies in the context of operations.
* I prefer OO class rather than plain functions because I think this provides a layer of classification so that 
  it will be easier for a robot to manipulate on behalf of me; easier for loading in interactive session; unit test?;


Bug Tracking:
http://github.com/realalien/p42ab.py/issues


Progress:
[ testing on production env. ]


How-to:




Reference:

* 'Perforce 2009.1 APIs for Scripting' P103 # p4.run handling.
* p42svn 
* http://code.google.com/p/python-p4lib/
* a very good example of API
http://www.google.com/codesearch/p?hl=en#YwaaF8DorRY/depot_tools/development/release/win/python_24/Lib/site-packages/gvn/svncmd.py&q=lang:python%20atomic%20operation&d=6
* http://www.devshed.com/c/a/Python/Windows-Programming-in-Python/3/
* http://code.google.com/p/dedafx-dev/source/browse/trunk/python/alienbrain.py [NOT SUG]
* http://www.perforce.com/perforce/conferences/us/2009/Presentations/Knop-AdventuresinScriptingLand-paper.pdf
* http://www.oreillynet.com/onlamp/blog/2007/08/pymotw_subprocess_1.html
* http://www.perforce.com/perforce/media_library/tutorials.html   # nice tutorials on P4 tools
* http://docs.python.org/library/logging.html   # python logging

About

To migrate all the data from a Perforce(SCM) server to the AlienBrain server, includes one-time database migration and changelist(ChangeSet) sync.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published