neste mesmo branch. Informando as duas versoes limites para o svn diff temos a certeza de todos as nossas alteracoes constarao no patch.Nem sempre saberemos de cor o numero da revisao no momento da copia da pasta trunk para o branch, no entanto podemos usar a ferramenta svn log -v para consultar o historico de submissoes dessa pasta e identificar o momento exato da sua copia. Observe o parametro -v passado para a ferramenta, com este parametro a ferramenta lista as entradas do historico da pasta em modo detalhado, no nosso caso isto ajudara a identificar o momento da copia da pasta. O log do nosso programa ate este momento sera parecido com o seguinte:$ svn log -v branches/correcaor4 | fernando | 2010-03-15 08:51:08 -0300 (Seg, 15 Mar 2010) | 1 linhaCaminhos mudados: M /branches/correcao/Janela.java M /branches/correcao/Main.javaTornando a mensagem personalizavelr3 | fernando | 2010-03-15 08:46:39 -0300 (Seg, 15 Mar 2010) | 1 linhaCaminhos mudados: A /branches/correcao (de /trunk:2)Preparacao para a correcao do projetor2 | fernando | 2010-03-15 08:44:33 -0300 (Seg, 15 Mar 2010) | 1 linhaCaminhos mudados: A /trunk/Janela.java A /trunk/Main.javaCriacao ja janela de mensagensr1 | fernando | 2010-03-15 08:39:16 -0300 (Seg, 15 Mar 2010) | 1 linhaCaminhos mudados: A /branches A /tags A /trunkEstrutura inicial do projetoAnalisando esta saida temos a revisao 4 representando a nossa mais recente alteracao na pasta branches/correcao. Note na revisao 3 a porcao /branches/correcao (de /trunk:2), esta linha destaca exatamente o momento da copia da pasta trunk para o branches. As nossas alteracoes na pasta branch estao portanto entre as revisoes 3 e 4.Note que numa situacao real, sera provavelmente listado um historico muito mais longo do que este do nosso exemplo, dificultando imensamente a localizacao da revisao da copia da pasta, no entanto, acrescentando-se o parametro stop-on-copy ao comando svn log serao listados apenas as entradas ate o momento da copia da pasta. Esta e certamente a forma mais facil de se obter a revisao exata ja que a ultima ou uma das ultimas entradas listadas sera provavelmente aquela que estamos procurando. No nosso exemplo a saida seria algo como:$ svn log -v stop-on-copy branches/correcaor4 | fernando | 2010-03-15 08:51:08 -0300 (Seg, 15 Mar 2010) | 1 linhaCaminhos mudados: M /branches/correcao/Janela.java M /branches/correcao/Main.javaTornando a mensagem personalizavelr3 | fernando | 2010-03-15 08:46:39 -0300 (Seg, 15 Mar 2010) | 1 linhaCaminhos mudados: A /branches/correcao (de /trunk:2)Preparacao para a correcao do projetoAgora que conhecemos as revisoes limite, 3 e 4, podemos gerar o arquivo patch com o comando abaixo. Nele sera criado o arquivo patch.txt na raiz do nosso projeto contendo todas as alteracoes que fizemos na pasta branches/correcao.$ svn diff -r 3:4 branches/correcao > patch.txtDica: Abra o arquivo patch.txt num editor de texto de sua preferencia e examine o seu conteudo para conhecer um pouco mais sobre este tipo de arquivo.Aplicando o patch a pasta trunkAgora que temos o patch contendo todas as nossas alteracoes na pasta branch e hora de aplica-lo a pasta trunk. Neste processo usaremos uma ferramenta chamada patch. Esta ferramenta e capaz de ler as diferencas descritas no arquivo patch e aplica-las aos