SVN: куда он отправляет изменения? - PullRequest
1 голос
/ 22 декабря 2009

Это вопрос новичка ...

Я получил этот проект и хочу использовать систему svn google.code, но я не знаю как ... На самом деле я не так привык к svn ... Вот что я сделал: 1003 *

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.

Но когда я смотрю на файл main.py в / home / mrt / python / Qt / octopy, никаких изменений не происходит ...

Куда он отправляет изменения ???? Я знаю, что изменения в "где-то", но, где ????

Ответы [ 3 ]

6 голосов
/ 22 декабря 2009

Исходный каталог /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, вы вносите все изменения в рабочую копию (созданную из проверки).

2 голосов
/ 22 декабря 2009

Вы проверили хранилище на /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.

0 голосов
/ 22 декабря 2009

Изменения в file:///home/mrt/octopy_repo

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...