2017-09-19 31 views
1

Bref, mon disque dur sur ma machine principale était défaillant. Je ne pouvais pas vérifier mon travail car une version de version était imminente, donc j'ai suspendu mes six projets sur lesquels je travaillais en partage de fichiers.Retour des données SVN après l'échec du disque dur

Nouveau disque arrivé, nouvelle copie de Windows, et al.

Maintenant, j'ai mes données de projet avec mes modifications recopiées dans mon répertoire C: \ Projects avec tortoisesvn installé et Visual SVN sur Visual Studio 2015.

Comment Accrocher mes copies de travail à synchroniser avec le serveur? J'ai vérifié à nouveau les projets sans mes changements, mais le simple fait de copier les dossiers de projet en haut cause des problèmes. Heureusement, j'avais zippé ce que j'avais vérifié.

Pour être clair, j'ai actuellement: - Tortoise/Visual SVN installé - copies de travail contrôlés du référentiel à C: \ Projects - Un partage de fichiers avec ce qui devrait être les copies de travail prêts à aller

Je veux essentiellement remplacer ce qui se trouve dans C: \ Projects par les copies de travail du partage de fichiers.

nb: Avant que quelqu'un ne commence, je suis conscient que c'est vraiment une mauvaise pratique mais sans entrer dans beaucoup de détails, c'était comme ça que ça devait être fait.

Répondre

0
  1. Faites un achat de quelque révision que vous travaillez avec votre BASE à ce moment-là.

  2. Il suffit de copier les fichiers modifiés (et enregistrés dans le partage) sur ceux de la copie de travail de la vérification.

  3. Faites un svn update (ce qui correspond à celui de Tortoise) pour synchroniser votre copie de travail avec les développements récents effectués en amont. Notez que cela peut entraîner des conflits dont vous aurez besoin pour résoudre et marquer comme tel.

  4. Validez.

Sinon, l'étape principale (svn up) pourrait se faire d'une autre manière:

  1. Créer une branche à distance votre révision de base, par exemple

    svn copy ^/branches/[email protected] ^/branches/mywork 
    
  2. Mettez à jour votre copie de travail à cette branche:

    svn switch ^/branches/mywork 
    
  3. Copiez les fichiers modifiés et sauvegardés sur la copie de travail en remplaçant par tout ce qui existe. Valider - mettre à jour cette branche "mywork".

  4. Revenez à « tronc » et fusionner votre travail:

    svn checkout ^/branches/trunk 
    svn merge ^/branches/mywork 
    

    Cela pourrait entraîner des conflits, comme d'habitude.

La différence entre ces deux approches est que les premières tentatives pour rendre les choses comme vous avez juste d'implémenter les nouveaux trucs (au sommet de ce qui est là-bas en amont) et le second prétend que vous étiez bidouiller sur une branche distincte, puis effectuez une fusion d'intégration.

(Notez que dans mes exemples, je suppose que vous travaillez sur le tronc;. si c'était pas le cas, régler les exemples en conséquence)