-
subversion = svnProgramming 2016. 2. 26. 11:56최초작성일 : 2009.05.25 17:44저번에 올린 글 중 http://www.willow.pe.kr/342
Subversion 관련 내용
Subversion
구글에서 제공해주는 svn 저장소 http://code.google.com/p/willow/
SVN 사용해보기 http://www.hybrid.pe.kr/tt/246#footnote_246_2
SVN 온라인 서적 http://svnbook.red-bean.com/
tortoise url TortoiseSVN http://tortoisesvn.tigris.org/
오늘 svn 서버가 다운되었는데 로컬 TortoiseSVN 에서는 svn 서버에서 데이터를 받아와서 log 를 보여줘서 볼 수가 없었다.
답답하길래 웹서버에서 놀았다.
평소 필요하다 싶은것 나름 정리~
(더 많은 내용은 svn 온라인 서적 pdf 판으로 보세요~ Chapter 9. Subversion Complete Reference 써머리~ __b)
1. svn --help
기본중에 기본~ 익히시라~ (ㅋ 정작 본인은..)
# svn --help
usage: svn <subcommand> [options] [args]
Type "svn help <subcommand>" for help on a specific subcommand.Most subcommands take file and/or directory arguments, recursing
on the directories. If no arguments are supplied to such a
command, it will recurse on the current directory (inclusive) by
default.Available subcommands:
add
blame (praise, annotate, ann)
cat
checkout (co)
cleanup
~ 생략Subversion is a tool for version control.
For additional information, see http://subversion.tigris.org/
2. svn info
조사하면 다 나와~~~ 으흐흐~~
# svn info
Path: .
URL: svn://xxx.xxx.xxx.xxx/path
Repository UUID: 630b9b21-8825-bf4a-b294-99b1bfe6cfee
Revision: 18123
Node Kind: directory
Schedule: normal
Last Changed Author: kimamujae
Last Changed Rev: 18123
Last Changed Date: 2009-05-25 16:07:32 +0900 (월, 25 5월 2009)# svn info index.php
Path: index.php
Name: index.php
URL: svn://xxx.xxx.xxx.xxx/path/path/public_html/index.php
Repository UUID: 630b9b21-8825-bf4a-b294-99b1bfe6cfee
Revision: 18123
Node Kind: file
Schedule: normal
Last Changed Author: willow
Last Changed Rev: 18112
Last Changed Date: 2009-05-25 13:51:28 +0900 (월, 25 5월 2009)
Text Last Updated: 2009-05-25 13:51:34 +0900 (월, 25 5월 2009)
Properties Last Updated: 2009-05-25 13:51:34 +0900 (월, 25 5월 2009)
Checksum: 9bf197facde89ea70ffced3c70b80ba3
3. svn checkout
새로운 디렉토리에 바로 소스를 넣고 싶으신가요? (몰라서 소스 다 받은뒤 rename 했었다;;)
$ svn checkout http://svn.collab.net/repos/svn/trunk subv
A subv/Makefile.in
4. svn status
특정 디렉토리나 특정 파일의 상태가 궁금하신가요?
# svn status --help
The out-of-date information appears in the ninth column (with -u):
'*' a newer revision exists on the server
' ' the working copy is up to date# svn status -u -v -N
18115 1109 byoulvit randxxx.php
18115 17976 willow mypage
18115 16607 yihym slide_xxxx.xml
? mainxxxx
18115 15639 willow image
* 4388 4388 willow class_files_ori.php
$ svn status --help
~ 생략
' ' no modifications
'A' Added
'C' Conflicted
'D' Deleted
'I' Ignored
'M' Modified
'R' Replaced
'?' item is not under version control
5. svn log
짜잔~ 드뎌 오늘 내가 궁금했던 log~# svn log --help
log: Show the log messages for a set of revision(s) and/or file(s).
usage: 1. log [PATH]
2. log URL [PATH...]~생략Valid options:
-r [--revision] arg : ARG (some commands also take ARG1:ARG2 range)
A revision argument can be one of:
NUMBER revision number
"{" DATE "}" revision at start of the date
"HEAD" latest in repository
"BASE" base rev of item's working copy
"COMMITTED" last commit at or before BASE
"PREV" revision just before COMMITTED
-q [--quiet] : print as little as possible
-v [--verbose] : print extra information
--targets arg : pass contents of file ARG as additional args
--stop-on-copy : do not cross copies while traversing history
--incremental : give output suitable for concatenation
--xml : output in XML
--username arg : specify a username ARG
--password arg : specify a password ARG
--no-auth-cache : do not cache authentication tokens
--non-interactive : do no interactive prompting
--config-dir arg : read user configuration files from directory ARG
근데.. 매뉴얼에는 --limit 옵션이있었는데.. 울서버에는 없다;; 없어서 불편해 ㅜㅜ
로그가 너무 많단 말이쥐;;
5.1. base log# svn log index.php
~ 생략~
------------------------------------------------------------------------
r18092 | willow | 2009-05-25 10:55:45 +0900 (월, 25 5월 2009) | 1 line
한줄광고 날짜조건별 색 적용
~ 생략~
5.2. version log
버젼으로 보기~ (옵션 -v 는 더 상세한 내용을 보여준다오)svn log -r 181125.3. between log
버전 between 버젼~svn log -r 18092:18112
5.4. PREV:COMMITTED log
이전버젼과 최근 커밋된 버젼 비교# svn log -r PREV:COMMITTED -v
------------------------------------------------------------------------
r18112 | willow | 2009-05-25 13:51:28 +0900 (월, 25 5월 2009) | 1 line
Changed paths:
M /pwd_path/public_html/index.php
------------------------------------------------------------------------
r18113 | willow | 2009-05-25 13:54:05 +0900 (월, 25 5월 2009) | 1 line
Changed paths:
A /pwd_path/images/en2_653_70.gif
------------------------------------------------------------------------
5.5. {date} log
매뉴얼에서는 특정일 날짜만 지정하면 되든데.. 이서버에선 안된다.
그래서 날짜와 날짜 사이를 지정해보니 된다.
# svn log -r {2009-05-25}:{2009-05-26}
6. svn diff
이건 뽀나스~ ㅋ
특정 파일의 커밋과 커밋전 의 소스 비교~ (물론~ 버젼정보를 알면 그걸루 비교하면되지~)
# svn diff -r PREV:COMMITTED index.php
Index: index.php
===================================================================
--- index.php (revision 18111)
+++ index.php (revision 18112)
@@ -202,20 +202,24 @@
+
+aaaaaa
+
- bbbb
- cccc
7. svn add
새로운 파일을 여기저기 추가하고 일괄 등록하는~ 손 안대고 코풀기 기술 시전~!
$ svn st | grep "^\?" | awk "{print \$2}" | xargs svn add $18. svn conflicted
충돌나는 경우 svn cleanup 해줘도 안되는 경우가 있드라 ㅠㅠ
$ svn status -uvN
1290 1069 willow config
! C MalSSungJJangE
> local delete, incoming edit upon update
1290 19 willow lib
Status against revision: 1290해결~!
로컬을 올리고자 하는 상태로 정리한 후
$ svn resolve --accept=working MalSSungJJangE
Resolved conflicted state of 'MalSSungJJangE''Programming' 카테고리의 다른 글
Outlook 보낸 메일 회수 (0) 2016.07.28 FusionCharts (Flash) UTF-8 XML 인코딩, BOM (0) 2015.02.04 이렇게 편할수가! rz, sz (0) 2014.10.13