Difference between revisions of "Creating A Patch/pt"

From Lazarus wiki
Jump to navigationJump to search
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{{Creating A Patch}}
 
{{Creating A Patch}}
 
==Instruções==
 
==Instruções==
Esse texto assume que você pegou o Lazarus via SVN [[Getting Lazarus#Via SVN| Getting Lazarus Via SVN]]
+
Assume-se que você baixou o Lazarus via SVN [[Getting Lazarus#Via SVN| Getting Lazarus Via SVN]]
  
Abra um prompt de comando ou cmd e mude para o diretório onde estão os fontes do Lazarus.
+
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:'''
+
'''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á..''
 +
 
 +
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.
  
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].
+
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.
Isso se aplica geralmente no Windows mas pode ser aplicável a outras plataformas também.
 
  
 
'''Você recebe o erro "svn command not found" ou similar'''
 
'''Você recebe o erro "svn command not found" ou similar'''
Provavelmente você não tem o caminho para o arquivo svn.exe na variável PATH do sistema. Os passos seguintes são necessários para solucionar o problema:
+
É 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:
  
# Localize o arquivo snv.exe usando a busca de arquivos do menu Iniciar.
+
# Localize o arquivo snv.exe usando o menu "Pesquisar -> Arquivos e Pastas" do menu Iniciar.
# Quando você localizar o snv.exe você precisa adicionar o diretório dele na PATH do sistema.
+
# Uma vez localizado o arquivo snv.exe você precisa adicionar o diretório dele na variável PATH do sistema.
Como exemplo: a partir do prompt de comando digite:
+
Como por exemplo: apartir do prompt de comando digite:
 
   set PATH=%PATH%;"C:\Arquivos de Programas\TortoiseSVN\"
 
   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.''
 
''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 opcinais:
+
Os passos a seguir são opcionais:
  
 
'''Para tornar a alteração permanente'''
 
'''Para tornar a alteração permanente'''
  
Para o Windows98 ou antecessores, você pode adicionar a linha (ou similar) ao seu arquivo C:\autoexec.bat próxima ao fim do arquivo.
+
No Windows98 ou anteriores, você pode adicionar a linha acima (ou similar) ao seu arquivo C:\autoexec.bat próximo ao fim do arquivo.
  
Para o Windows2000 ou sucessores você pode adicionar esse diretório ao PATH assim:
+
No Windows 2000 ou posteriores, você pode adicionar esse diretório na variável PATH assim:
  
# Clique com o botão direito do mouse em "Meu Computador"
+
# Clique com o botão direito em "Meu Computador"
 
# Selecione "Propriedades"
 
# Selecione "Propriedades"
# Escolha a guia "Avançado"
+
# Escolha a guia/aba "Avançado"
# Clique no botão "Variáveis do Sistema"
+
# Clique no botão "Variáveis de ambiente"
# Localize a linha "Path" em "Variáveis do Sistema" e adicione: ;"C:\Arquivos de Programas\TortoiseSVN\" no final.
+
# 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.''
 
''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.''
  
==Applying a patch==
+
==Aplicando um patch==
To apply a patch is simple. You can test the patch by using the --dry-run toggle switch like this:
+
Aplicar um patch é simples. Você pode testar o patch usando o parâmetro --dry-run dessa forma:
  
 +
  patch --dry-run < mypatch.diff
  
  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:
  
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 < mypatch.diff
  
To do the final patching, you use the following commandline:  
+
Ou, para arrumar separadores:
  
 +
  patch -p0 < mypatch.diff
  
  patch < mypatch.diff
+
[[Category:Debugging/pt]]

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