2009-10-24 4 views
1

J'utilise TortoiseSVN pour le contrôle de version. Dans une boîte de travail avec laquelle j'ai travaillé pendant des semaines, je vois soudainement un certain nombre de fichiers "changés" apparaissant dans la boîte de dialogue "SVN commit .." que j'ai certainement touché et qui ne contiennent aucune différence réelle:Non-changement mystérieux apparaissant dans TortoiseSVN/TortoiseMerge

alt text http://www.pekkagaiser.de/TortoiseMerge.gif

Je n'ai pas changé pas effectué les codages de ces fichiers toute autre opération sur eux aussi loin que je me souvienne. Est-ce que quelqu'un sait ce que c'est et comment s'en débarrasser?

EDIT: Le comportement est apparu à nouveau. Tortue réclame un « changement de texte », même si il n'y en avait pas:

alt text http://www.stadtpflanzen.de/images/StackOverflow1.gif

alt text http://www.stadtpflanzen.de/images/StackOverflow2.gif

cela peut difficilement être une fin de ligne chose, peut-il? Ce n'est pas urgent car cela arrive très rarement maintenant, mais je suis toujours curieux.

Éditer: Tous les gens de droite, le temps de posséder. C'est vraiment embarrassant mais j'ai découvert ce que c'était. Ce que je n'ai pas fait remarquer, parce que je pensais que ce n'était pas important, était que je ne travaillais pas dans le dialogue "commit ..." de Tortoise, mais dans "vérifier les modifications". Je pense que vous pouvez rassembler le reste: j'ai beaucoup changé entre l'IDE et Tortoise, en vérifiant dans divers fichiers, et chaque fois que je voudrais vérifier un fichier, pas cliquez sur rafraîchir, faire quelque chose d'autre et le vérifier à nouveau parce que J'ai oublié, ça ne marcherait pas - mais je serais bien sûr encore dans la liste. Merci pour votre temps! + 1'ing chaque réponse et en acceptant celui qui a bloqué avec moi le plus long :)

+2

Les fins de ligne ont-elles été modifiées? Accédez à Paramètres et décochez la case Ignorer les fins de ligne. – Greg

Répondre

2

D'accord, sortons les gros flingues. :-)

Extrayez le fichier (styles.css révision 40) dans un répertoire distinct.

exécuter un programme qui calcule md5 (par exemple md5, md5sum ou openssl md5) à la fois sur votre copie de travail et la copie de dépôt. Si vous obtenez des réponses différentes, les fichiers sont différents et TortoiseMerge ne vous montre pas quelque chose d'important. Si vous obtenez la même réponse (en négligeant le cas infinimentimpossible où deux fichiers différents mais très similaires ont deux hachages md5 identiques), les fichiers sont apparemment identiques et TSVN a un problème. (peut-être il regarde la date du fichier?)

edit: Le seul cas pathologique qui me vient à l'esprit est que le fichier a peut-être un encodage différent (par exemple UTF-8 vs ASCII) ... J'ai mis à jour de WinXP SP2 à SP3 il y a quelques mois et parfois je rencontre des choses étranges (apparemment UTF-8 byte order marks) où les premiers caractères apparaissent étrangement dans les éditeurs de texte.

Faites-nous savoir ce que vous trouvez!

3

Avez-vous peut-être utilisé la nouvelle fonctionnalité de "fusion-suivi" de SVN 1.5+? Lors de la fusion, il va ajouter/modifier la propriété svn:mergeinfo pour les fichiers concernés, même ceux qui n'ont pas été modifiés. Ceux-ci apparaissent alors comme des changements à être mis en place.

Voir http://svnbook.red-bean.com/en/1.5/svn.branchmerge.basicmerging.html#svn.branchmerge.basicmerging.mergeinfo.

+0

Non, aucune propriété n'a été modifiée. Voir modifier ci-dessus. –

+0

Il est résolu, voir mon édition. –

2

Les fins de ligne peuvent changer si la valeur de la propriété svn:eol-style est définie sur native dans vos fichiers texte et si vous les avez simplement ouverts dans un éditeur, vous les avez enregistrés.

Certains éditeurs et outils convertissent automatiquement les fichiers dans leur version EOL native (par exemple, en modifiant la fin de ligne LF en CRLF).

Check this link to have a complete description on this property. Le svn:eol-style doit être défini manuellement sur chaque fichier texte, ce qui explique pourquoi il existe un moyen de le faire automatiquement par extension de fichier en éditant le fichier de configuration client - utiliser les paramètres TortoiseSVN, les paramètres généraux, Modifier le fichier de configuration subversion; ou vérifiez this link et recherchez l'entrée enable-auto-props.

+0

Il ne semble pas être de style EOL, car aucun changement n'est affiché et les problèmes EOL s'allument dans chaque ling. (Droite?) –

+0

Cela dépend si l'outil a été configuré pour vérifier les fins de ligne ou non. J'ai exécuté l'outil maintenant pour vérifier à nouveau (j'utilise WinMerge au lieu de l'outil diff de tortue, normalement) et repéré quelque chose si, les symboles de fin de ligne sont différents pour CRLF que LF (le premier est comme dans votre image , le second est une flèche vers le bas). Donc, il semble que le problème est autre chose ... – RedGlyph

+0

Il est résolu, voir mon édition. –

2

Regardez dans le navigateur Repo. Des colonnes indiquent si le contenu d'un fichier a changé ou si les propriétés d'un fichier ont changé. Il semble que les propriétés ont peut-être changé, mais pas le fichier.

+0

Non, aucune propriété n'a changé (voir ci-dessus). –

Questions connexes