Eu sou meio cético apesar de gostar muito de automatização, mas adoro demais usar .BAT para esta tarefa.
Talvez por ter passado pelo COBOL e usado muitos menus para aplicativos baseado em .BAT.
Estava eu quebrando a cabeça para usar aplicativo de CVS e SVN, mas eu não queria nada destes conhecidos e sim algo mais simples, algo mais DOS, entende?
Até encontrei mas esbarrei na dificuldade de criar um simples repositório, depois de criados dava uns erros de diferença de sistemas de arquivos, tinha de configurar um Apache, putzs...
Mas analisando a forma como trabalhavam, pensei, pô, deixa eu tentar do meu modo.
Se tivesse ido por ele teria feito em poucas horas.
Trata-se de um pequeno arquivo de lote com dois comandos básicos CREATE e COMMIT. Para mim ja bastava por enquanto.
Haja visto que existirá a necessidade do rar.exe esteja visivel quando solicitado.
O comando CREATE seria usado para criar a pasta repositório do seu projeto, mas engessei na pasta MySVN e por assim ja basta.
O comando COMMIT, este sim faz o trabalho pesado com ajuda do RAR.EXE criando os arquivos que conterão a história de alterações que forem executadas.
Modo de uso:
MySVN COMMIT <nome do .PRG sem extensão>
O arquivo será então acrescentado a um compactado e dentro deles voce poderão encontrar as alterações do mesmo com suas respectivas datas e horas no formato YYYYMMDD.HHMMSS.
Para recuperar uma arquivo bastará usar a opção visualizar arquivos(desde que o visualizador padrão do WinRAR seja o Notepad) e salvá-lo com o nome e extensão do arquivo a recuperar.
Codigo completo:
Código: Selecionar todos
@ECHO OFF
SET V_DATA=%DATE%
SET V_TIME=%TIME%
SET V_DIA=%V_DATA:~0,2%
SET V_MES=%V_DATA:~3,2%
SET V_ANO=%V_DATA:~6,4%
SET V_HOR=%V_TIME:~0,2%
SET V_MIN=%V_TIME:~3,2%
SET V_SEG=%V_TIME:~6,2%
if A%1 == A GOTO :COMANDOS
if A%1 == Acreate GOTO :CREATE
if A%1 == Acommit GOTO :COMMIT
GOTO :FIM
REM SET V_DIA
REM SET V_MES
REM SET V_ANO
:CREATE
if NOT EXIST MySVN MD MySVN
if EXIST MySVN MD MySVN\trunk
if EXIST MySVN MD MySVN\temp
DIR MySVN
GOTO :FIM
:COMMIT
if NOT EXIST %2.prg GOTO :NOEXIST
if NOT EXIST MySVN\temp\%2 MD MySVN\temp\%2
COPY %2.prg MySVN\temp\%2\%V_ANO%%V_MES%%V_DIA%.%V_HOR%%V_MIN%%V_SEG%
RAR a -ep -df MySVN\trunk\%2 MySVN\temp\%2\*.*
GOTO :FIM
:UPDATE
:COMANDOS
ECHO MySVN create [projeto]
ECHO MySVN commit [arquivo]
GOTO :FIM
:NOEXIST
ECHO %1.prg nao encontrado.
:FIM
