Automatycznie usuwaj niezerowe pliki Subversion

Czy ktoś zna sposób na rekurencyjne usunięcie wszystkich plików w kopii roboczej, które nie są pod kontrolą wersji? (Potrzebuję tego, aby uzyskać bardziej wiarygodne wyniki w moim automatycznym budowaniu VMware.)

Author: Sam, 2008-10-27

30 answers

Edit:

Subversion 1.9.0 wprowadził opcję, aby to zrobić:

svn cleanup --remove-unversioned

Wcześniej używam do tego skryptu Pythona:

import os
import re

def removeall(path):
    if not os.path.isdir(path):
        os.remove(path)
        return
    files=os.listdir(path)
    for x in files:
        fullpath=os.path.join(path, x)
        if os.path.isfile(fullpath):
            os.remove(fullpath)
        elif os.path.isdir(fullpath):
            removeall(fullpath)
    os.rmdir(path)

unversionedRex = re.compile('^ ?[\?ID] *[1-9 ]*[a-zA-Z]* +(.*)')
for l in  os.popen('svn status --no-ignore -v').readlines():
    match = unversionedRex.match(l)
    if match: removeall(match.group(1))
Wygląda na to, że dobrze to robi.
 27
Author: Thomas Watnedal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-11-27 10:54:28

To działa dla mnie w bash:

 svn status | egrep '^\?' | cut -c8- | xargs rm

Seth Reno jest lepszy:

svn status | grep ^\? | cut -c9- | xargs -d \\n rm -r 

Obsługuje niesprawdzone foldery i spacje w nazwach plików

Jak w komentarzach poniżej, działa to tylko na plikach, o których subversion nie wie (status=?). Wszystko, o czym wie subversion (W tym ignorowane pliki/foldery), nie zostanie usunięte.

Jeśli używasz subversion 1.9 lub nowszego, możesz po prostu użyć polecenia svn cleanup z --remove-unversioned and --remove-ignored options

 138
Author: Ken,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:17:58

Natknąłem się na tę stronę, szukając tego samego, choć nie dla zautomatyzowanego budowania.

Po dłuższym spojrzeniu odkryłem ' rozszerzone menu kontekstowe ' w TortoiseSVN. Przytrzymaj klawisz shift i kliknij prawym przyciskiem myszy kopię roboczą. W menu TortoiseSVN dostępne są teraz dodatkowe opcje, w tym ' Usuń niesprawdzone elementy...'.

Choć być może nie dotyczy to tego konkretnego pytania (tj. w kontekście zautomatyzowanego budowania), I pomyślałem, że może to być pomocne dla innych, którzy chcą zrobić to samo.

 71
Author: g .,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-30 14:59:38
 19
Author: Martin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-12-23 09:11:35

Jeśli jesteś w wierszu poleceń systemu windows,

for /f "tokens=2*" %i in ('svn status ^| find "?"') do del %i

Wersja ulepszona:

for /f "usebackq tokens=2*" %i in (`svn status ^| findstr /r "^\?"`) do svn delete --force "%i %j"

Jeśli używasz tego w pliku wsadowym, musisz podwoić %:

for /f "usebackq tokens=2*" %%i in (`svn status ^| findstr /r "^\?"`) do svn delete --force "%%i %%j"
 9
Author: Sukesh Nambiar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-08-17 14:52:18

Dodałem to do mojego profilu windows powershell

function svnclean {
    svn status | foreach { if($_.StartsWith("?")) { Remove-Item $_.substring(8) -Verbose } }
}
 7
Author: Kyle,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-23 19:05:59

Linux command line:

svn status --no-ignore | egrep '^[?I]' | cut -c9- | xargs -d \\n rm -r

Lub, jeśli niektóre z Twoich plików są własnością roota:

svn status --no-ignore | egrep '^[?I]' | cut -c9- | sudo xargs -d \\n rm -r

Jest to oparte na odpowiedzi Kena. (Odpowiedź Kena pomija ignorowane pliki; moja odpowiedź usuwa je).

 5
Author: user9876,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-05-24 15:06:31

Po prostu zrób to na uniksowej powłoce za pomocą:

rm -rf `svn st . | grep "^?" | cut -f2-9 -d' '`
 5
Author: bruziuz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-08 11:50:57

Czy nie można po prostu zrobić eksport do nowej lokalizacji i zbudować stamtąd?

 4
Author: leppie,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-27 08:41:02

Jeśli masz TortoiseSVN na swojej ścieżce i jesteś we właściwym katalogu:

TortoiseProc.exe /command:cleanup /path:"%CD%" /delunversioned /delignored /nodlg /noui

Opcje są opisane w Pomocy TortoiseSVN dla /command:cleanup:

