Para obter informações sobre a minha pergunta: svn wont diff um arquivo que ele acha é binário Uma resposta de estouro de pilha recente (svn diff: arquivo marcado como tipo binário) mostrou que você pode forçar um tipo mime: Note que a resposta anterior está incompleta. Você também tem que: Agora a minha nova pergunta é: posso definir um padrão, por isso todos os futuros arquivos vnd. google-earth. kmlxml são tratados como texto por svn O redbook aparece em silêncio sobre este tópico: svnbook. red-beanen1.2svn. Advanced. props. html dizendo apenas: Que exceções Estas exceções são assadas no código svn, ou acessíveis A resposta depende do cliente svn que você está usando. No cliente svn oficial, a opção que você está procurando é Configuração de propriedade automática. A versão tldr é que você precisa atualizar seu usuário ou configuração do sistema. Defina a configuração enable-auto-props como yes na seção miscellany e crie uma nova seção chamada auto-props que define os padrões que você deseja combinar e as propriedades que você deseja definir. Para seu exemplo de arquivos kml: Isto assegurará que quando você adiciona um arquivo. kml ao seu repositório, ele terá um tipo mime de textplain e usará terminações de linha nativas para a plataforma do cliente. Arquivos Binários e Tradução Sentido mais geral, o Subversion manipula arquivos binários com mais graça do que o CVS. Porque CVS usa RCS, ele só pode armazenar sucessivas cópias completas de um arquivo binário alteração. O Subversion, no entanto, expressa diferenças entre arquivos usando um algoritmo de diferenciação binária, independentemente de conterem dados textuais ou binários. Isso significa que todos os arquivos são armazenados diferencialmente (comprimidos) no repositório. Os usuários do CVS têm que marcar os arquivos binários com os sinalizadores - kb para evitar que os dados sejam distorcidos (devido à expansão de palavras-chave e traduções de terminação de linha). Eles às vezes se esquecem de fazer isso. Subversion leva a rota mais paranóica. Primeiro, ele nunca executa qualquer tipo de palavra-chave ou tradução de término de linha, a menos que você solicite explicitamente para fazê-lo (consulte a seção chamada Substituição de palavras-chave ea seção chamada Sequências de caracteres de fim de linha para obter mais detalhes). Por padrão, o Subversion trata todos os dados do arquivo como strings de bytes literais e os arquivos são sempre armazenados no repositório em um estado não traduzido. Em segundo lugar, o Subversion mantém uma noção interna de se um arquivo é texto ou dados binários, mas essa noção só existe na cópia de trabalho. Durante uma atualização svn. O Subversion executará mesclagens contextuais em arquivos de texto modificados localmente, mas não tentará fazê-lo para arquivos binários. Para determinar se uma mesclagem contextual é possível, o Subversion examina a propriedade svn: mime-type. Se o arquivo não tiver nenhuma propriedade svn: mime-type, ou tiver um tipo MIME que é textual (por exemplo, texto), o Subversion assume que é texto. Caso contrário, o Subversion assume que o arquivo é binário. O Subversion também ajuda os usuários executando um algoritmo de detecção binária nos comandos svn import e svn add. Esses comandos farão uma boa suposição e, em seguida, (possivelmente) definir uma propriedade binária svn: mime-type no arquivo que está sendo adicionado. Você está lendo o Controle de Versão com Subversion (para Subversion 1.7), por Ben Collins-Sussman, Brian W. Fitzpatrick, e C. Michael Pilato. (Se Subversion adivinhar errado, o usuário pode sempre remover ou editar manualmente a propriedade. Este trabalho está licenciado sob a licença Creative Commons Attribution License v2.0. Para ver uma cópia desta licença, visite o site Creative Commons ou envie uma carta para Creative Commons, 559 Nathan Abbott Way, Stanford, Califórnia 94305, EUA. Para enviar comentários, correções ou outras contribuições para o texto, visite svnbook. Properties Nós já abordamos em detalhes como o Subversion armazena e recupera várias versões de arquivos e diretórios em seu repositório. Capítulos inteiros foram dedicados a esta peça fundamental de funcionalidade fornecida pela ferramenta. E se o suporte ao controle de versão parar lá, o Subversion ainda estaria completo a partir de uma perspectiva de controle de versão. Mas não pára por aí. Além do controle de versão de seus diretórios e arquivos, o Subversion fornece interfaces para adicionar, modificar e remover metadados versionados em cada um dos seus diretórios e arquivos versionados. Referimo-nos a esses metadados como propriedades. E eles podem ser considerados tabelas de duas colunas que mapeiam nomes de propriedade para valores arbitrários anexados a cada item em sua cópia de trabalho. De um modo geral, os nomes e valores das propriedades podem ser o que você quiser que eles sejam, com a restrição de que os nomes devem conter apenas caracteres ASCII. E a melhor parte sobre essas propriedades é que eles também são versionados, assim como o conteúdo textual de seus arquivos. Você pode modificar, confirmar e reverter alterações de propriedade tão facilmente quanto você pode arquivar alterações de conteúdo. E o envio e recebimento de alterações de propriedade ocorre como parte do seu commit típico e atualizar operações que você não tem que mudar seus processos básicos para acomodá-los. Subversion reservou o conjunto de propriedades cujos nomes começam com svn: como seu próprio. Embora haja apenas um punhado dessas propriedades em uso hoje, você deve evitar a criação de propriedades personalizadas para suas próprias necessidades cujos nomes começam com este prefixo. Caso contrário, você corre o risco de uma versão futura do Subversion crescer suporte para um recurso ou comportamento conduzido por uma propriedade do mesmo nome, mas com talvez uma interpretação totalmente diferente. As propriedades aparecem em outro lugar no Subversion, também. Assim como arquivos e diretórios podem ter nomes de propriedade arbitrária e valores anexados a eles, cada revisão como um todo pode ter propriedades arbitrárias anexadas a ele. As mesmas restrições aplicam-se a nomes legíveis por seres humanos e a valores binários que você quiser. A principal diferença é que as propriedades de revisão não são versionadas. Em outras palavras, se você alterar o valor de, ou excluir, uma propriedade de revisão, não há nenhuma maneira, dentro do escopo da funcionalidade do Subversions, para recuperar o valor anterior. O Subversion não tem nenhuma política específica sobre o uso de propriedades. Ele pede apenas que você não use nomes de propriedade que começam com o prefixo svn: como thats o namespace que ele reserva para seu próprio uso. E o Subversion, de fato, usa propriedades tanto a versão versionada quanto a não versionada. Certas propriedades versionadas têm significado especial ou efeitos quando encontradas em arquivos e diretórios, ou eles abrigam um bit particular de informações sobre as revisões em que eles são encontrados. Algumas propriedades de revisão são anexadas automaticamente a revisões pelo processo de confirmação do Subversions e levam informações sobre a revisão. A maioria destas propriedades são mencionadas noutro local neste ou em outros capítulos como parte dos tópicos mais gerais a que estão relacionados. Para obter uma lista exaustiva de propriedades predefinidas do Subversion, consulte a seção Subversion Properties no Capítulo 9, Referência Completa do Subversion. Enquanto o Subversion atribui automaticamente propriedades (svn: date. Svn: author. Svn: log, e assim por diante) às revisões, não presume posteriormente a existência dessas propriedades e nem você nem as ferramentas que você usa para interagir com seu repositório . As propriedades de revisão podem ser excluídas programaticamente ou por meio do cliente (se permitido pelos ganchos do repositório) sem danificar a capacidade do Subversion de funcionar. Assim, ao escrever scripts que operam em seus dados de repositório do Subversion, não cometer o erro de assumir que qualquer propriedade de revisão específica existe em uma revisão. Nesta seção, examinaremos a utilidade, tanto para os usuários do Subversion quanto para o próprio suporte à propriedade do Subversion. Você aprenderá sobre os subcomandos svn relacionados à propriedade e como as modificações de propriedade afetarão seu fluxo de trabalho normal do Subversion. Por que propriedades Assim como o Subversion usa propriedades para armazenar informações extras sobre os arquivos, diretórios e revisões que ele contém, você também pode encontrar propriedades para serem de uso semelhante. Você pode achar útil ter um lugar próximo aos seus dados versionados para armazenar metadados personalizados sobre esses dados. Digamos que você deseja projetar um site que abriga muitas fotos digitais e exibe-os com legendas e um datetamp. Agora, seu conjunto de fotos está mudando constantemente, então você gostaria de ter o máximo deste site automatizado quanto possível. Essas fotos podem ser bastante grandes, assim como é comum com sites dessa natureza, você deseja fornecer imagens em miniatura menores aos visitantes do seu site. Agora, você pode obter essa funcionalidade usando arquivos tradicionais. Ou seja, você pode ter seu image123.jpg e um image123-thumbnail. jpg lado a lado em um diretório. Ou se você quiser manter os nomes de arquivo iguais, você pode ter suas miniaturas em um diretório diferente, como thumbnailsimage123.jpg. Você também pode armazenar suas legendas e datastamps de uma forma similar, novamente separados do arquivo de imagem original. Mas o problema aqui é que sua coleção de arquivos se multiplica com cada nova foto adicionada ao site. Agora considere o mesmo site implantado de uma maneira que faça uso das propriedades do arquivo Subversions. Imagine ter um único arquivo de imagem, image123.jpg. Com propriedades definidas nesse arquivo que são denominadas legenda. carimbo de data. E até mesmo thumbnail. Agora o seu diretório de cópia de trabalho parece muito mais manageablein fato, ele olha para o navegador casual como não há nada, mas arquivos de imagem nele. Mas seus scripts de automação sabem melhor. Eles sabem que eles podem usar svn (ou melhor ainda, eles podem usar as ligações de linguagem Subversion ver a seção chamada Usando as APIs) para extrair a informação extra que seu site precisa para exibir sem ter que ler um arquivo de índice ou jogar jogos de manipulação de caminho . Enquanto o Subversion coloca poucas restrições nos nomes e valores que você usa para propriedades, ele não foi projetado para transportar otimamente grandes valores de propriedade ou grandes conjuntos de propriedades em um determinado arquivo ou diretório. O Subversion geralmente mantém todos os nomes de propriedade e valores associados a um único item na memória ao mesmo tempo, o que pode causar desempenho prejudicial ou operações com falha quando conjuntos de propriedades extremamente grandes são usados. As propriedades de revisão personalizadas também são freqüentemente usadas. Um uso comum é uma propriedade cujo valor contém um identificador de rastreamento de problemas com o qual a revisão está associada, talvez porque a alteração feita nessa revisão corrige um bug arquivado no problema do rastreador com esse ID. Outros usos incluem pendurar nomes mais amigáveis na revisão. Pode ser difícil lembrar que a revisão 1935 foi uma revisão totalmente testada. Mas se theres, digamos, uma propriedade de resultados de teste sobre essa revisão com o valor todos passando. Que é informação significativa para ter. E o Subversion permite que você faça isso facilmente através da opção --with-revprop do comando svn commit: Searchability (ou, Why Not Properties) Para todo o utilitário, propriedades do Subversion ou, mais precisamente, as interfaces disponíveis para themhave um defeito importante: Enquanto é uma questão simples para definir uma propriedade personalizada, encontrando que a propriedade mais tarde é uma bola inteira diferente de cera. Tentar localizar uma propriedade de revisão personalizada geralmente envolve a execução de uma caminhada linear em todas as revisões do repositório, perguntando de cada revisão, Você tem a propriedade que estou procurando Use a opção --with-all-revprops com os comandos svn log XML Modo de saída para facilitar esta pesquisa. Observe a presença do testresults de propriedade de revisão personalizada na seguinte saída: Tentar encontrar uma propriedade versionada personalizada é doloroso, e também envolve um prop roversamente svn em toda uma cópia de trabalho. Em sua situação, isso pode não ser tão ruim quanto uma caminhada linear em todas as revisões. Mas certamente deixa muito a desejar em termos de desempenho e probabilidade de sucesso, especialmente se o escopo de sua pesquisa exigiria uma cópia de trabalho da raiz do seu repositório. Por esta razão, você pode escolher especialmente no uso da propriedade de revisão simplesmente adicionar seus metadados à mensagem de log de revisões usando alguma formatação direcionada por políticas (e talvez programada) que foi projetada para ser analisada rapidamente a partir da saída do log svn. É bastante comum ver o seguinte em mensagens de log do Subversion: Mas aqui novamente reside algum infortúnio. O Subversion ainda não fornece um mecanismo de modelo de mensagem de log, que ajudaria os usuários a serem consistentes com a formatação de seus metadados de revisão log-embedded. Manipulando Propriedades O programa svn oferece algumas maneiras de adicionar ou modificar propriedades de arquivos e diretórios. Para propriedades com valores curtos e legíveis por humanos, talvez a maneira mais simples de adicionar uma nova propriedade seja especificar o nome da propriedade e o valor na linha de comando do subcomando svn propset: Mas nós temos divulgado a flexibilidade que o Subversion oferece para seus valores de propriedade . E se você está planejando ter um texto multilinha, ou mesmo binário, o valor da propriedade, você provavelmente não quer fornecer esse valor na linha de comando. Portanto, o subcomando svn propset usa uma opção --file (-F) para especificar o nome de um arquivo que contém o novo valor da propriedade. Há algumas restrições nos nomes que você pode usar para propriedades. Um nome de propriedade deve começar com uma letra, dois pontos (.) Ou um sublinhado () depois disso, você também pode usar dígitos, hifens (-) e pontos (.). 13 Além do comando propset, o programa svn fornece o comando propedit. Esse comando usa o programa de editor configurado (consulte a seção Config) para adicionar ou modificar propriedades. Quando você executa o comando, svn chama seu programa editor em um arquivo temporário que contém o valor atual da propriedade (ou que está vazio, se você estiver adicionando uma nova propriedade). Em seguida, basta modificar esse valor no programa do editor até que ele represente o novo valor que deseja armazenar para a propriedade, salve o arquivo temporário e saia do programa de edição. Se o Subversion detectar que você realmente alterou o valor existente da propriedade, ele aceitará isso como o novo valor da propriedade. Se você sair do editor sem fazer nenhuma alteração, nenhuma modificação de propriedade ocorrerá: Devemos observar que, como com outros subcomandos svn, aqueles relacionados a propriedades podem atuar em vários caminhos de uma vez. Isso permite que você modifique propriedades em conjuntos inteiros de arquivos com um único comando. Por exemplo, poderíamos ter feito o seguinte: Toda essa propriedade adicionando e editando isnt realmente muito útil se você cant facilmente obter o valor da propriedade armazenada. Assim, o programa svn fornece dois subcomandos para exibir os nomes e valores das propriedades armazenadas em arquivos e diretórios. O comando svn proplist listará os nomes das propriedades que existem em um caminho. Depois de conhecer os nomes das propriedades no nó, você pode solicitar seus valores individualmente usando svn propget. Este comando, dado um nome de propriedade e um caminho (ou conjunto de caminhos), imprime o valor da propriedade para o fluxo de saída padrão. Há ainda uma variação do comando proplist que irá listar tanto o nome eo valor para todas as propriedades. Basta fornecer a opção --verbose (-v). O último subcomando relacionado à propriedade é propdel. Desde Subversion permite que você armazene propriedades com valores vazios, você não pode remover uma propriedade completamente usando svn propedit ou svn propset. Por exemplo, este comando não produzirá o efeito desejado: Você precisa usar o subcomando propdel para excluir completamente propriedades. A sintaxe é semelhante aos outros comandos de propriedade: Lembre-se das propriedades de revisão não-versionadas Você também pode modificar as mesmas usando os mesmos subcomandos svn que acabamos de descrever. Basta adicionar o parâmetro de linha de comando --revprop e especificar a revisão cuja propriedade você deseja modificar. Como as revisões são globais, você não precisa especificar um caminho de destino para esses comandos relacionados à propriedade, desde que você esteja posicionado em uma cópia de trabalho do repositório cuja propriedade de revisão você deseja modificar. Caso contrário, você pode simplesmente fornecer o URL de qualquer caminho no repositório de interesse (incluindo o URL raiz do repositorio). Por exemplo, você pode querer substituir a mensagem de log de confirmação de uma revisão existente. 14 Se o seu diretório de trabalho atual faz parte de uma cópia de trabalho do seu repositório, basta executar o comando svn propset sem o caminho de destino: Mas mesmo se você não tiver verificado uma cópia de trabalho desse repositório, ainda poderá efetuar a alteração de propriedade Fornecendo o URL de repositorys root: Note que a capacidade de modificar essas propriedades não-versionadas deve ser explicitamente adicionada pelo administrador do repositório (consulte a seção denominada Commit Log Message Correction). Isso é porque as propriedades arent versioned, então você corre o risco de perder informações se você arent cuidado com suas edições. O administrador do repositório pode configurar métodos para proteger contra essa perda e, por padrão, a modificação de propriedades não versionadas é desativada. Os usuários devem, quando possível, usar svn propedit em vez de svn propset. Enquanto o resultado final dos comandos é idêntico, o primeiro permitirá que eles vejam o valor atual da propriedade que eles estão prestes a mudar, o que os ajuda a verificar que eles estão, de fato, fazendo a mudança que eles acham que estão fazendo . Isso é especialmente verdadeiro ao modificar propriedades de revisão não-versionadas. Além disso, é significativamente mais fácil modificar valores de propriedade multilinha em um editor de texto do que na linha de comando. Propriedades e fluxo de trabalho do Subversion Agora que você está familiarizado com todos os subcomandos svn relacionados a propriedades, vamos ver como as modificações de propriedades afetam o fluxo de trabalho do Subversion. Como mencionamos anteriormente, as propriedades de arquivos e diretórios são versionadas, assim como o conteúdo do arquivo. Como resultado, o Subversion fornece as mesmas oportunidades para a fusão limpa ou com conflitos de modificações de alguém em seu próprio país. Como com o conteúdo do arquivo, suas alterações de propriedade são modificações locais, tornadas permanentes somente quando você as envia ao repositório com svn commit. Suas alterações de propriedade podem ser facilmente desfeitas, toothe svn revert comando irá restaurar seus arquivos e diretórios para seus unedited statescontents, propriedades e tudo. Além disso, você pode receber informações interessantes sobre o estado de suas propriedades de arquivo e diretório usando os comandos svn status e svn diff. Observe como o subcomando de status exibe M na segunda coluna em vez da primeira. Isso ocorre porque modificamos as propriedades em calcbutton. c. Mas não seus conteúdos textuais. Se tivéssemos alterado ambos, teríamos visto M na primeira coluna, também. (Eu cubro o status de svn na seção chamada Veja uma visão geral de suas mudanças). Como com o conteúdo do arquivo, as modificações de propriedades locais podem entrar em conflito com as alterações feitas por outra pessoa. Se você atualizar seu diretório de cópia de trabalho e receber alterações de propriedade em um objeto versionado que chocam com o seu próprio, o Subversion relatará que o objeto está em um estado conflituoso. O Subversion também criará, no mesmo diretório do objeto em conflito, um arquivo com uma extensão. prej que contém os detalhes do conflito. Você deve examinar o conteúdo deste arquivo para que você possa decidir como resolver o conflito. Até que o conflito seja resolvido, você verá um C na segunda coluna da saída de status svn para esse objeto e as tentativas de cometer as modificações locais falharão. Para resolver conflitos de propriedades, basta garantir que as propriedades conflitantes contenham os valores que devem e, em seguida, usar o comando svn resolve --acceptworking para alertar o Subversion de que você resolveu manualmente o problema. Você também pode ter notado a maneira não padrão que o Subversion exibe atualmente diferenças de propriedade. Você ainda pode usar svn diff e redirecionar sua saída para criar um arquivo de patch utilizável. O programa do remendo ignorará patchesas da propriedade como uma régua, ignora todo o ruído que não pode compreender. Isso, infelizmente, significa que para aplicar totalmente um patch gerado pelo svn diff usando patch. Qualquer modificação de propriedade terá de ser aplicada à mão. O Subversion 1.7 melhora esta situação de duas maneiras. Em primeiro lugar, sua exibição não padronizada de diferenças de propriedade é pelo menos legível por máquina, uma melhoria em relação à exibição de propriedades em versões anteriores a 1.7. Mas o Subversion 1.7 também introduz o subcomando svn patch, projetado especificamente para lidar com as informações adicionais que svn dif s output pode transportar, aplicando essas alterações na cópia de trabalho do Subversion. De relevância específica para o nosso tópico, as diferenças de propriedades presentes nos arquivos de patch gerados pelo svn diff no Subversion 1.7 ou superior podem ser aplicadas automaticamente a uma cópia de trabalho pelo comando svn patch. Para mais informações sobre o patch svn. Consulte o patch svn no Capítulo 9, Referência Completa do Subversion. Há uma exceção a como as alterações de propriedades são relatadas pelo svn diff. Muda para Subversions especial svn: mergeinfo propriedade usada para rastrear informações sobre fusões que foram realizadas em seu repositório são descritas de uma forma mais legível para humanos. Isso é bastante útil para os seres humanos que têm de ler essas descrições. Mas também serve para fazer com que os programas de patch (incluindo o patch svn) ignorem aquelas descrições de mudança como ruído. Isso pode soar como um bug, mas ele realmente não é porque esta propriedade destina-se a ser gerenciado exclusivamente pelo subcomando svn merge. Para obter mais informações sobre o acompanhamento de mesclagem, consulte o Capítulo 4, Ramificação e mesclagem. As Propriedades de Definição de Propriedades Automáticas são um recurso poderoso do Subversion, atuando como componentes-chave de muitos recursos do Subversion discutidos noutra parte deste e de outros tópicos, além de suporte a diferenças e intercalação, substituição de palavras-chave, tradução de nova linha e assim por diante. Mas para obter o benefício completo das propriedades, elas devem ser definidas nos arquivos e diretórios corretos. Infelizmente, esse passo pode ser facilmente esquecido na rotina das coisas, especialmente desde que não definir uma propriedade doesnt normalmente resultar em um erro óbvio (pelo menos em comparação, digamos, falha ao adicionar um arquivo para o controle de versão). Para ajudar as suas propriedades a serem aplicadas aos locais que as necessitam, o Subversion fornece algumas características simples mas úteis. Sempre que você apresentar um arquivo para o controle de versão usando os comandos svn add ou svn import, o Subversion tentará ajudar configurando algumas propriedades comuns do arquivo automaticamente. Primeiro, em sistemas operacionais cujos sistemas de arquivos suportam um bit de permissão de execução, o Subversion definirá automaticamente a propriedade svn: executável em arquivos recém-adicionados ou importados cujo bit de execução está habilitado. (Consulte a seção File Executability, mais adiante neste capítulo, para obter mais informações sobre essa propriedade.) Em segundo lugar, o Subversion tenta determinar o tipo MIME de arquivos. Se você tiver configurado um parâmetro de configuração de tempo de execução de mime-types-files, o Subversion tentará encontrar um mapeamento de tipo MIME nesse arquivo para sua extensão de arquivos. Se encontrar um tal mapeamento, ele irá definir seus arquivos svn: mime-type propriedade para o tipo MIME encontrado. Se nenhum arquivo de mapeamento estiver configurado, ou nenhum mapeamento para sua extensão de arquivos poderia ser encontrado, o Subversion recairá em algoritmos heurísticos para determinar o tipo MIME de arquivos. Dependendo de como ele é construído, o Subversion 1.7 pode fazer uso de bibliotecas de varredura de arquivos 15 para detectar um tipo de arquivo baseado em seu conteúdo. Falhando em tudo, o Subversion empregará sua própria heurística muito básica para determinar se o arquivo contém conteúdo não-textual. Se assim for, ele automaticamente define a propriedade svn: mime-type nesse arquivo para applicationoctet-stream (o genérico é uma coleção de bytes de tipo MIME). Naturalmente, se o Subversion adivinhar incorretamente, ou se você deseja definir a propriedade svn: mime-type para algo mais preciso, talvez imagepng ou applicationx-shockwave-flash você sempre pode remover ou editar essa propriedade. UTF-16 é comumente usado para codificar arquivos cujo conteúdo semântico é de natureza textual, mas a própria codificação faz um uso intenso de bytes que Estão fora do intervalo de bytes de caractere ASCII típico. Como tal, o Subversion tenderá a classificar esses arquivos como arquivos binários, para grande desgosto dos usuários que desejam a diferenciação e fusão baseada em linha, a substituição de palavras-chave e outros comportamentos para esses arquivos. O Subversion também fornece, através do seu sistema de configuração de tempo de execução (consulte a seção Área de Configuração do Tempo de Execução), um recurso de configuração de propriedade automático mais flexível que permite criar mapeamentos de padrões de nome de arquivo para nomes e valores de propriedades. Mais uma vez, esses mapeamentos afetam adicionamentos e importações e não podem apenas substituir a decisão de tipo MIME padrão feita pelo Subversion durante essas operações, mas também podem definir propriedades adicionais do Subversion ou personalizadas. Por exemplo, você pode criar um mapeamento que diz que sempre que você adicionar JPEG filesones cujos nomes correspondem ao padrão. Subversion deve definir automaticamente a propriedade svn: mime-type sobre esses arquivos para imagejpeg. Ou talvez qualquer arquivo que corresponda. cpp deve ter svn: eol-style definido como nativo. E svn: palavras-chave definidas como Id. O suporte automático à propriedade é talvez a ferramenta mais acessível relacionada à propriedade na caixa de ferramentas do Subversion. Consulte a seção Config para obter mais informações sobre como configurar esse suporte. Geralmente, os administradores do Subversion perguntam se é possível configurar, no lado do servidor, um conjunto de definições de propriedade que todos os clientes conectados considerarão automaticamente ao operar em cópias de trabalho verificadas desse servidor. Infelizmente, o Subversion não oferece esse recurso. Os administradores podem usar scripts de gancho para validar que as propriedades adicionadas e modificadas em arquivos e diretórios correspondem às políticas preferenciais dos administradores, rejeitando compromissos que não são compatíveis dessa forma. (Consulte a seção chamada Implementing Repository Hooks para obter mais informações sobre os scripts hook.) Mas não há maneira de ditar automaticamente essas preferências aos clientes do Subversion de antemão. 13 Se você estiver familiarizado com XML, este é basicamente o subconjunto ASCII da sintaxe para XML Name. 14 A correção de erros ortográficos, de arranjos gramaticais e de erros simples nas mensagens de log de commit é talvez o caso de uso mais comum para a opção --revprop. 15 Atualmente, libmagic é a biblioteca de suporte usada para realizar isso.
Comments
Post a Comment