| module.exports = ((name, options)=>{ | 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' } | |||||
| ] | |||||
| } | |||||
| }) |