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.
Ce serait:
svn rm --keep-local .
La même chose m'est arrivée. :-P
(notez le dernier point)
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
Vous pouvez réparer votre achat de la manière suivante:
-
rsync -av --exclude .svn/ YOURDIR/ YOURDIR.bak
svn revert -R YOURDIR
rsync -av YOURDIR.bak/ YOURDIR
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.