ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • subversion = svn
    Programming 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 18112

    5.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 $1


    8. 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

    댓글

Designed by Tistory.