Użyj /noui, aby zapobiec pojawianiu się okna wynikowego albo informowanie o zakończeniu czyszczenia lub wyświetlanie błędu wiadomość). / noprogressui wyłącza również okno dialogowe postępu. / nodlg wyłącza wyświetlanie okna czyszczenia, w którym użytkownik może wybrać, co dokładnie powinno się to zrobić podczas sprzątania. Na dostępne działania mogą być określone opcjami / cleanup dla statusu cleanup, / revert, / delunversioned, / delignored, / refreshshell i / externals.

 4
Author: stevek_mcc,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-14 22:00:03

Jeśli używasz Tortoise svn, istnieje ukryte polecenie, aby to zrobić. Przytrzymaj klawisz shift, klikając prawym przyciskiem myszy folder, aby uruchomić menu kontekstowe w Eksploratorze windows. Otrzymasz polecenie "Usuń niesprawdzone Elementy".

Zobacz na dole tej strony Aby uzyskać szczegółowe informacje, lub zrzut ekranu poniżej, który podkreśla rozszerzone funkcje z zielonymi gwiazdkami, a jeden interesujący z żółtym prostokątem...

Rozszerzone menu kontekstowe SVN vs menu standardowe

 4
Author: rob bentley,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-14 06:58:14

Subversion 1.9.0 wprowadził opcję usuwania niewysokich pozycji [1]

svn cleanup --remove-unversioned

[1] https://subversion.apache.org/docs/release-notes/1.9.html#svn-cleanup-options

 4
Author: Ivan Zhakov,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-11 18:36:57

Moja konwersja C# skryptu Pythona Thomasa Watnedala:

Console.WriteLine("SVN cleaning directory {0}", directory);

Directory.SetCurrentDirectory(directory);

var psi = new ProcessStartInfo("svn.exe", "status --non-interactive");
psi.UseShellExecute = false;
psi.RedirectStandardOutput = true;
psi.WorkingDirectory = directory;

using (var process = Process.Start(psi))
{
    string line = process.StandardOutput.ReadLine();
    while (line != null)
    {
        if (line.Length > 7)
        {
            if (line[0] == '?')
            {
                string relativePath = line.Substring(7);
                Console.WriteLine(relativePath);

                string path = Path.Combine(directory, relativePath);
                if (Directory.Exists(path))
                {
                    Directory.Delete(path, true);
                }
                else if (File.Exists(path))
                {
                    File.Delete(path);
                }
            }
        }
        line = process.StandardOutput.ReadLine();
    }
}
 3
Author: Stefan Schultze,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-27 09:01:53
svn st --no-ignore  | grep '^[?I]' | sed 's/^[?I]  *//' | xargs -r -d '\n' rm -r

Jest to polecenie powłoki Uniksa do usuwania wszystkich plików nie znajdujących się pod kontrolą subversion.

Uwagi:

  • st in svn st jest aliasem wbudowanym dla status, tzn. polecenie jest równoważne svn status
  • --no-ignore zawiera również pliki spoza repozytorium w wyjściu stanu, w przeciwnym razie ignoruje za pomocą mechanizmów takich jak .cvsignore itd. - ponieważ celem jest posiadanie czystego punktu początkowego dla buildów, ten przełącznik jest koniecznością
  • grep filtruje Wyjście tak, że tylko pliki nieznane dla subversion są pozostawione-linie zaczynające się od ? Lista plików nieznanych dla subversion, które byłyby ignorowane bez opcji --no-ignore
  • przedrostek do nazwy pliku jest usuwany przez sed
  • polecenie xargs jest poinstruowane przez -r, aby nie wykonywać rm, gdy lista argumentów będzie pusta
  • opcja -d '\n' mówi xargs aby używać nowej linii jako ogranicznika, takie polecenie działa również dla nazw plików ze spacjami
  • rm -r jest używany w przypadku kompletnego katalogi (które nie są częścią repozytorium) muszą zostać usunięte
 3
Author: maxschlepzig,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-30 21:13:10

