2015-07-29 4 views
0

Comment fonctionne exactement svn update? Je sais qu'il apporte tous les changements sur la copie svn dans votre locale.Mise à jour SVN et modifications sur fichier obsolète

J'ai hors jour le fichier qui a empêché ma copie être commis l'erreur:

file 'somename' is out of date

La solution la plus se produisant sur le SO est de faire une commande svn update puis svn commit. Mais, ne me laisserais-je pas perdre les modifications que j'ai apportées à mes fichiers sur ma copie locale, y compris celle qui est obsolète?

Répondre

0

Vous pouvez effectuer une sauvegarde du fichier local et obtenir la mise à jour svn. Plus tard, utilisez n'importe quel outil de comparaison de fichiers pour fusionner vos modifications. Beyond Compare est généralement ce que j'utilise pour fusionner des fichiers volumineux. Ou bien, si vous utilisez eclipse avec le plugin SVN, c'est beaucoup plus simple. Faites un clic droit sur le projet ou le fichier allez à Team> Synchronize with Repository. Vous verrez la vue Team Sync dans laquelle vous devriez voir votre fichier sous les changements sortants ou en conflit. Double-cliquez sur le fichier à fusionner, puis fusionnez le fichier svn avec local. Une fois que tout est fait correctement, cliquez sur le fichier et cliquez sur Marquer comme fusionné. Enfin, archivez le fichier.

+0

Alors c'est le seul moyen de résoudre l'erreur obsolète? – hasan83

+0

Je n'ai jamais eu d'erreur obsolète en tant que telle. Je suppose que c'est parce que la version locale du fichier est différente de celle sur SVN. Vous pouvez simplement vérifier l'historique du fichier sur SVN pour la version actuelle et se si le fichier local a la même version. Si vous validez un fichier sur SVN avec une version locale différente de celle sur SVN qui n'est pas correcte. Vous pouvez remplacer les modifications de quelqu'un d'autre. C'est toujours sûr de suivre l'approche ci-dessus. J'utilise eclipse avec le plugin SVN pour les check ins; Je crois que les fichiers en conflit sont ceux avec des erreurs périmées. – pratikpawar

+0

Mais, si je veux faire ça? Je veux remplacer le mien avec celui sur le serveur svn – hasan83

2

Est-ce que cela vous "laisse" perdre vos modifications? Bien sûr, je suppose. Est-il susceptibles de perdre vos modifications? Pas du tout. Sera-t-il silencieux vos changements? Absolument pas.

Si vous effectuez un svn update, fusionnera le référentiel dans votre copie de travail. En supposant que vous travaillez avec des fichiers textuels, cela signifie que si vous avez apporté des modifications aux mêmes lignes que celles du référentiel, vous obtiendrez un "conflit de fusion" que vous devrez résoudre manuellement. Ainsi, si vous perdez vos changements, c'est parce que vous avez foiré en résolvant des conflits, pas à cause de quoi que ce soit que SVN a fait.