2009-12-21 8 views
1

Ceci est une question de débutant ...SVN: Où envoie-t-il les modifications?

Je suis ce projet et je veux utiliser le système svn google.code, mais je ne sais pas comment ... En fait, je ne suis pas tellement habitué à svn. .. Voici ce que j'ai fait:

svnadmin create octopy_repo 

svn import /home/mrt/python/Qt/octopy file:///home/mrt/octopy_repo -m "Initial import" 

    Adding (bin) /home/mrt/python/Qt/octopy/octopus.png 
    Adding   /home/mrt/python/Qt/octopy/oct.ui 
    Adding   /home/mrt/python/Qt/octopy/zipi 
    Adding   /home/mrt/python/Qt/octopy/octo.py 
    Adding   /home/mrt/python/Qt/octopy/main.py 
    Adding   /home/mrt/python/Qt/octopy/etc 
    Adding   /home/mrt/python/Qt/octopy/etc/config.list 

    Committed revision 1. 

mkdir octopy_working 

svn checkout file:///home/mrt/octopy_repo /home/mrt/octopy_working 

cd octopy_working 

C'est là qu'il se bloque. Tout d'abord, je modifie un fichier, puis:

svn status 
    M  main.py 

svn diff 

    Index: main.py 
    =================================================================== 
    --- main.py (revision 1) 
    +++ main.py (working copy) 
    @@ -1,6 +1,6 @@ 
    # -*- coding: utf-8 -*-  

    -"""The user interface for our app""" 
    +"""The user interface for our app some edit""" 

    import os,sys 
    import ConfigParser 

Alors, génial! Il sait que le fichier main.py est édité, maintenant je veux valider les modifications:

svn commit -m "Some Text" 
    Sending  main.py 
    Transmitting file data . 
    Committed revision 2. 

Mais, quand je regarde à main.py dans/home/mrt/python/Qt/octopy, aucun changement où fait ...

Où cela envoie les changements ???? Je sais que les changements sont dans "quelque part" mais, où ????

Répondre

6

Le répertoire source /home/mrt/python/Qt/octopy à partir duquel vous avez effectué l'importation n'est pas un répertoire de travail (et ne connaît donc rien au référentiel). Une fois que vous avez effectué l'importation, la source est stockée dans un format spécial (qui n'est pas directement visible) dans le référentiel dans /home/mrt/octopy_repo et vous n'avez plus besoin du répertoire importé.

Après avoir effectué une extraction, vous avez un répertoire de travail dans /home/mrt/octopy_working, sait sur le référentiel.

import ---> repository ---> working ----(edit)---+ 
      ^        | 
       +-------------(commit)------------+ 

Vous avez fait quelques modifications dans votre répertoire de travail, et les engagés, qui envoie les modifications au dépôt. Le répertoire importé n'est jamais touché par svn, et comme il ne s'agit pas d'un répertoire de travail, les modifications n'apparaîtront jamais dans /home/mrt/python/Qt/octopy.

C'est une source courante de confusion que le répertoire importé (que nous traiterions normalement comme sacrosanct) est effectivement ignoré ou mis au rebut une fois importé. Mais vous devez simplement vous rappeler qu'une fois sous le contrôle de subversion, vous faites toutes vos modifications dans une copie de travail (créée à partir d'une caisse).

0

Les changements sont en file:///home/mrt/octopy_repo

2

Vous avez vérifié le dépôt vers /home/mrt/octopy_working:

svn checkout file:///home/mrt/octopy_repo /home/mrt/octopy_working 

Vous avez fait les changements dans ce répertoire aussi que vous avez fait un cd octopy_working avant d'engager les changements. Donc, si vous faites un svn log main.py, vous verrez la liste des changements.

Le référentiel dans lequel les modifications sont stockées est le /home/mrt/octopy_repo.

Questions connexes