2010-03-06 3 views
25

J'ai une bibliothèque statique compilé (avec une « une » extension) Je veux inclure dans mon dépôt SVN, mais en ajoutant qu'il ne fonctionne jamais (pas de problème d'ajouter d'autres types d'articles) . Si je change l'extension (par exemple, "library.a" -> "library.b"), l'ajout fonctionne. Pourquoi l'extension "a" échoue? Y at-il un moyen de contourner cela sans renommer le fichier?SVN n'importera * .a bibliothèque

+2

Que dit "svn status --no-ignore"? Est-ce qu'il voit les fichiers * .a? – jtm

+2

Le I devant signifie que le fichier est ignoré. Puisque le global n'ignore pas, vous avez un ignorer local. faire "svn propedit svn: ignorer" – jtm

+0

Cela a également été discuté ici: http://stackoverflow.com/questions/2125303/svn-propget-svnignore-returns-nothing-but-svn-is-obviously-ignoring-my-files/2125487 # 2125487 – Ether

Répondre

50

Avez-vous vérifié vos paramètres globaux ignorés. Sur linux ils sont stockés dans ~/.subversion/config

La valeur par défaut sur ma machine est:

global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo 

il ignore les fichiers * .a

plus d'info here

Vous devriez être en mesure d'ajouter le fichier avec

svn add "file" --no-ignore 

pour ignorer tout igno re jeu de règles.

Si la commande:

svn status --no-ignore 

revient avec je devant vous local Ignore. Run:

svn propedit svn:ignore 
+0

Merci pour votre inscription. Je suis sur Mac OS X et dans mon fichier ~/.subversion/config, le paramètre global-ignore est défini par défaut: 'global-ignores = * .o * .lo * .la # * #. *. rej * .rej. * ~ * ~. # * .DS_Store' qui n'inclut pas * .a. – Jon

+4

'svn add" library.a "--no-ignore' travaillé. Merci! – Jon

+2

Je suis sur OS-X (10.8.latest) et mon global-ignore est commenté, ce que j'ai lu pour signifier "no global-ignore". Pourtant, chaque fois que j'ajoute un répertoire avec un fichier de bibliothèque .a (exemple: libs tierces, comme Flurry), il ignore toujours le fichier .a. Alors mon client ne peut pas construire, alors je reviens et 'svn ajoute somelib.a' explicitement, alors tout va bien. Y a-t-il un moyen de ** désactiver ** ce comportement par défaut "ignorer tout le .a-s"? Merci! – Olie

2

Sur Mac OS X (Lion) J'utilise SCPlugin (http://scplugin.tigris.org/).

Cela ajoute un popup agréable finder avec SVN commandes sur lui et il me permet d'ajouter les fichiers * .a lorsque svnX ou Xcode ne le permettent pas.

Je suppose que c'est en fait un bug car il ignore clairement les paramètres d'ignorer corrects (ironiquement), mais pour ceux qui ne veulent pas jouer avec le terminal, c'est prouvé pratique.

EDIT: SmartSVN vous permet également de voir les fichiers ignorés afin qu'ils puissent être ajoutés comme un fichier normal. Vérifiez simplement les options "fichiers ignorés" dans le menu Affichage.

1

Par ailleurs, si vous utilisez l'importation de SVN (et non une copie de travail), vous pouvez remplacer les ignores globales avec:

--config-option=config:miscellany:global-ignores=[new ignores] 
0

J'ai rencontré cette question récemment, c'est ma façon :

svn import --no-ignore --force svn://destination 
1

Nous pouvons ajouter bibliothèque svn:

svn add library.a --no-ignore 

Après ajout svn besoin d'être mise à jour:

svn update 

livrez des changements sur svn en utilisant:

svn commit -m "library.a added on svn" 
3

Alors, je vous suggère de modifier en fait que ~/.subversion/fichier de configuration pour permettre à nouveau les fichiers .a:

global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.pyc *.pyo 
#global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo 

Parce que je avoir beaucoup de ces fichiers .a dans mes projets.

+0

Je devais à la même chose w/1.7. Même lorsqu'il a été commenté, SVN a décidé d'ignorer les fichiers de toute façon. Violation du principe de la moindre surprise à coup sûr. Qu'est-ce que je ne comprends pas? –

Questions connexes