2013-01-11 3 views
1

J'ai un projet linux eclipse vérifié dans notre société svn. Fonctionne très bien.source de partage entre Linux eclipse et MS Visual Studio

Le projet est conçu pour être compilé sur Windows.

Jusqu'à présent, j'ai simplement déplacé les fichiers source entre les systèmes d'exploitation. Cependant, j'ai pensé que je voudrais laisser svn faire ceci pour moi. Devrait être assez simple, il suffit de jeter un oeil à l'eclipse linux src dans le répertoire du projet VS, non? Faux!

La source correcte a été vérifiée à partir de svn et cela a fonctionné correctement. Mais quand j'ai essayé de le vérifier, j'ai continué à obtenir "Commit pas terminé nom de fichier reste en conflit" des erreurs. Je n'avais même rien changé!

J'ai fait un peu de vérification. Il s'avère que le répertoire src de Linux est à peu près juste la source et les en-têtes. Du côté MSVS, le répertoire du projet contient la source et les en-têtes mais contient aussi un tas de fichiers utilisés par VS avec des noms comme projname.vcproj etc ..

Donc, j'ai fait un checkout dans une disquette. \ fred Vérifié. \ Fred de retour. Aucun problème. Ajout d'un nouveau fichier à .fred, xxx.xxx. Arrivée signalée:

svn: E200009: Commit failed (details follow): 
svn: E200009: 'C:\Projects\fred\xxx.xxx' is not under version control 

Je m'interroge sur ces fichiers Visual Studio non validés.

Alors, ces fichiers sont-ils mon problème? Brisent-ils l'opération de commit? Comme solution de rechange, je pense à ajouter les fichiers VS au répertoire src de svn. Si linux/eclipse les vérifie, je peux dire à eclipse de les ignorer (je pense que ça va juste les ignorer pour moi). Des idées ou des recommandations pour cette approche?

(BTW, j'avais encore la source fraîche du côté de Linux de sorte que toute chose qui pourrait être a été dépassé en toute sécurité restaurée.)

+0

Avez-vous svn ajouté les fichiers MSVS? –

+3

Je voudrais séparer les fichiers MSVC des sources (c'est-à-dire les placer dans des répertoires différents) afin que vous puissiez les vérifier de manière indépendante. –

+0

@ArneMertz S'il vous plaît aider mon ignorance: puis-je vérifier (et cocher) deux projets dans le même répertoire? Comme dans svn co "...... \ src" fred suivi par svn co ".... \ MSVS" fred où fred est le côté client dir dans un projet VS? Ce serait une excellente solution! –

Répondre

0

est une solution que j'ai travaille pour le moment donc ici. Je ne suis pas sûr à quel point c'est totalement stable. Avertissement: Le projet que j'utilise existait déjà en tant que projet SVSM. Dans le répertoire de la solution MSVS, renommez le répertoire source (MSVS aime le nom du répertoire source correspondant au nom de la solution, donc le répertoire source ne doit pas être nommé src) à quelque chose qui n'est pas impliqué dans la solution, comme temp.

SVN checkout src (eclipse aime appeler les répertoires source src).

cd dans le répertoire source. Emettez la commande:

svn changelist msvs *.cpp *.h 

Ajoutez * .c si nécessaire. "msvs" est le nom de la liste des modifications. Cela peut être ce que vous voulez être.

Cela créera une liste de modifications pour le répertoire extrait. Maintenant, copiez les fichiers restants du répertoire temp dans votre répertoire source.

Lorsque vous devez faire un checkin, cd dans le répertoire source et cette commande:

svn ci --changelist msvs 

Remarque. Vous devez être dans le répertoire src pour que cela fonctionne.

Questions connexes