tools: exclude thirdparty/tcc from the git clean operation, that vup does in case of a missing .git folder

This commit is contained in:
Delyan Angelov 2024-05-02 15:21:21 +03:00
parent 08fec8749b
commit 671f59c570
No known key found for this signature in database
GPG Key ID: 66886C0F12D595ED

View File

@ -66,12 +66,15 @@ fn (app App) vprintln(s string) {
fn (app App) update_from_master() {
app.vprintln('> updating from master ...')
if !os.exists('.git') {
// initialize as if it had been cloned
// initialize the folder, as if it had been cloned:
app.git_command('git init')
app.git_command('git remote add origin https://github.com/vlang/v')
app.git_command('git remote set-head origin master')
app.git_command('git fetch')
app.git_command('git reset --hard origin/master')
app.git_command('git clean -xdf --exclude v --exclude v.exe --exclude cmd/tools/vup --exclude cmd/tools/vup.exe')
// Note: in the .zip files, thirdparty/tcc/.git is missing to save space.
// -> Git clean below will try to remove thirdparty/tcc/ too, if it is not excluded specifically:
app.git_command('git clean -xfd --exclude thirdparty/tcc --exclude v --exclude v.exe --exclude cmd/tools/vup --exclude cmd/tools/vup.exe .')
} else {
// pull latest
app.git_command('git pull https://github.com/vlang/v master')