web-dev-qa-db-fra.com

Annuler svn add sans annuler les modifications locales

J'ai accidentellement couru svn add * et ajouté un tas de fichiers qui ne devraient pas être dans le référentiel. J'ai également des modifications locales dans certains fichiers que je veux conserver. Existe-t-il un moyen simple de défaire le svn add sans annuler les modifications locales? La principale suggestion que je vois sur Google est svn revert, qui annule les modifications locales.

152
jonderry

Ce serait:

svn rm --keep-local .

La même chose m'est arrivée. :-P

(notez le dernier point)

276
Nostradamus1935

Si ces fichiers se trouvent dans un répertoire qui n'a pas encore été validé, vous pouvez supprimer tout le contenu du répertoire du prochain commit en procédant comme suit:

svn delete --keep-local /path/to/directory

Toutefois, si ces fichiers se trouvent déjà dans le référentiel et contiennent maintenant des modifications que vous ne souhaitez pas valider, vous pouvez valider le reste des fichiers à l'aide de listes de modifications:

svn changelist somename /file/to/be/committed
svn commit --changelist somename
34
Juampy NR

Vous pouvez réparer votre achat de la manière suivante:

  1. Sauvegardez vos fichiers locaux
  2. Revenir à la caisse du SVN
  3. Restaurer les fichiers

-

rsync -av --exclude .svn/ YOURDIR/ YOURDIR.bak
svn revert -R YOURDIR
rsync -av YOURDIR.bak/ YOURDIR 
6
Brice M. Dempsey

J'ai eu le même problème, j'ai accidentellement ajouté un répertoire/via svn add Qui contient les fichiers binaires et le fichier compilé. Cette commande supprime réellement le répertoire.

svn rm --force <directory-name>

Dans mon cas, je n'ai pas besoin du répertoire, donc il était sécuritaire de le supprimer. Si vous souhaitez conserver les fichiers/répertoires sauvegardés, placez-les dans un emplacement avant d'appliquer la commande, puis copiez-les à nouveau.

2
pushya