-
Notifications
You must be signed in to change notification settings - Fork 0
/
getorigin.js
37 lines (26 loc) · 798 Bytes
/
getorigin.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
const parse = require('parse-git-config')
const parsed = parse.sync()
let url = null
const remoteOrigin = parsed[`remote "origin"`]
if(remoteOrigin){
url = remoteOrigin.url
}
if(!url){
console.log("no origin, falling back to origin.url")
try{
url = require('fs').readFileSync("origin.url").toString()
}catch(err){
console.error("ERROR no origin url")
process.exit(1)
}
}
const [prot, host, user, repo] = url.split(new RegExp("\/+"))
const email = `${user}@gmail.com`
const qualifiedUrl = `${prot}//${user}:${process.env["GIT_TOKEN"]}@${host}/${user}/${repo}`
const exportssh = `
export GIT_URL=${url}
export GIT_PUSH_URL=${qualifiedUrl}
export GIT_USER=${user}
export GIT_EMAIL=${email}`
require('fs').writeFileSync("exports.sh", exportssh)
console.log(exportssh)