| 
				
			 | 
			
			 | 
			@@ -1,47 +1,80 @@ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			module.exports = ((name, options)=>{ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    return { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      reposervers : [ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          'http://git.bbh' | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        , 'https://git.bbh.org.in' | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        , '//172.16.0.27/repos' | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
							, 'https://github.com' | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      ] | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  // Default set of users in main repos. | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  var users = [ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      { username : `${options.username}`, password : `${options.password}` } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    , { username : `chess` } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    // , { username : `baptistdev`, password : 'encrypted' } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    // , { username : `guest`, password : 'encrypted' } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  ] | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      // User can always add more branches and remotes as needed. Mainifest only occupies  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        // well defined namespaces | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      , remotes : [ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
							  // these are both fetch and push remotes. Use push - remotes to override push. | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          { 'chess' : `${options.reposerver}/chess/elxr.git` } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        , { 'baptistdev-public' : 'https://github.com/baptistdev/elxr.git' } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
							 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
							// Multiple urls dont tell us the current origin which may be  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
							// different based on currently available/accessible based on device and client. | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
							// We just treat them as different remotes and merge as needed. | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        //  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        , { 'origin' : `${options.reposerver}/${options.username}/elxr.git` } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
							, { 'origin-public' : `https://git.bbh.org.in/${options.username}/elxr.git` } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
							, { 'origin-unc' : `//172.16.0.27/repos/${options.username}/elxr.git` } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        // , { `${options.username}` : `https://git.bbh.org.in/${options.username}/elxr.git` } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      ] | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  // ${options.reposerver} should be used to lookup current config. | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
						, 'push-remotes' : [ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
									{ 'chess' : 'no-pushing' } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
								, { 'baptistdev-public' : 'no-pushing' } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
								, { 'origin-public' : 'no-pushing' } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
							] | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
						 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
						 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
						// , 'fetch-remotes' : [] // Multiple fetch remotes are not supported by git. | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
							// We therefore need to use  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
							// - a pullall  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
							// - or branch alias for multiple remote branch tracking branch strategy. | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
							// 		-- This is however limited to corresponding branch names  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  // User can always add more branches and remotes as needed. Mainifest only occupies  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      // well defined namespaces | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  var remotes = { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    // these are both fetch and push remotes. Use push - remotes to override push. | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      'chess' : {  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          server : `${options.reposerver}`, user : 'chess', path : ``, get url(){ return `${this.server}/${this.user}/${this.path}`} // fetch | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        , push : 'no-pushing' } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    , 'baptistdev-public' : {  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        server : `https://github.com`, user : 'baptistdev', path : ``, get url(){ return `${this.server}/${this.user}/${this.path}`} // fetch | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      , push : 'no-pushing' } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			       | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			         | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    // Multiple urls dont tell us the current origin which may be  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    // different based on currently available/accessible based on device and client. | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    // We just treat them as different remotes and merge as needed. | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    //  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    , 'origin' : {  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        server : `${options.reposerver}`, user : '${options.username}', path : ``, get url(){ return `${this.server}/${this.user}/${this.path}`} // fetch | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    , 'origin-public' : {  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        server : `https://git.bbh.org.in`, user : 'chess', path : ``, get url(){ return `${this.server}/${this.user}/${this.path}`} // fetch | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      , push : { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          server : `${options.reposerver}`, user : `${options.username}`, path : ``, get url(){ return `${this.server}/${this.user}/${this.path}`}  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    , 'origin-unc' : {  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        server : `//172.16.0.27/repos`, user : '${options.username}', path : ``, get url(){ return `${this.server}/${this.user}/${this.path}`} // fetch | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    // , { `${options.username}` : `https://git.bbh.org.in/${options.username}/elxr.git` } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      // tracking branches. | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
						// We at least need one branch for each remote that we wish to track. | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      // , 'tracking-branches' : [ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      //   { master : ['origin/master', 'chess/master'] } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      // ] | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    // , 'fetch-remotes' : [] // Multiple fetch remotes are not supported by git. | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      // We therefore need to use  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      // - a pullall  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      // - or branch alias for multiple remote branch tracking branch strategy. | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      // 		-- This is however limited to corresponding branch names  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    // tracking branches. | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    // We at least need one branch for each remote that we wish to track. | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    // , 'tracking-branches' : [ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    //   { master : ['origin/master', 'chess/master'] } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    // ] | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  var reposerverinstances = { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      'http://git.bbh' : { users, remotes } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    , 'https://git.bbh.org.in' : { users, remotes, external : true } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    , '//172.16.0.27/repos' : { users, remotes } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    , 'https://github.com' : { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          // We host a miniaml set of repositories in github.  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          get users() { return [{ username : `${this.username}` }]}, username : `baptistdev` | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          , remotes : {  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            'baptistdev-public' : {  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			              server : `https://github.com`, user : 'baptistdev', path : ``, get url(){ return `${this.server}/${this.user}/${this.path}`} // fetch | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            , push : 'no-pushing' } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          // , Add other remotes here.  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        , external : true, public : true  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  }) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  return { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      reposervers : Object.keys(reposerverinstances) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    , reposerverinstances | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    , repos : [ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      { repo : 'elxr' } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    ] | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			}) |