forked from planestraveler/git-starteam
-
Notifications
You must be signed in to change notification settings - Fork 0
gscokart/git-starteam
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This project aim to bring an interface layer between Git and Starteam. Current Goal: Bring the capacity of converting Starteam project to Git with the help of the fast-import capacity. I'll be doing this with the help of a fake layer that emulate the behavior of the StarteamSDK. This layer could be used as a test platform. Futur Goal: Give the capacity of making git a Starteam compatible client with the added value of using Git. This could also be used for Mercurial and Bazaar with the help of the fast-export capacity. License: Git-Starteam is convered under the General Public License Version 3. Fake-Starteam is convered under a personnal license and is included only for testing purpose. The project shall not be used for any other purpose than easly testing your interaction with a fake starteam server. Building: Git-Starteam use a sconscript to build it's respective jar file. You can use the latest version of scons at : http://www.scons.org/ To build just call scons in the root directory where you have clone the repository. Alternativelly, there is is maven build that you can use. Build with starteam80 API: cd ~/proj/git-starteam/ scons --jargs /usr/share/java/jargs.jar --starteam /opt/StarTeamCP_2005r2/lib/starteam80.jar bin/syncronizer.jar (If not starteam80, maybe you should modify generateFastImportStream() in syncronizer/src/org/sync/GitImporter.java, for http://techpubs.borland.com/starteam/2009/en/sdk_documentation/api/com/starbase/starteam/CheckoutManager.html said old version (passed in /opt/StarTeamCP_2005r2/lib/starteam80.jar) "Deprecated. Use View.createCheckoutManager() instead.") Prepare before Run: In Linux, the default max "open files" is 1024 (`ulimit -a`). Maybe you will get "java.io.IOException: Too many open files" if your StarTeam project had checked in too many files in one time, then you should add "* - nofile 65536" line to /etc/security/limits.conf and re-login to shell. In Windows, the default max "open files" is 16384. Run with starteam80 API: 1. Create bin/.git/ folder from a StarTeam project named Prime with Prime view: cd ~/proj/git-starteam/bin/ java -cp .:/usr/share/java/jargs.jar:/opt/StarTeamCP_2005r2/lib/starteam80.jar:./syncronizer.jar:../lib/org.eclipse.jgit-0.12.1.jar org.sync.MainEntry -h 192.0.1.102 -P 49203 -p Prime -v Prime -H master -U UserName -d gmail.com -f Src/apps/vlc2android/ -c Or, it's a good idea to add .gitignore first, so you can do below instead: cd ~/proj/git-starteam/bin/ echo "*.o" > .gitignore git add .gitignore git commit -m "Init with .gitignore" java -cp .:/usr/share/java/jargs.jar:/opt/StarTeamCP_2005r2/lib/starteam80.jar:./syncronizer.jar:../lib/org.eclipse.jgit-0.12.1.jar org.sync.MainEntry -h 192.0.1.102 -P 49203 -p Prime -v Prime -H master -U UserName -d gmail.com -f Src/apps/vlc2android/ -R 2. Add other branch to bin/.git/ folder from other view: In gitk --all, create OtherView branch base on the commit which time is nearest before "StarTeam->View->Properties->Type->Parent Configuration" of the Other View. java -cp .:/usr/share/java/jargs.jar:/opt/StarTeamCP_2005r2/lib/starteam80.jar:./syncronizer.jar:../lib/org.eclipse.jgit-0.12.1.jar:/usr/lib/jvm/java-1.6.0-sun/jre/lib/ org.sync.MainEntry -h 192.0.1.102 -P 49203 -p Prime -v "Other View" -H other-view -U UserName -d gmail.com -f Src/apps/vlc2android -R 3. Get the repository: cd /pub/gittrees/ git clone --bare ~/proj/git-starteam/bin/.git vlc2android.git 4. Delete bin/.git/ folder cd ~/proj/git-starteam/bin/ rm .git/ -fr TODO: * Finish basic support of file query in the Fake Starteam API. - Support for folder creation [DONE] - Support for file creation [DONE] - Support for acurrate file status [DONE] - Support for label creation [Not Started] - Support for file deletion [DONE] - Support for folder moving [DONE] - Support for file renaming [DONE] * Create the fast-export based on the Starteam API. - Create basic object for fast-export stream. [DONE] - Create CLI for importing from a Project / View / View Configuration (Time) / Folder. * Syncronization of the tip [Done] * Syncronization by time of commit [Done] * Syncronization by Folder [Done] * Syncronization by branched View [Done] * Syncronization by Label [Not Started] * Push to starteam - Post-receiver example
About
Project to make a bridge between Starteam and Git using the fast-import mechanism
Resources
Stars
Watchers
Forks
Packages 0
No packages published
Languages
- Java 100.0%