/rjunct

ruby gem to compose a workspace on base of a psf-file

Primary LanguageRubyBSD 2-Clause "Simplified" LicenseBSD-2-Clause

OVERVIEW

If working with git repositories synchronized to svn repositories based on an eclipse psf,-
rjunct will create project links to support psf-specific renamings and subfolders.

OPTIONS

    -p, --psf LIST                   List of psf-files (path,...)
    -r, --repo LIST                  List of repo url to folder mapping (url=path,...)
    -m, --mode MODE                  Run mode: [link]|clean
    -v, --verbose                    Verbose mode
    -h, --help                       Display this screen

EXAMPLE

Two separate svn repos used with following structure:

svn://repo1/foo/trunk/dev => workspace/repo1
 |- svn://repo1/foo/trunk/dev/proj1 (projA) => workspace/repo1/proj1 (containing psf for repo1)
 |- svn://repo1/foo/trunk/dev/sub/proj2 (projB) => workspace/repo1/sub/proj2
svn://repo2/foo/trunk/dev => workspace/repo2
 |- svn://repo2/foo/trunk/dev/proj3 (projC) => workspace/repo2/proj3 (containing psf for repo2)
 |- svn://repo2/foo/trunk/dev/sub/proj4 (projD) => workspace/repo2/sub/proj4

Would be linked / unliked with the following options (separate psf-files are supported, but not mandatory):

link: 
	-p workspace/repo1/proj1/foo.psf,workspace/repo2/proj1/foo.psf 
	-r svn://repo1/foo/trunk/dev=workspace/repo1,svn://repo2/foo/trunk/dev=workspace/repo2
	
unlink: 

	-m clean 
	-r svn://repo1/foo/trunk/dev=workspace/repo1,svn://repo2/foo/trunk/dev=workspace/repo2

This will result in symlinks within git repositories so that each project could see all others,-
as if a flat project structure would be given.

Finally symlinks will be automaticaly added to .gitignore files within git repositories ;-)