SVN:它发送更改的位置?

时间:2009-12-21 23:09:01

标签: svn

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

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

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

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

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

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

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

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

它发送更改的位置????我知道这些变化是在“某处”,但是,????

3 个答案:

答案 0 :(得分:6)

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

执行结帐后,您在/home/mrt/octopy_working中有一个工作目录,其中 了解存储库。

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

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

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

答案 1 :(得分:2)

您已将存储库检出/home/mrt/octopy_working

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

在提交更改之前,您在该目录中进行了更改cd octopy_working

因此,如果您执行svn log main.py,您将看到更改列表。

存储更改的实际存储库位于/home/mrt/octopy_repo

答案 2 :(得分:0)

更改位于file:///home/mrt/octopy_repo