Je ne veux pas qu'un répertoire soit nommé build
ou dist
qu'il entre dans mon SVN, quelle que soit la profondeur de l'arborescence.
Est-ce possible? Dans git je viens de mettre
build
dist
dans mon .gitignore
à la racine et il ignore récursivement. Comment faire cela avec svn? S'il vous plaît ne me dites pas de faire un propset sur chaque répertoire parent ...
svn
version-control
ignore
Paul Tarjan
la source
la source
Réponses:
Depuis la subversion 1.8, il y a maintenant la
svn:global-ignores
propriété qui fonctionne commesvn:ignore
mais de manière récursive (donc définissez ceci sur votre répertoire de niveau supérieur)la source
global-ignores
dans le~/.subversion/config
fichier, mais aussi la propriété héritablesvn:global-ignores
définie sur un répertoire dans un dépôt SVN, ainsi quesvn:ignore
- pouvez-vous fournir un résumé de ces différentes options et comment elles se comparent? Comment le--recursive
drapeau les affecte-t-il aussi?obj
dossier est toujours affiché] ( stackoverflow.com/questions/50960188/… ), pouvez-vous m'aider à y jeter un œil?svn propset
prend--recursive
en option, vous pouvez donc le faire, avec deux inconvénients:svn:ignore
propriété chaque fois que vous ajoutez un nouveau répertoirela source
Il n'est pas possible de faire cela. Il n'y a que deux mécanismes d'
svn:ignore
ignorance dans Subversion, (qui n'est pas récursif) etglobal-ignores
(qui n'est pas spécifique à un référentiel).la source
Cela fonctionne pour moi:
la source
ajoutez à votre fichier ~ / .subversion / config ou / etc / subversion / config:
la source
Il est possible d'ignorer les répertoires build et dist en supprimant les répertoires du contrôle de version. L'astuce consiste à utiliser l'option --keep-local pour laisser le répertoire dans la copie de travail. Par exemple:
Le répertoire ne sera plus suivi par subversion mais il sera toujours là dans votre copie de travail pour contenir la sortie du compilateur, etc.
bravo, Joe
la source
Par exemple la structure des dossiers:
Il est bon de faire une suppression svn du contenu dist avant la commande ignore, donc pour les branches dist sera vide.
A travaillé pour moi, testé aujourd'hui. Voici la page qui l'explique un peu
la source
Afin d'ignorer tous ces fichiers dans tous les référentiels, vous pouvez ajouter un
global-ignores
à votre fichier de configuration par utilisateur.Voir les options de configuration
Malheureusement, il n'y a pas d'option par référentiel pour faire cela. C'est essentiellement par utilisateur, ou par répertoire, donc le multiple
svn:ignores
est probablement la voie à suivre, aussi ennuyeux que cela puisse être.la source
Vous devez d'abord vous déplacer vers le dossier supérieur de votre copie de travail et y créer un fichier (par exemple .svnignore) où vous devez placer tous les modèles que vous souhaitez ignorer, par exemple (pour un projet Android):
Ensuite, vous exécutez la commande suivante (rappelez-vous que vous devez être dans le dossier supérieur de votre copie de travail):
Cela ne fonctionnera que pour les dossiers et fichiers qui ne sont pas encore sous contrôle de version. Si vous souhaitez qu'un dossier (ou fichier) en cours de version soit également ignoré, supprimez-le du contrôle de version en exécutant la commande:
Vous avez tout cela dans cet excellent article qui explique tout: http://superchlorine.com/2013/08/getting-svn-to-ignore-files-and-directories/
la source
Dans la subversion 1.8 over, il est possible de définir global-ignores pour le référentiel actuel.
Vous pouvez également créer un dossier nommé .svnignore et écrire des conditions.
souvenez-vous d'une condition par ligne, définir build / * ou dist / debug est en vain. Ensuite, exécutez la commande:
la source
Créez un fichier et ajoutez-y vos ignorés
ingore-list:
puis appliquez la commande suivante
répertoire est le nom de votre répertoire, vous pouvez également sous-catégoriser répertoire / sous-répertoire. Ou utilisez * pour noter le répertoire actuel dans lequel vous vous trouvez.
Cela suppose que vous utilisez bash comme shell
la source
où svn_ignore_rules est un fichier contenant les règles d'ignorer - une par ligne
Bien sûr, vous devez le réexécuter chaque fois que vous ajoutez un nouveau répertoire à votre dépôt
svn_ignore_rules peut également être considéré comme archivé dans le référentiel, comme réutilisable par d'autres utilisateurs ayant un accès en écriture au référentiel
la source
la source
set EDITOR=notepad
,svn propedit svn:ignore .
a bien fonctionné ...Puisqu'il ne semble pas y avoir de solution à ce problème probablement courant, je voudrais partager notre solution. Comme les autres l'ont déjà précisé, vous pouvez soit utiliser la
svn:ignore
propriété, cela s'applique à un seul répertoire (et donc pas pour les nouveaux), soit vous utiliserglobal-ignores
qui s'applique à un seul utilisateur (mais n'appartient pas au référentiel).Pour rendre la vie un peu plus facile, j'ai créé un fichier reg nommé
Settings.Svn.reg
et l' ai ajouté à la racine du référentiel. Maintenant, tout le monde peut double-cliquer une fois sur ce regfile et a fait les réglages.J'apprécierais vraiment une solution dans le référentiel SVN, donc si quelqu'un le sait, voudriez-vous la partager?
la source
Une façon serait d'ajouter une sorte de vérification au hook pré- ou post-commit, mais c'est simple si vous ne possédez pas le serveur de dépôt.
la source