2010-03-29 4 views
1

L'environnement: SVN, Netbeans, HudsonComment valider un fichier non sous-versionné dans un référentiel?

SVN Projet A: Construit un fichier de bibliothèque (foo.jar). Le fichier de construction est sous/dist, qui est ignoré pour svn, le code source est sous contrôle svn.

SVN Projet B: contient tous les fichiers de bibliothèque. (d'autres projets SVN obtiennent toutes leurs bibliothèques d'ici via svn externe)

Question: Je veux commettre foo.jar de A dans B. Comment faire cela? foo.jar ne peut pas être ajouté ou validé car il n'est pas sous contrôle SVN.

Merci pour tous les conseils! (La question est indépendante de l'IDE et du serveur CI)

+0

Si vous hébergez le fichier sur un serveur distant afin que beaucoup de personnes puissent accéder au référentiel, je ne pense pas que ce que vous essayez de faire ait réellement du sens. Le projet A crée une bibliothèque de code spécifique, foo.jar, correct? et le projet B met en commun toutes ces bibliothèques ensemble, foo.jar, bar.jar foobar.jar etc etc. Pourquoi ne voulez-vous pas de contrôle de version? et pourquoi ne pas simplement accéder au projet A si vous voulez foo.jar? – thecoshman

+1

Je suppose que c'est parce que le projet B a les fichiers de sortie de nombreux projets différents, y compris le projet A. Beaucoup d'équipes peuvent avoir besoin de ces artefacts, mais n'ont aucune utilité pour la source qui les a générés. Disposer d'un référentiel central pour toutes ces bibliothèques peut avoir du sens dans un cas comme celui-là. – pkaeding

+0

nous avons un certain nombre de projets Web avec des bibliothèques personnalisées. Je dois m'assurer que tous utilisent les mêmes bibliothèques, donc je les tire via svn external. (Et je ne veux pas que tout le monde ait accès aux sources de lib). – javadude

Répondre

1

Il peut y avoir une façon plus intelligente de le faire, mais que se passerait-il si votre dernière étape du processus de construction était de copier le fichier de sortie (foo.jar) de projA/dist dans projB/lib, puis vérifier dans projB ? Cela supposerait que les deux copies de travail soient extraites à un endroit spécifique de la ou des machines utilisées pour effectuer les constructions, ce qui n'est peut-être pas idéal du point de vue académique pour permettre de vérifier les projets n'importe où, et N'ayez pas d'interdépendance, mais cela devrait répondre à vos besoins pour faire le travail et passer au prochain problème!

0

Pourquoi ne modifiez-vous pas votre build en copiant automatiquement votre pot dans le projet B et lorsque vous validez le projet B, il engage automatiquement votre pot? Est-ce une approche acceptable?

0

Lorsque nous avons besoin de faire quelque chose comme ça, nous copions habituellement le fichier de A à B automatiquement à la fin de la construction. Vous pourriez probablement changer le processus de construction pour le commettre automatiquement si tout allait bien (bien que ce ne soit pas toujours une bonne idée).

Questions connexes