2010-10-11 15 views
0

Existe-t-il un moyen de mettre en file d'attente plusieurs validations (avec un message) avant de les valider?file d'attente valide sur SVN

Sur le travail, nous avons un serveur SVN en cours d'exécution et je mets à jour le code sur mon ordinateur portable. Quand je suis à la maison, je ne peux pas m'engager, mais j'aime quand même enregistrer ces commits.

Est-ce que c'est là que les changelists sont utilisés?

Répondre

4

Oui, utilisez git-svn. Vous pouvez consulter un dépôt Subversion pour en avoir une copie git locale, y faire tout votre travail, puis le repousser sur le serveur lorsque vous en avez l'occasion.

+0

Je veux seulement utiliser SVN et pas installer tous les serveurs SVN/GIT sur mon ordinateur portable. – jerone

+0

Vous n'avez pas besoin d'exécuter un serveur. Git est un SCM distribué basé sur des fichiers qui ressemble plus à un système de fichiers qu'à Subversion. C'est vraiment une bénédiction pour vous que quelqu'un ait fait le travail pour mettre en place git-svn, vraiment. // Vous ne pouvez pas valider dans un référentiel Subversion sans vous y connecter. Depuis qu'ils sont centralisés, c'est tout. Vous pouvez créer des fichiers de correctifs, puis les appliquer dans l'ordre une fois que vous vous reconnectez, mais c'est compliqué. – coreyward

+0

ATM cela va au-dessus de ma tête et j'ai besoin de temps pour vérifier cela. Merci pour votre réponse et je vais vous donner les points que les gens semblent être d'accord. – jerone

1

Il n'est pas possible de le faire avec svn. Comme cela va à l'encontre du but d'un contrôle de version centralisé.

Cependant svk (avec svn) sera le meilleur ajustement pour votre besoin. svk est un système de contrôle de version décentralisé (il enveloppe svn).

From svk's FAQ

<snip> 
    * Does svk allow you to make several commits to your local copy of the repository and then be able to merge all the commits back to the main repository (keeping all the log messages)? 

Yes - this was its very first feature. However the merge of local changes will be one commit in the remote repository by default, unless you use smerge -I. Meanwhile, smerge -l will bring the logs to the commit made to remote repository. 
</snip> 
+0

ATM cela va au-dessus de ma tête et j'ai besoin de temps pour vérifier cela. Merci pour votre réponse. – jerone