J'ai commis des modifications dans de nombreux fichiers dans un référentiel SVN d'Eclipse.
Je vais ensuite au répertoire du site Web sur la boîte Linux où je veux mettre à jour ces modifications du référentiel vers le répertoire là-bas.
Je veux dire "svn update project100" qui mettra à jour les répertoires sous "project100" avec tous mes fichiers ajoutés et modifiés, etc.
CEPENDANT, je ne veux pas nécessairement mettre à jour les changements que je n'ai pas faits. Donc j'ai pensé que je pourrais dire "svn status project100" mais quand je fais cela, j'obtiens une liste totalement différente des changements qui seront faits, aucun des miens n'est dans la liste, ce qui est étrange.
Par conséquent, pour être sûr que seules mes modifications sont mises à jour dans le répertoire Web, je suis obligé de naviguer vers tous les répertoires où je sais qu'il y a un changement que j'ai fait et de mettre à jour explicitement uniquement ces fichiers, par exemple "svn update newfile1.php" etc. ce qui est fastidieux.
Quelqu'un peut-il nous éclairer sur la procédure de travail standard ici, à savoir comment obtenir une liste précise de toutes les modifications qui sont sur le point d'être apportées avant d'exécuter la commande "svn update"? Je pensais que c'était la commande "status".
svn status -q -u
... Affiche uniquement les modifications de mise à jour et les modifications locales qui concernent les fichiers appartenant au référentiel. Vous n'obtenez pas de points d'interrogation (?) Des fichiers non référentiels.En fonction de ce que vous voulez savoir entre votre copie de travail et le dernier référentiel du serveur svn, sans mettre à jour votre copie de travail locale, voici ce que vous pouvez faire:
si vous voulez savoir ce qui a été changé dans le référentiel du serveur svn, exécutez la commande:
si vous voulez savoir si le même fichier a été modifié à la fois dans votre copie de travail locale et dans le référentiel du serveur svn, exécutez la commande:
si vous voulez obtenir la liste des fichiers modifiés entre une révision particulière et HEAD, exécutez la commande:
si vous souhaitez obtenir une liste des fichiers modifiés entre les révisions spécifiques, exécutez la commande:
si vous voulez voir ce qui sera mis à jour (sans réellement mettre à jour), exécutez la commande:
si vous voulez savoir quel contenu d'un fichier particulier a été modifié dans le référentiel du serveur svn par rapport à votre copie de travail, exécutez la commande:
si vous voulez savoir quel contenu de tous les fichiers a été modifié dans le référentiel du serveur svn par rapport à votre copie de travail, exécutez la commande:
la source
Vous pouvez voir ce qui sera mis à jour (sans réellement mettre à jour) en émettant:
Plus de détails ici .
la source
svn merge --dry-run --revision BASE:HEAD .
how do I ... without doing an update?
a:first, do an update, then ...
:) :) :)C'est ce que je cherchais. J'ai d'abord vérifié Google, mais
svn help
j'ai fini par venir pour moi :)la source
Le même mais plus court plus court :):
la source
Vous pouvez utiliser 'svn diff' pour voir la différence entre votre copie de travail et le référentiel.
la source
svn update
En théorie, vous pouvez effectuer toutes vos modifications dans une branche que vous avez créée pour votre propre usage. Vous seriez alors raisonnablement sûr d'être le seul à vous y engager.
Le développement des fonctionnalités IMHO devrait être fait comme ça.
Ensuite, vous pouvez mettre à jour cette machine cible à partir de cette branche plutôt qu'à partir du tronc.
la source