본문 바로가기

IT/프로그래밍

[bash] 코드 변경사항 vimdiff로 열어주는 스크립트

728x90

원글(이글루): 2010-12-17 13:30:42

몇 년전부터 svn같은걸로 소스 올려놓고 내가 짠것과 비교할때 라던지 할때 쓰고있는 스크립트이다.
정말 단순한 스크립트이나 도움이 될 사람이 있을까 하여 올려본다.

1) 용도
- 본인이 코딩을 했는데 커밋하기 전에 혹시 누가 바꿨는지 비교할때
- 본인이 코딩을 했는데 기존과 어떻게 바꿨는지 검증하면서 볼때
- 다른 분이 코딩한 것을 검증 해줄때 등등

2) 방식
- 지정한 디렉토리의 파일과 비교하여 (bin파일은 제외: bin파일여부는 readelf를 사용함)
 내용이 상이한 경우 vimdiff로 열어줌.

3) 스크립트 코드

#!/bin/bash
DIR_NAME="/home/XXXX/OldProject/"
function is_bin
{
  RET=`readelf -A $1 2>&1 |wc -l`
  if [ "$RET" == "0" ]; then
    return 1
  fi
  return 0
}

function is_dir
{
  RET=`ls -ld $1`
  if [ "${RET:0:1}" == "d" ]; then
    return 1
  fi
  return 0
}

LIST=`ls ${DIR_NAME}`

for ACC in $LIST
do
  is_bin $ACC
  RET=$?
  if [ $RET -eq 0 ]; then
    is_dir $ACC
    RET=$?
    if [ $RET -eq 0 ]; then
      RET=`diff $ACC ${DIR_NAME}/$ACC  |wc -l`
      if [ $RET -gt 0 ]; then
        vimdiff $ACC ${DIR_NAME}/$ACC
      fi
    fi
  fi
done

728x90