|
|
@@ -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' } |
|
|
|
] |
|
|
|
} |
|
|
|
}) |