Je dispose d'un fichier de paramètres qui est sous contrôle de version en utilisant la subversion. Tout le monde a sa propre copie de ce fichier, et j'ai besoin que cela ne soit jamais commis. Cependant, comme je l'ai dit, il existe déjà une copie sous contrôle de version. Ma question est: comment puis-je supprimer ce fichier du contrôle de version sans supprimer le fichier de tout le monde, puis l'ajouter à la liste des ignorés afin qu'il ne soit pas validé? J'utilise la ligne de commande linux svn.SVN: Ignorer un fichier déjà commis
Répondre
Faire une caisse propre, svn delete
le fichier et ajouter l'ignorer. Puis commettez ceci. Tout le monde devra prendre soin (une fois) que sa copie locale ne soit pas supprimée sur le svn update
suivant, mais après cela, le fichier local restera non perturbé et ignoré par SVN.
Comment (comme "tout le monde") empêchez-vous le supprimer à la mise à jour? –
Déplacez-le avant d'exécuter la mise à jour. Recopiez-le ensuite. –
Comment se fait-il qu'il n'y a pas une manière plus facile de faire cela? Quelqu'un peut-il expliquer? – DaveS
Si vous supprimez le fichier de contrôle de version, comment un développeur nouveau au projet (ou celui qui a accidentellement supprimé sa copie locale) l'obtenir après le départ initial? Que faire s'il y a des ajouts au fichier de paramètres?
Je suggère ce qui suit: Gardez un fichier de paramètres par défaut (sans mot de passe, noms d'hôtes, les chaînes de connexion, etc.) SVN, nommez quelque chose comme settings.dist
, et laisser le code avec une copie de ce fait, le nom settings
. Chaque développeur doit faire cette copie une fois, et peut ensuite travailler avec ses paramètres personnalisés. S'il y a des ajouts, ajoutez-les à settings.dist
- tout le monde les obtiendra avec une mise à jour et pourra fusionner ensuite dans sa copie personnalisée.
définissent simplement les paramètres contenant le fichier qui surchargent ceux par défaut. Ce fichier n'est pas archivé dans Subversion et chaque développeur est responsable de la maintenance de ce fichier en fonction de son environnement.
Dans un monde basé sur Ant, vous auriez les fichiers:
settings.properties
settings-local.properties (ignored for Subversion)
et dans votre fichier build.xml
<property file="settings-local.properties"/>
<property file="settings.properties"/>
Pour ceux qui ne pouvaient pas relier les points:
- modifier le fichier build.xml comme proposé
- s et les setting-local.properties comme
- ignorés dans une cible
init
de votre build, copiez le settings.properties à settings-local.properties - attendre quelques jours jusqu'à ce que tout le monde a eu la chance de courir cet objectif
- supprimer les setting.properties de Subversion
Voila, chaque développeur a ses propres setting-local.properties et tout a été fait automatiquement (et aucun développeur a perdu ses paramètres, ce qui arrive si vous supprimez brutalement le fichier Suvbersion et il n'y a pas "Tout le monde devra faire attention ...")
Cela n'aide pas à résoudre le problème. –
Il est étrange que cette réponse ait été rejetée autant de fois, car c'est la seule qui n'a pas ignoré la partie concernant la suppression du fichier local de tout le monde. –
[[Je suis nouveau à la subversion, alors peut-être cela ne fait pas de sens. marquer ceci comme wiki - si vous connaissez la bonne réponse, veuillez APPENDER dans la section suivante]]
Vous ne pourriez pas avoir un ensemble personnalisé d'étapes de paiement afin que chaque utilisateur obtienne un dossier de paramètres différent?
$ svn checkout http://example.com/project project .. $ dir project original_settings\ folder1\ folder2\ $ svn checkout http://example.com/project/aaron_settings project\settings .. $ dir project original_settings\ folder1\ folder2\ settings\
Ou pour les nouveaux utilisateurs
$ svn import project\settings http://example.com/project/aaron_settings
Ce que je veux en venir vous voulez que chaque utilisateur d'avoir une vue personnalisée du référentiel. Dans d'autres systèmes de contrôle de version, vous pouvez configurer une liste personnalisée des projets que vous utilisiez et que vous n'utilisiez pas et que vous avez placés dans des lieux inhabituels.
Est-ce que cela fonctionne dans Subversion? Le code ci-dessus semble vraiment risqué, mais peut-être que je le fais mal.
WIKI:
(rien encore)
Après avoir supprimé le fichier, vos utilisateurs devront récupérer le fichier à partir du référentiel en utilisant svn export
.
$ svn export -r x path ./
Où x
est une révision où le fichier existait avant qu'il ne soit supprimé, path
est le chemin complet vers le fichier, et ./
est l'endroit où sera placé le fichier. Pour plus d'informations, voir .
J'ai un problème similaire. Dans mon cas, c'est un fichier de paramètres utilisateur généré automatiquement (studio visuel) qui a été accidentellement vérifié très tôt dans le projet. Bien que la suppression puisse fonctionner, il semble plus probable qu'elle soit supprimée de l'historique, car elle n'a jamais été censée être là en premier lieu.
je suis tombé sur ce qui pourrait être une nouvelle fonctionnalité puisque cette question a été publiée il y a 7,5 ans:
https://stackoverflow.com/a/6025750/779130
On dirait une idée serait de:
1) create a dump of the project.
2) filter the dump using `svndumpfilter` to exclude the unwanted file(s).
3) load the dump as a new project.
Cette pourrait être le seul moyen de se débarrasser complètement du fichier. Dans la plupart des cas, l'approche "supprimer et ignorer" peut être assez bonne.
- 1. Ignorer SVN ignore ... possible?
- 2. Comment ignorer les dossiers SVN dans WinMerge?
- 3. Utiliser svn: ignore pour ignorer tout sauf certains fichiers
- 4. Ignorer certains fichiers de la validation SVN
- 5. SVN: un répertoire versionné du même nom existe déjà
- 6. Ajouter des fichiers à un svn repo déjà configuré
- 7. Comment ignorer un fichier dans TortoiseSVN?
- 8. Subversion: ignorer les modifications apportées à un fichier localement sur un seul client
- 9. Ignorer pas de fichier trouvé
- 10. Ignorer les fichiers SVN lors de l'exportation d'un fichier WAR à partir d'Eclipse?
- 11. Commis avant 401 Aucune authentification spécifiée
- 12. Ignorer les fichiers de projet Eclipse dans le projet SVN
- 13. svn: supprimer un fichier dans le dépôt
- 14. Récupérer un fichier SVN DB vide
- 15. Autorisations SVN pour un seul fichier
- 16. Client SVN Ignorer le modèle pour les solutions VB.NET
- 17. Comment empêcher SVN de mettre à jour un répertoire déjà dans le dépôt
- 18. Puis-je ignorer un fichier entier avec l'opérateur <>?
- 19. Est-il possible d'archiver un fichier ou d'ajouter un fichier à un référentiel SVN sans client SVN?
- 20. Un fichier déjà utilisé peut-il être cloné dans VB.NET?
- 21. Détection si un fichier est déjà ouvert en javascript/hta
- 22. AnkhSVN ignorer le modèle
- 23. SVN Ignorer tous les fichiers (pas les dossiers) dans un sous-arbre,
- 24. Avez-CodeIgniter Ignorer un répertoire
- 25. SVN Branching et "IIS Url déjà mappé à un emplacement différent"
- 26. Comment ignorer un attribut [XMLIgnore]
- 27. Importer le fichier SVN Repo dans Visual SVN
- 28. Comment ignorer avec __autoload?
- 29. Rar commande - ignorer certains dossiers
- 30. L'ajout d'itinéraire a échoué: Impossible de créer un fichier lorsque ce fichier existe déjà
duplication possible de [svn ignore sans supprimer les fichiers?] (Http://stackoverflow.com/questions/951032/svn-ignore-without-deleting-files) – tchrist