Pracując w domu nie mam dostępu do TFS, zaś w pracy GIT działać za nic nie chce, dlatego też bardzo często przenoszę pliki z pracy do domu i vice versa za pomocą ZIP. Żeby się nie męczyć i by nie zapomnieć o donglu (a wielokrotnie mi się to zdarzało) takiego zip wrzucam na dropbox i w pracy go rozpakowuje.

Oczywiście manualne operacje są dość czasochłonne dlatego nie ma to jak prosty skrypt PowerShell do pakowania (CreateZip zwraca path, który potem może być przekazany do MoveToDropbox):

function CreateZip($file, $outputFile)
{
    $zipPath = ".Tools7-zip7z.exe"

    if(!(test-path $zipPath))
    {
        throw "missing zip.exe"
    }

    $date = Get-Date

    $output = ".backup" + $file + "_source_" + $date.ToString("yyyyMMddmmss") + ".7z"
    
    set-alias zip $zipPath
    
    zip a -t7z $output *.ps1 *.bat src tools scripts -r
    
    Set-Variable -Value $output -Name $outputFile -Scope 1 
}

function MoveToDropbox($zip, $dest)
{
    Copy-Item -Path $zip -Destination $dest -force
}

I odpakowywania:

function Unpack($dropbox)
{
    $file = Get-ChildItem $dropbox | Sort-Object { $_.LastWriteTimeUtc } -descending | Select-Object -First 1

    echo $file
    
    $zipPath = ".Tools7-zip7z.exe"

    if(!(test-path $zipPath))
    {
        throw "missing zip.exe"
    }
    
    set-alias zip $zipPath
    $param = "-o."
    zip x $file.FullName $param -y
}

PS.: oczywiście inne rozwiązanie to trzymanie plików solution na dropbox ;)

4 KOMENTARZE

  1. Nie łatwiej zrobić sobie VPS, żeby mieć dostęp do TFS z domu? Po ostatnich wpadkach Dropboxa z zabezpieczeniami osobiście obawiałbym się trzymać tam kod źródłowy firmy ;)

  2. Skoro o TFS mowa, to jak go oceniasz w porównaniu do innych systemów kontroli wersji? (lekko offtopic) Prawdopodobnie niedługo będę musiał go używać ;)

Comments are closed.