SVN:它发送更改的位置?

mRt*_*mRt 1 svn

这是一个新手问题......

我得到了这个项目,我想使用google.code svn系统,但是,我不知道如何......事实上,我不习惯svn ...这就是我所做的:

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
Run Code Online (Sandbox Code Playgroud)

这就是卡住的地方.首先,我编辑一些文件,然后:

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
Run Code Online (Sandbox Code Playgroud)

很好!它知道文件main.py已被编辑,现在我想提交更改:

svn commit -m "Some Text"
   Sending        main.py
   Transmitting file data .
   Committed revision 2.
Run Code Online (Sandbox Code Playgroud)

但是,当我在/ home/mrt/python/Qt/octopy中查看main.py时,没有做任何改变......

它发送变化的地方???? 我知道这些变化是在"某个地方"但是,在哪里????

gav*_*inb 6

/home/mrt/python/Qt/octopy从中执行导入的源目录不是工作目录(因此对存储库一无所知).执行导入后,源将以特殊格式(不可直接查看)存储在存储库中/home/mrt/octopy_repo,并且您实际上不再需要导入的目录.

执行结帐后,您有一个工作目录/home/mrt/octopy_working,它确实知道存储库.

import ---> repository ---> working ----(edit)---+
               ^                                 |
               +-------------(commit)------------+
Run Code Online (Sandbox Code Playgroud)

您在工作目录中进行了一些编辑,并提交了它们,将更改发送到存储库.永远不会触及导入的目录svn,因为它不是工作目录,所以更改将永远不会出现/home/mrt/python/Qt/octopy.

导入的目录(我们通常将其视为神圣不可侵犯的东西)在导入后被有效地忽略或丢弃,这是一个常见的混淆源.但是你只需要记住,一旦在subversion的控制下,你就可以在一个工作副本(从结账创建)中进行所有编辑.