parent
79326220b4
commit
852680f618
|
|
@ -0,0 +1,3 @@
|
||||||
|
@ECHO OFF
|
||||||
|
SETLOCAL
|
||||||
|
PowerShell -NoProfile -NoLogo -ExecutionPolicy ByPass -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = ''; [System.Threading.Thread]::CurrentThread.CurrentUICulture = ''; try { & '%~dp0clean.ps1' %*; exit $LASTEXITCODE } catch { write-host $_; exit 1 }"
|
||||||
|
|
@ -0,0 +1,41 @@
|
||||||
|
#requires -version 5
|
||||||
|
|
||||||
|
<#
|
||||||
|
.SYNOPSIS
|
||||||
|
Clean this repository.
|
||||||
|
|
||||||
|
.DESCRIPTION
|
||||||
|
This script cleans this repository interactively, leaving downloaded infrastructure untouched.
|
||||||
|
Clean operation is interactive to avoid losing new but unstaged files. Press 'c' then [Enter]
|
||||||
|
to perform the proposed deletions.
|
||||||
|
|
||||||
|
.EXAMPLE
|
||||||
|
Perform default clean operation.
|
||||||
|
|
||||||
|
clean.ps1
|
||||||
|
|
||||||
|
.EXAMPLE
|
||||||
|
Clean everything but downloaded infrastructure and VS / VS Code folders.
|
||||||
|
|
||||||
|
clean.ps1 -e .vs/ -e .vscode/
|
||||||
|
#>
|
||||||
|
|
||||||
|
[CmdletBinding(PositionalBinding = $false)]
|
||||||
|
param(
|
||||||
|
# Other lifecycle targets
|
||||||
|
[switch]$Help, # Show help
|
||||||
|
|
||||||
|
# Capture the rest
|
||||||
|
[Parameter(ValueFromRemainingArguments = $true)]
|
||||||
|
[string[]]$GitArguments
|
||||||
|
)
|
||||||
|
|
||||||
|
Set-StrictMode -Version 2
|
||||||
|
$ErrorActionPreference = 'Stop'
|
||||||
|
|
||||||
|
if ($Help) {
|
||||||
|
Get-Help $PSCommandPath
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
git clean -dix -e .dotnet/ -e .tools/ -e src/SignalR/clients/ts/FunctionalTests/node_modules/ @GitArguments
|
||||||
|
|
@ -0,0 +1,38 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
#
|
||||||
|
# Functions
|
||||||
|
#
|
||||||
|
__usage() {
|
||||||
|
echo "Usage: $(basename "${BASH_SOURCE[0]}") <Arguments>
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
<Arguments>... Arguments passed to the 'git' command. Any number of arguments allowed.
|
||||||
|
|
||||||
|
Description:
|
||||||
|
This script cleans the repository interactively, leaving downloaded infrastructure untouched.
|
||||||
|
Clean operation is interactive to avoid losing new but unstaged files. Press 'c' then [Enter]
|
||||||
|
to perform the proposed deletions.
|
||||||
|
"
|
||||||
|
}
|
||||||
|
|
||||||
|
git_args=()
|
||||||
|
|
||||||
|
while [[ $# -gt 0 ]]; do
|
||||||
|
case $1 in
|
||||||
|
-\?|-h|--help)
|
||||||
|
__usage
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
git_args[${#git_args[*]}]="$1"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
# This incantation avoids unbound variable issues if git_args is empty
|
||||||
|
# https://stackoverflow.com/questions/7577052/bash-empty-array-expansion-with-set-u
|
||||||
|
git clean -dix -e .dotnet/ -e .tools/ ${git_args[@]+"${git_args[@]}"}
|
||||||
Loading…
Reference in New Issue