Nie mogłem uruchomić żadnego z powyższych bez dodatkowych zależności, których nie chciałem dodawać do mojego zautomatyzowanego systemu kompilacji na win32. Dlatego uĹ 'oĹźyĹ' em nastÄ ™ pujÄ ... ce polecenia Ant - zauwaĺź, Ĺźe wymagajÄ ... one zainstalowania JAR Ant-contrib (uĺźywaĺ ' em wersji 1.0B3, najnowszej, z Ant 1.7.0).

Uwaga spowoduje to usunięcie wszystkich niewysokich plików bez ostrzeżenia.

  <taskdef resource="net/sf/antcontrib/antcontrib.properties"/>
  <taskdef name="for" classname="net.sf.antcontrib.logic.ForTask" />

  <macrodef name="svnExecToProperty">
    <attribute name="params" />
    <attribute name="outputProperty" />
    <sequential>
      <echo message="Executing Subversion command:" />
      <echo message="  svn @{params}" />
      <exec executable="cmd.exe" failonerror="true"
            outputproperty="@{outputProperty}">
        <arg line="/c svn @{params}" />
      </exec>
    </sequential>
  </macrodef>

  <!-- Deletes all unversioned files without warning from the 
       basedir and all subfolders -->
  <target name="!deleteAllUnversionedFiles">
    <svnExecToProperty params="status &quot;${basedir}&quot;" 
                       outputProperty="status" />
    <echo message="Deleting any unversioned files:" />
    <for list="${status}" param="p" delimiter="&#x0a;" trim="true">
      <sequential>
        <if>
          <matches pattern="\?\s+.*" string="@{p}" />
          <then>
            <propertyregex property="f" override="true" input="@{p}" 
                           regexp="\?\s+(.*)" select="\1" />
            <delete file="${f}" failonerror="true" />
          </then>
        </if>
      </sequential>
    </for>
    <echo message="Done." />
  </target>

Dla innego folderu Zmień referencję ${basedir}.

 2
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-23 12:16:30
svn status --no-ignore | awk '/^[I\?]/ {system("echo rm -r " $2)}'

Usuń echo, jeśli to jest pewne, co chcesz zrobić.

 2
Author: Aria,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-12-31 22:40:52

Ponieważ wszyscy to robią...

svn status | grep ^? | awk '{print $2}' | sed 's/^/.\//g' | xargs rm -R
 2
Author: josh-cain,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-05-30 15:01:16

Równie dobrze może wnieść inną opcję

svn status | awk '{if($2 !~ /(config|\.ini)/ && !system("test -e \"" $2 "\"")) {print $2; system("rm -Rf \"" $2 "\"");}}'

The / (config/.ini) / jest dla moich własnych celów.

I może być dobrym pomysłem dodanie --no-ignore do komendy svn

 1
Author: user1299374,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-03-28 22:35:07

Natknąłem się na svn-clean na mojej maszynie RH5. Its znajduje się w /usr / bin / svn-clean

Http://svn.apache.org/repos/asf/subversion/trunk/contrib/client-side/svn-clean

 1
Author: Eric Cope,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-17 21:59:51

Czyste rozwiązanie windows cmd / bat:

@echo off

svn cleanup .
svn revert -R .
For /f "tokens=1,2" %%A in ('svn status --no-ignore') Do (
     If [%%A]==[?] ( Call :UniDelete %%B
     ) Else If [%%A]==[I] Call :UniDelete %%B
   )
svn update .
goto :eof

:UniDelete delete file/dir
if "%1"=="%~nx0" goto :eof
IF EXIST "%1\*" ( 
    RD /S /Q "%1"
) Else (
    If EXIST "%1" DEL /S /F /Q "%1"
)
goto :eof
 1
Author: Andriy F.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-09-05 16:53:01

Próbowałem wersji Setha Reno z tej odpowiedzi , ale nie zadziałało na mnie. Miałem 8 znaków przed nazwą pliku, a nie 9 używanych w cut -c9-.

Więc to jest moja wersja z sed zamiast cut:

svn status | grep ^\? | sed -e 's/\?\s*//g' | xargs -d \\n rm -r
 1
Author: Paweł Barszcz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:02:42

Jeśli nie masz nic przeciwko powershellowi:

svn status --no-ignore | ?{$_.SubString(0,1).Equals("?")} | foreach { remove-item -Path (join-Path .\ $_.Replace("?","").Trim()) -WhatIf }

Wyjmij flagę-WhatIf, aby polecenie faktycznie wykonało usunięcie. W przeciwnym razie wyświetli to, co zrobiłby, jeśli zostanie uruchomiony bez-WhatIf.

 1
Author: Giscard Biamby,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-06 03:53:02

Dodałbym to jako komentarz do odpowiedzi Thomasa Watnedala , ale jeszcze nie mogę.

Drobny problem z nim (który nie będzie miał wpływu na System Windows) polega na tym, że sprawdza tylko pliki lub katalogi. W systemach uniksopodobnych, w których mogą występować dowiązania symboliczne, konieczna jest zmiana linii:

if os.path.isfile(fullpath):

Do

if os.path.isfile(fullpath) or os.path.islink(fullpath):

Aby również usunąć linki.

Dla mnie zmiana ostatniej linii if match: removeall(match.group(1)) na

    if match:
        print "Removing " + match.group(1)
        removeall(match.group(1))

Tak, że wyświetla to, co jest usuwane było przydatne też.

W zależności od przypadku użycia, ?[\?ID] część wyrażenia regularnego może być lepsza jako ?[\?I], ponieważ D usuwa również usunięte pliki, które były pod kontrolą wersji. Chcę użyć tego do zbudowania w czystym, sprawdzonym folderze, więc nie powinno być żadnych plików w stanie D.

 1
Author: Michael Firth,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-26 10:22:04

@ zhoufei przetestowałem Twoją odpowiedź i tu jest zaktualizowana wersja:

FOR /F "tokens=1* delims= " %%G IN ('svn st %~1 ^| findstr "^?"') DO del /s /f /q "%%H"
FOR /F "tokens=1* delims= " %%G IN ('svn st %~1 ^| findstr "^?"') DO rd /s /q "%%H"
  • musisz użyć dwóch % znaków przed G i H
  • Przełącz kolejność: najpierw usuń wszystkie pliki, a następnie usuń wszystkie katalogi
  • (opcjonalnie:) zamiast %~1 można użyć dowolnej nazwy katalogu, użyłem tego jako funkcji w pliku bat, więc %~1 jest pierwszym parametrem wejściowym
 1
Author: Nikola,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-08 17:19:45

Jeśli nie chcesz pisać żadnego kodu, svn2.exe z svn2svn robi to, istnieje również Artykuł o tym, jak to jest zaimplementowane. Usunięte foldery i pliki są umieszczane w koszu.

Uruchom " svn2.exe sync [ścieżka]".

 0
Author: dB.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-02 20:27:57

Dla ludzi, którzy lubią to robić z perlem zamiast Pythona, powłoki Uniksa, Javy itp. Oto mały skrypt Perla, który również wykonuje jib.

Uwaga: to również usuwa wszystkie niewysokiete katalogi

#!perl

use strict;

sub main()

{

    my @unversioned_list = `svn status`;

    foreach my $line (@unversioned_list)

    {

        chomp($line);

        #print "STAT: $line\n";

        if ($line =~/^\?\s*(.*)$/)

        {

            #print "Must remove $1\n";

            unlink($1);

            rmdir($1);

        }

    }

}

main();
 0
Author: Craig McQueen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-02 22:04:55

Używając TortoiseSVN: * kliknij prawym przyciskiem myszy folder working copy, przytrzymując klawisz shift W Dół * wybierz "Usuń niesprawdzone elementy"

Jak mogę usunąć wszystkie niezweryfikowane / ignorowane pliki/foldery w mojej kopii roboczej?

 0
Author: umpirsky,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 10:31:17

Czystym sposobem na zrobienie tego w Perlu byłoby:

#!/usr/bin/perl
use IO::CaptureOutput 'capture_exec'

my $command = sprintf ("svn status --no-ignore | grep '^?' | sed -n 's/^\?//p'");

my ( $stdout, $stderr, $success, $exit_code ) = capture_exec ( $command );
my @listOfFiles = split ( ' ', $stdout );

foreach my $file ( @listOfFiles )
{ # foreach ()
    $command = sprintf ("rm -rf %s", $file);
    ( $stdout, $stderr, $success, $exit_code ) = capture_exec ( $command );
} # foreach ()
 0
Author: J. T. Marsh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-07-31 19:55:40

Użyłem ~3 godzin, aby to wygenerować. To zajmie 5 minut, aby to zrobić w Uniksie. Problemem sieciowym były: spacje w nazwach folderów Win, niemożność edycji % % i oraz problem z definiowaniem var w pętli win cmd.

setlocal enabledelayedexpansion

for /f "skip=1 tokens=2* delims==" %%i in ('svn status --no-ignore --xml ^| findstr /r "path"') do (
@set j=%%i
@rd /s /q !j:~0,-1!
)
 0
Author: Ilya Rosman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-28 14:06:27

Powyższy fragment kodu C# nie zadziałał u mnie - mam klienta tortoise svn, a linie są nieco inaczej sformatowane. Tutaj jest ten sam fragment kodu jak powyżej, tylko przepisany do funkcji i za pomocą regex.

        /// <summary>
    /// Cleans up svn folder by removing non committed files and folders.
    /// </summary>
    void CleanSvnFolder( string folder )
    {
        Directory.SetCurrentDirectory(folder);

        var psi = new ProcessStartInfo("svn.exe", "status --non-interactive");
        psi.UseShellExecute = false;
        psi.RedirectStandardOutput = true;
        psi.WorkingDirectory = folder;
        psi.CreateNoWindow = true;

        using (var process = Process.Start(psi))
        {
            string line = process.StandardOutput.ReadLine();
            while (line != null)
            {
                var m = Regex.Match(line, "\\? +(.*)");

                if( m.Groups.Count >= 2 )
                {
                    string relativePath = m.Groups[1].ToString();

                    string path = Path.Combine(folder, relativePath);
                    if (Directory.Exists(path))
                    {
                        Directory.Delete(path, true);
                    }
                    else if (File.Exists(path))
                    {
                        File.Delete(path);
                    }
                }
                line = process.StandardOutput.ReadLine();
            }
        }
    } //CleanSvnFolder
 0
Author: TarmoPikaro,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-18 03:17:14