2008-11-05 8 views
3

Lorsque vous ajoutez un fichier à Perforce, il tente de déterminer le type de fichier (texte, binaire, utf16, etc.). Il fait un bon travail de ceci, mais apparemment ne vérifie jamais le type de dossier encore après la soumission initiale au contrôle de version. Un collègue a récemment apporté une modification à un fichier texte qui l'a converti en Unicode (utf16). Perforce ne l'a pas reconnu et l'a toujours considéré comme type text, alors quand d'autres ont récupéré le fichier, il était corrompu.Comment gérer les modifications de type de fichier dans Perforce?

Nous avons résolu le problème en soumettant de nouveau le fichier et en changeant explicitement le type de fichier à utf16, mais nous préférerions que cela se produise automatiquement. Il y a des façons de forcer à toujours utiliser un certain type d'encodage, mais je ne sais pas si j'aime cette idée. Est-ce que quelqu'un a traité et a trouvé une solution à ce problème? soutien

Répondre

5

Perforce tech avait ceci à dire:

Perforce ne vérifie pas le contenu de le fichier lorsque vous soumettez une modification.

La vérification de chaque modification de fichier pour le contenu est potentiellement très coûteuse. "texte" et "utf16" ne sont pas les seuls types de fichiers à surveiller, un fichier pourrait potentiellement changer de type de "texte" à "binaire" par exemple.

Un autre problème est que parfois un utilisateur souhaite remplacer le comportement par défaut de la façon dont Perforce reconnaît un fichier . Comment le serveur doit-il réagir dans si le type de fichier ne correspond pas au type de fichier fourni par l'utilisateur ?

Pour ces raisons Perforce ne fera que déterminer le type de fichier lorsque le fichier est ajouté , et prendre la « typemap » et le paramètre de commande « -t » en compte . D'autre part, vous pouvez empêcher votre situation de se produire à nouveau par en utilisant un déclencheur «modifier le contenu». Ce déclencheur vérifie le contenu du fichier et le compare au type de fichier spécifié , en rejetant toute soumission qui crée une discordance.

+0

Quelqu'un peut-il montrer comment faire? Je ne suis pas familier avec les déclencheurs ou l'examen du contenu pour le type de texte. –

Questions connexes