Difference between revisions of "Creating A Patch/pt"

From Lazarus wiki
Jump to navigationJump to search
 
 
(8 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Esse texto assuma que você pegou o Lazarus via SVN [[Getting Lazarus#Via SVN| Getting Lazarus Via SVN]]
+
{{Creating A Patch}}
 +
==Instruções==
 +
Assume-se que você baixou o Lazarus via SVN [[Getting Lazarus#Via SVN| Getting Lazarus Via SVN]]
  
 +
Abra o prompt de comando ou "prompt cmd" e mude, utilizando o comando cd, para o diretório onde estão os fontes do Lazarus.
  
==Instruções==
+
'''Instruções para Windows:'''
Abra um prompt de comando ou cmd e mude para o diretório onde estão os fontes do Lazarus.
 
 
 
'''Instruções Para Windows:'''
 
  
Vamos assumir que o diretório dos fontes do Lazarus seja C:\Lazarus
+
Vamos assumir que você tem uma versão SVN atualizada do Lazarus em C:\lazarus
  
 
# Abra um prompt do MS-DOS
 
# Abra um prompt do MS-DOS
Line 13: Line 13:
 
# cd \lazarus {pressione enter}
 
# cd \lazarus {pressione enter}
 
# svn diff > meu_path.diff {pressione enter}
 
# svn diff > meu_path.diff {pressione enter}
 +
 +
''Nota: Se está usando TortoiseSVN, o usuário pode serlecionar o diretório onde o lazarus está atualizado pelo Windows Explorer, mostrar o menu de contexto - usando o botão direito do mouse - e selecionar TortoiseSVN -> Create Patch...''
  
 
'''Instruções Para Linux/BSD etc:'''
 
'''Instruções Para Linux/BSD etc:'''
  
Vamos assumir que o diretório dos fontes do Lazarus seja $HOME/lazarus
+
Vamos assumir que você tem uma versão SVN atualizada do Lazarus em $HOME/lazarus
  
# Abra seu programa de Terminal favirito
+
# Abra seu programa de Terminal favorito
 
# cd $HOME {pressione enter}
 
# cd $HOME {pressione enter}
 
# cd lazarus {pressione enter}
 
# cd lazarus {pressione enter}
Line 24: Line 26:
  
  
''Note: I also like to look the file over to see if there is anything in there that shouldn't be.''
+
''Nota: Eu também gosto de verificar o arquivo completo para ver se não tem nada lá que não deveria estar lá..''
  
Agora comprima o arquivo que você criou (com zip ou gzip) e mande por email para o mailing list do Lazarus (40 kB é o limite) ou para a caixa postal para patches [mailto:patch@lazarus.dommelstein.net patch@lazarus.dommelstein.net].
+
A forma recomendada para enviar o patch é através do [http://bugs.freepascal.org bug tracker]. Se existe um relatório enviado para o bug que o seu patch corrige, use ele, caso contrário crie um novo relato. Faça upload do arquivo para anexá-lo ao relato.
 +
 
 +
Como alternativa, você pode comprimir (com zip ou gzip) o arquivo que você criou e mandar por email para a lista de e-mail do Lazarus (limite de 40 kB) ou para a caixa de e-mail para patchs [mailto:patch@lazarus.dommelstein.net patch@lazarus.dommelstein.net]. Quando enviar patches para a caixa de e-mail, certifique-se que no assunto comtém pelo menos uma palavra "patch", não necessariamente com as aspas.
  
 
Isso é tudo!
 
Isso é tudo!
  
 
== Problemas ==
 
== Problemas ==
 +
Isso aplica-se geralmente ao Windows mas pode ser aplicável em outras plataformas também.
  
This mostly applies to Windows but could apply for other platforms as well.
+
'''Você recebe o erro "svn command not found" ou similar'''
 +
É provável que você não tenha o caminho do arquivo svn.exe na variável PATH do sistema. As etapas a seguir devem solucionar o problema:
  
'''You get the error "svn command not found" or similar.'''
+
# Localize o arquivo snv.exe usando o menu "Pesquisar -> Arquivos e Pastas" do menu Iniciar.
Most probably you do not have svn.exe in your PATH environment variable. The following steps should fix this problem:
+
# Uma vez localizado o arquivo snv.exe você precisa adicionar o diretório dele na variável PATH do sistema.
 +
Como por exemplo: apartir do prompt de comando digite:
 +
  set PATH=%PATH%;"C:\Arquivos de Programas\TortoiseSVN\"
  
# Locate svn.exe using the Find Files feature of your Start menu.
+
''Nota: O diretório onde está o svn.exe pode não ser o mesmo do computador usado nesse documento. Esse diretório foi usado apenas como exemplo.''
# Once you have located svn.exe you need to add the directory it is in to your PATH.
 
As an example: From the command prompt type:
 
  set PATH=%PATH%;"C:\Program Files\TortoiseSVN\"
 
  
''Note: Your directory containing svn.exe might not be the same on your computer as the one used in this document. It is used here only as an example.''
+
Os passos a seguir são opcionais:
  
 +
'''Para tornar a alteração permanente'''
  
The following is optional:
+
No Windows98 ou anteriores, você pode adicionar a linha acima (ou similar) ao seu arquivo C:\autoexec.bat próximo ao fim do arquivo.
  
'''To make this permanant'''
+
No Windows 2000 ou posteriores, você pode adicionar esse diretório na variável PATH assim:
  
For Windows98 or lower, you can add the line above (or similar) to your C:\autoexec.bat file near the end.  
+
# Clique com o botão direito em "Meu Computador"
 +
# Selecione "Propriedades"
 +
# Escolha a guia/aba "Avançado"
 +
# Clique no botão "Variáveis de ambiente"
 +
# Localize a linha "Path" em "Variáveis de ambiente" e adicione: ;"C:\Arquivos de Programas\TortoiseSVN\" no final dela.
  
For Windows2000 or greater you can add this directory to your PATH by:
+
''Nota: O diretório onde está o svn.exe pode não ser o mesmo do computador usado nesse documento. Esse diretório foi usado apenas como exemplo.''
  
# Right-Clicking on "My Computer"
+
==Aplicando um patch==
# Select "Properties"
+
Aplicar um patch é simples. Você pode testar o patch usando o parâmetro --dry-run dessa forma:
# Choose the "Advanced" tab.
 
# Click the "Environment Variables" button.
 
# Locate the "Path" line in "System Variables" and add: ;"C:\Program Files\TortoiseSVN\" to the end.
 
  
''Note: Your directory containing svn.exe might not be the same on your computer as the one used in this document. It is used here only as an example.''
+
  patch --dry-run < mypatch.diff
  
==Applying a patch==
+
A saída do programa "patch" será identica ao patch atual, apenas se ele não alterar os arquivos fontes. Isso é muito útil para testes, visto que dispensa a necessidade de escrever no código fonte.  
To apply a patch is simple. You can test the patch by using the --dry-run toggle switch like this:
 
  
 +
Para aplicar finalmente o patch, você usa a seguinte linha de comando:
  
   patch --dry-run < mypatch.diff
+
   patch < mypatch.diff
  
 +
Ou, para arrumar separadores:
  
The output of the patch program will be identical to the actual patching, only it does not alter the sourcecode files. Very handy for testing, without wanting to screw up your source.
+
  patch -p0 < mypatch.diff
  
To do the final patching, you use the following commandline:  
+
[[Category:Debugging/pt]]
 
 
 
 
  patch < mypatch.diff
 

Latest revision as of 11:48, 3 August 2011

Deutsch (de) English (en) español (es) français (fr) 日本語 (ja) português (pt) русский (ru) slovenčina (sk)

Instruções

Assume-se que você baixou o Lazarus via SVN Getting Lazarus Via SVN

Abra o prompt de comando ou "prompt cmd" e mude, utilizando o comando cd, para o diretório onde estão os fontes do Lazarus.

Instruções para Windows:

Vamos assumir que você tem uma versão SVN atualizada do Lazarus em C:\lazarus

  1. Abra um prompt do MS-DOS
  2. c: {pressione enter}
  3. cd \lazarus {pressione enter}
  4. svn diff > meu_path.diff {pressione enter}

Nota: Se está usando TortoiseSVN, o usuário pode serlecionar o diretório onde o lazarus está atualizado pelo Windows Explorer, mostrar o menu de contexto - usando o botão direito do mouse - e selecionar TortoiseSVN -> Create Patch...

Instruções Para Linux/BSD etc:

Vamos assumir que você tem uma versão SVN atualizada do Lazarus em $HOME/lazarus

  1. Abra seu programa de Terminal favorito
  2. cd $HOME {pressione enter}
  3. cd lazarus {pressione enter}
  4. svn diff > meu_path.diff {pressione enter}


Nota: Eu também gosto de verificar o arquivo completo para ver se não tem nada lá que não deveria estar lá..

A forma recomendada para enviar o patch é através do bug tracker. Se existe um relatório enviado para o bug que o seu patch corrige, use ele, caso contrário crie um novo relato. Faça upload do arquivo para anexá-lo ao relato.

Como alternativa, você pode comprimir (com zip ou gzip) o arquivo que você criou e mandar por email para a lista de e-mail do Lazarus (limite de 40 kB) ou para a caixa de e-mail para patchs patch@lazarus.dommelstein.net. Quando enviar patches para a caixa de e-mail, certifique-se que no assunto comtém pelo menos uma palavra "patch", não necessariamente com as aspas.

Isso é tudo!

Problemas

Isso aplica-se geralmente ao Windows mas pode ser aplicável em outras plataformas também.

Você recebe o erro "svn command not found" ou similar É provável que você não tenha o caminho do arquivo svn.exe na variável PATH do sistema. As etapas a seguir devem solucionar o problema:

  1. Localize o arquivo snv.exe usando o menu "Pesquisar -> Arquivos e Pastas" do menu Iniciar.
  2. Uma vez localizado o arquivo snv.exe você precisa adicionar o diretório dele na variável PATH do sistema.

Como por exemplo: apartir do prompt de comando digite:

  set PATH=%PATH%;"C:\Arquivos de Programas\TortoiseSVN\"

Nota: O diretório onde está o svn.exe pode não ser o mesmo do computador usado nesse documento. Esse diretório foi usado apenas como exemplo.

Os passos a seguir são opcionais:

Para tornar a alteração permanente

No Windows98 ou anteriores, você pode adicionar a linha acima (ou similar) ao seu arquivo C:\autoexec.bat próximo ao fim do arquivo.

No Windows 2000 ou posteriores, você pode adicionar esse diretório na variável PATH assim:

  1. Clique com o botão direito em "Meu Computador"
  2. Selecione "Propriedades"
  3. Escolha a guia/aba "Avançado"
  4. Clique no botão "Variáveis de ambiente"
  5. Localize a linha "Path" em "Variáveis de ambiente" e adicione: ;"C:\Arquivos de Programas\TortoiseSVN\" no final dela.

Nota: O diretório onde está o svn.exe pode não ser o mesmo do computador usado nesse documento. Esse diretório foi usado apenas como exemplo.

Aplicando um patch

Aplicar um patch é simples. Você pode testar o patch usando o parâmetro --dry-run dessa forma:

  patch --dry-run < mypatch.diff

A saída do programa "patch" será identica ao patch atual, apenas se ele não alterar os arquivos fontes. Isso é muito útil para testes, visto que dispensa a necessidade de escrever no código fonte.

Para aplicar finalmente o patch, você usa a seguinte linha de comando:

  patch < mypatch.diff

Ou, para arrumar separadores:

  patch -p0 < mypatch.diff