BlackTDN Search

sexta-feira, 29 de maio de 2009

Protheus :: "Integrando o Totvs Development Studio (IDE) ao TortoiseSVN"



Hoje postarei uma dica de como integrar o Totvs Development Studio (IDE) ao SVN (Subversion) utilizando o "client" TortoiseSVN para controle de versão dos fontes do Totvs/Protheus.

Utilizaremos, para isso, macros do IDE. No Exemplo, a macro $SOURCE_NAME irá retornar o caminho completo do "fonte" a ser manipulado. Algumas macros do IDE são:

$SOURCE_NAME
$SOURCE_NAME_NO_DRIVE
$SOURCE_SHORT_NAME
$SOURCE_CURSOR_LINE
$SOURCE_CURSOR_COLUMN
$SOURCE_CURSOR_WORD
$SOURCE_EXECUTION_LINE
$SOURCE_PATH
$SOURCE_EXT
$SOURCE_DRIVE
$SYSTEM_DATE
$SYSTEM_TIME
$SYSTEM_USER_NAME
$SYSTEM_USER_ACCESS
$VERSION_ADD_FILE
$VERSION_ASK_FOR_COMMENT
$VERSION_CHECK_OUT
$VERSION_CHECK_IN
$VERSION_GET_LAST
$VERSION_REMOVE_FILE
$VERSION_UNDO_CHECK_OUT

Observações:
  1. Se o server do SubVersion estiver em linux, não utilize a macro $SOURCE_NAME_NO_DRIVE, pois essa, quando o arquivo "fonte" possui _ ("underline"), passa-o como "upper case" fazendo com que o cliente do SubVersion, o TortoiseSVN não consiga encontrar o arquivo;
  2. Para que seja possível efetuar o "lock/unlock" dos "fontes" a propriedade "svn:needs-lock" deverá ter sido atribuida aos arquivos que deseja versionar;
Vamos ao que interessa:
  • Abra o "Totvs Development Studio" (IDE) executando o arquivo TotvsDevStudio.exe;
  • No menu Arquivo\Preferências, selecione a "aba" Controle de Versão;
  • Marque o "check box" Utiliza Controle de Versão;
  • Dentre as opções "Visual Source Safe" e "Outros", selecione: "Outros";
  • Configure as opções como abaixo:




  1. Software: TortoiseProc.exe
  2. Iniciar em: %ProgramFiles%\TortoiseSVN\bin\
  3. Última Versão: /command:update /path:"$SOURCE_NAME" /notempfile /closeonend:3
  4. Reservar: /command:lock /path:"$SOURCE_NAME" /notempfile /closeonend:3
  5. Canc. Reserva: /command:unlock /path:"$SOURCE_NAME" /notempfile /closeonend:3
  6. Confirmar: /command:commit /path:"$SOURCE_NAME" /notempfile /closeonend:3
  7. Adicionar: /command:add /path:"$SOURCE_NAME" /notempfile /closeonend:3
  8. Remover: /command:remove /path:"$SOURCE_NAME" /notempfile /closeonend:3
Se preferir, copie e cole o conteúdo abaixo no totvsdevstudio.ini na seção "[Source Control]"

[Source Control]
Source Control Software=TortoiseProc.exe
Initial Path=%ProgramFiles%\TortoiseSVN\bin\
Get Latest Version=/command:update /path:"$SOURCE_NAME" /notempfile /closeonend:3
Check In=/command:commit /path:"$SOURCE_NAME" /notempfile /closeonend:3
Check Out=/command:lock /path:"$SOURCE_NAME" /notempfile /closeonend:3
Add File=/command:add /path:"$SOURCE_NAME" /notempfile /closeonend:3
Remove File=/command:remove /path:"$SOURCE_NAME" /notempfile /closeonend:3
Undo Check Out=/command:unlock /path:"$SOURCE_NAME" /notempfile /closeonend:3

e altere a chave "Use Source Control" de 0 para 1 como em: Use Source Control=1 na seção [Preferences].

Ao fazer isso, será disponibilizada uma nova "palheta" com as seguintes opções:



Onde:

obtém a última versão do arquivo

efetua a reserva do arquivo

confirma as alterações enviando-as para o software de versionamento

desfaz/cancela a reserva

adiciona arquivo ao controle de versionamento

remove arquivo do controle de versionamento

Para informações e download do SubVersion, clique aqui;
Para baixar o TortoiseSVN clique aqui; e
Para mais informações de como utilizar o TortoiseSVN em linha de comando, clique aqui;

9 comentários:

  1. Naldo show de bola.

    Alessandro (PB)

    ResponderExcluir
  2. Ola Naldo. Voce eh o cara! Dah uma olhada nesse projeto e entra em contato comigo por favor: http://sourceforge.net/projects/pactvs pegue o documento com a descricao do projeto no link "files".
    Abracos
    MSilver

    ResponderExcluir
  3. Naldo meus parabéns ficou incrível...

    Jean

    ResponderExcluir
  4. Boa tarde Naldo.
    No caso de termos vários programadores, o TortoiseSVN será instalado no servidor de aplicação ou nas máquinas dos programadores ???
    Muito obrigado.

    ResponderExcluir
  5. Rodrigo,

    O TortoiseSVN é o "client" do SubVersion ou SVN e, dada a sua característica, deverá ser instalado no ambiente local de trabalho. Para não me alongar no comentário vou fazer-lhe uma pequena, mas útil, recomendação: Acompanhe os "Links" do Post: Dicas de Leitura :: SVN http://naldodjblogs.blogspot.com/2011/09/dicas-de-leitura-svn.html que vc encontrará boas recomendações.

    []s

    иαldσ dj

    ResponderExcluir
  6. Belíssimo tutorial Naldo.
    Parabéns pela dedicação e didática.

    Ronaldo Marins

    ResponderExcluir
  7. Olá Naldo.

    Você sabe me dizer se esses procedimentos podem ser aplicados para integrar a IDE com TFS 2012?

    Obrigada.

    ResponderExcluir
    Respostas
    1. Se estiver utilizando o TDS basta instalar o plug-in do TFS para Eclipse. Existem bons materiais na nuvem. Procure por TFS Eclipse. Já para a antiga IDE você terá que descobrir os comandos equivalentes aos do tortoise para check-in, check-out, etc... e aí, basta substituí-los.

      Excluir