IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Subversion Discussion :

Manipulation sur SVN


Sujet :

Subversion

  1. #1
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 152
    Points : 7 402
    Points
    7 402
    Billets dans le blog
    1
    Par défaut Manipulation sur SVN
    Bonjour,

    Je travaille sur un projet dont les versions sont gérées avec SVN.

    Nous avons opté pour l'architecture suivante :

    TRUNK = Branche de développement (correction de bugs, évolutions mineures)
    Branche "REC" = Branche de recette (utilisé uniquement pour générer des livrables)
    Branches X correspondant aux différents lots itératifs (évolutions majeures)

    J'ai donc suivi le cycle habituel de développement :
    - Développements et tests unitaires dans une branche dédiée au lot sur lequel je travaillais
    - Merge dans le tronc une fois mes développements terminés ainsi que mes tests unitaires
    - Contrôle qualité client sur le trunk, avec corrections en mode itératif directement dans le tronc

    Et là, le drame : le client, par erreur ma dit il y a deux jours "ok, c'est validé tu peux pousser en recette".
    Donc gros merge sur la branche de recette.

    Sauf qu'au moment de livrer, le client se rend compte qu'il est allé un peu vite en besogne : il ne veut surtout pas mes développements récents, en revanche, les nombreuses corrections de bugs sans rapport avec le projet, il les veut, car il y a des bugs bloquants en production, avec une livraison nécessaire rapidement, sans attendre la validation complète des nouveaux devs.

    Habituellement, quand on se rend compte immédiatement de l'erreur, je copie tout mon dossier de recette dans un nouveau dossier "nouveau".
    Avec SVN, je remonte à la version de recette avant le merge. Je la sauverade dans un dossier "ancien".
    Puis je repasse à la dernière version.
    J'écrase avec la sauvegarde "ancien" et je commit.
    Ensuite j'écrase avec la sauvegarde "nouveau" et je crée alors un fichier patch contenant l'ensemble des différences.
    Ensuite je fais un revert de sources.

    Ensuite, une fois le feu vert, j'ai juste à réappliquer le fichier patch.

    Ok, ça c'est dans le monde des bisounours.

    Sauf que là, entre temps, j'ai fait une trentaine de commit sur la branche de recette.

    Je voudrais donc :
    - parcourir le log et noter l'ensemble des versions mergées depuis mon erreur
    - retourner à la version avant mon merge abusif
    - dire à SVN que tout ce qui c'est passé après, il faut oublier, c'est une erreur

    En fait, je veux pouvoir retourner dans le temps, et merger de nouveau toutes mes modifications sauf la grosse mise à jour qui correspond à mes développements.

    Une idée de comment faire ?

    J'utilise Tortoise SVN. Mais s'il faut passer par des lignes de commande, je peux.
    J'ai accès au serveur, donc si besoin de hooks, c'est possible aussi.

    Merci d'avance, car là j'ai passé une heure à retourner les sources du programme dans tous les sens, et à part faire de la merde, j'arrive pas à grand chose...
    On ne jouit bien que de ce qu’on partage.

  2. #2
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 152
    Points : 7 402
    Points
    7 402
    Billets dans le blog
    1
    Par défaut
    Grmpf !

    En fait, quand on coche le bouton "reverse" dans la fonction de merge, c'est magique, ça fait exactement ce que je voulais faire !
    On ne jouit bien que de ce qu’on partage.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD10] manipulation sur un etat
    Par nath-0-0 dans le forum WinDev
    Réponses: 11
    Dernier message: 21/02/2007, 19h13
  2. [Hook] utilisation des hook sur SVN
    Par billone007 dans le forum Subversion
    Réponses: 1
    Dernier message: 22/11/2006, 16h19
  3. manipulation sur date dans une requête
    Par willis dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 06/07/2006, 15h43
  4. Manipulations sur les bits
    Par ThE_LaSt dans le forum C
    Réponses: 23
    Dernier message: 27/03/2006, 14h22
  5. Manipulation sur recordset
    Par dl_jarod dans le forum ASP
    Réponses: 12
    Dernier message: 25/10/2005, 10h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo