tag로 checkout을 한다던가 하게되면 이게 지금 어느 브랜치에서 나온건지를 알 수 없을 때가 있다. 또는 어느 commit 이 어느 브랜치 상에 있는지를 알고 싶을 때 라던가.. 이럴 때 사용할 수 있는 것이
git-what-branch 스크립트다.
https://github.com/SethRobertson/git-what-branch
$ git-what-branch –allref <commit sha1 id>
tag로 checkout을 한다던가 하게되면 이게 지금 어느 브랜치에서 나온건지를 알 수 없을 때가 있다. 또는 어느 commit 이 어느 브랜치 상에 있는지를 알고 싶을 때 라던가.. 이럴 때 사용할 수 있는 것이
git-what-branch 스크립트다.
https://github.com/SethRobertson/git-what-branch
$ git-what-branch –allref <commit sha1 id>
참고에 매우 자세히 잘 정리되어 있다. 감사.
문자열 길이 구하기
${#string}
문자열 추출
${string:position}
${string:position:length}
문자열 조각 삭제
${string#substring}
string의 앞에서부터 가장 짧게 일치하는 substring 제거
${string##substring}
string의 앞에서부터 가장 길게 일치하는 substring 제거
${string%substring}
string의 뒤에서부터 가장 짧게 일치하는 substring 제거
${string%%substring}
string의 뒤에서부터 가장 길게 일치하는 substring 제거
이용 가능한 SMTP가 있는 경우 shell 에서도 메일을 보낼 수 있다. 쉘 스크립트 상에서 메일을 보내거나 할 때 유용하다. 가장 편한 방법이 sendemail 을 이용하는 것 같다.
다음과 같이 하면 된다. 아래 예제는 무인증 SMTP를 이용할 경우의 예제이다.
$ sendEmail -f “보내는이@메일” -s <SMTP 서버 주소> -t “받는이@메일” -u “메일 제목” -m “메일 내용”
Perl script 를 이용해서도 간편히 보낼 수 있는데, 예제는 다음과 같다.
한글 메일을 보내고 싶으면 perl 스크립트로 아래와 같이 MIME::Lite 를 사용하면 된다.
$ sudo apt-get install libmime-lite-perl
참고 :
http://nixcraft.com/shell-scripting/11895-shell-script-send-email-via-smtp-username-password.html
http://caspian.dotconf.net/menu/Software/SendEmail/
http://perldoc.perl.org/Net/SMTP.html
http://search.cpan.org/~rjbs/MIME-Lite-3.028/lib/MIME/Lite.pm
기존 device driver를 제어하기 위한 방법 중 하나였던 ioctl이 2.6.36 커널부터 unlocked_ioctl 로 대체되었다.
ioctl과 unlocked_ioctl의 차이점은 ioctl이 BKL(Big Kernel Lock)로 보호되었다면, unlocked_ioctl은 BKL이 없다. 따라서 Preemptible 하게 되었으므로, ioctl의 동시성에 대해서 driver 스스로 보호하여야 한다.
driver의 제어를 위해서 ioctl보다는 sysfs를 이용하는 방향으로 가고 있는 듯 하다(http://lists.kernelnewbies.org/pipermail/kernelnewbies/2011-May/001852.html).
compat_ioctl은 64비트 시스템에서 32비트 프로세스가 ioctl을 부를 때를 위해서 만들어졌다.
참고 : http://lists.kernelnewbies.org/pipermail/kernelnewbies/2011-May/001851.html
대한민국과 미합중국 간의 자유무역협정 및 대한민국과 미합중국 간의 자유무역협정에 관한 서한교환 비준동의안 처리 의원 명단 – 투표에 참고하도록 한다.
[한나라당]
찬성(140명)
강길부(울산 울주군)
강명순(비례대표)
강석호(경북 영양군·영덕군·봉화군·울진군)
강성천(비례대표)
강승규(서울 마포구 갑)
고승덕(서울 서초구 을)
고흥길(경기 성남시 분당구 갑)
구상찬(서울 강서구 갑)
권경석(경남 창원시 갑)
권영세(서울 영등포구 을)
권성동 (강원도 강릉시)
권택기(서울 광진구 갑)
김기현(울산 남구 을)
김동성(서울 성동구 을)
김무성(부산 남구 을)
김선동(서울 도봉구 을)
김성동 (비례대표)
김성수(경기 양주시·동두천시)
김성조(경북 구미시 갑)
김성회(경기 화성시 갑)
김세연 (부산광역시 금정구)
김소남(비례대표)
김영선(경기 고양시 일산서구)
김영우(경기 포천시·연천군)
김옥이(비례대표)
김장수(비례대표)
김정권 (경상남도 김해시갑)
김정훈(부산 남구 갑)
김태원(경기 고양시 덕양구 을)
김태호(경남 김해시 을)
김태환(경북 구미시 을)
김학송(경남 진해시)
김학용(경기 안성시)
김형오(부산 영도구)
김호연(충남 천안시 을)
나성린(비례대표)
남경필(경기 수원시 팔달구)
박근혜(대구 달성군)
박대해(부산 연제구)
박민식(부산 북구·강서구 갑)
박보환(경기 화성시 을)
박상은(인천 중구·동구·옹진군)
박순자(경기 안산시 단원구 을)
박준선 (경기도 용인시 기흥구)
박영아(서울특별시 송파구 갑)
박종근(대구광역시 달서구 갑)
박진(서울 종로구)
백성운(경기 고양시 일산동구)
배영식(대구 중구·남구)
배은희(비례대표)
서병수(부산 해운대구·기장군 갑)
서상기(대구 북구 을)
손범규(경기 고양시 덕양구 갑)
손숙미(비례대표)
송광호(충북 제천시·단양군)
신영수(경기 성남시 수정구)
신상진(경기 성남시 중원구)
신지호(서울 도봉구 갑)
심재철(경기 안양시 동안구 을)
안경률 (부산광역시 해운대구 기장군 을)
안상수(경기 의왕시·과천시)
안홍준(경남 마산시 을)
안효대(울산 동구)
원유철(경기 평택시 갑)
원희목(비례대표)
유기준(부산 서구)
유승민(대구 동구 을)
유일호(서울특별시 송파구 을)
유재중 (부산광역시 수영구)
유정복(경기 김포시)
유정현(서울 중랑구 갑)
윤상현(인천 남구 을)
윤석용(서울 강동구 을)
윤영(경남 거제시)
윤진식(충북 충주시)
이두아(비례대표)
이명규(대구 북구 갑)
이범관(경기 이천시·여주군)
이범래(서울 구로구 갑)
이병석(경북 포항시 북구)
이사철(경기 부천시 원미구 을)
이상권(인천 계양구 을)
이상득(경북 포항시 남구·울릉군)
이성헌(서울 서대문구 갑)
이윤성(인천 남동구 갑)
이애주(비례대표)
이영애(비례대표)
이은재(비례대표)
이인기(경북 고령군·성주군·칠곡군)
이정선(비례대표)
이정현(비례대표)
이종구(서울 강남구 갑)
이종혁(부산 부산진구 을)
이주영(경남 마산시 갑)
이진복(부산 동래구)
이철우(경북 김천시)
이춘식(비례대표)
이학재(인천 서구·강화군 갑)
이한구(대구 수성구 갑)
이한성(경북 문경시·예천군)
이해봉(대구 달서구 을)
이혜훈(서울 서초구 갑)
이화수(경기 안산시 상록구 갑)
임동규(비례대표)
장윤석(경북 영주시)
장제원(부산 사상구)
전여옥(서울 영등포구 갑)
전재희(경기 광명시 을)
정갑윤(울산 중구)
정두언(서울 서대문구 을)
정몽준(서울 동작구 을)
정미경(경기 수원시 권선구)
정수성 (경상북도 경주시)
정양석(서울 강북구 갑)
정옥임(비례대표)
정진섭(경기 광주시)
조문환(비례대표)
조원진(대구 달서구 병)
조윤선(비례대표)
조전혁(인천 남동구 을)
조진래(경남 의령군·함안군·합천군)
조해진(경남 밀양시·창녕군)
주광덕(경기 구리시)
주성영(대구 동구 갑)
주호영(대구 수성구 을)
진성호(서울 중랑구 을)
진수희(서울 성동구 갑)
차명진(경기 부천시 소사구)
최경환(경북 경산시·청도군)
최경희(비례대표)
최구식(경남 진주 갑)
최병국(울산 남구 갑)
한기호(강원 철원군·화천군·양구군·인제군)
한선교(경기 용인시 수지구)
허원제(부산 부산진구 갑)
허천(강원 춘천시)
홍일표(인천 남구 갑)
홍준표(서울 동대문구 을)
황우여(인천 연수구)
황진하(경기 파주시)
반대(1명)
황영철(강원도 홍천군 횡성군)
기권(11명)
김광림(경북 안동시)
김성식(서울 관악구 갑)
김성태(서울 강서구 을)
김재경(경상남도 진주시 을)
성윤환(경북 상주시)
신성범(경남 산청군·함양군·거창군)
여상규(경상남도 남해군 하동군)
임해규(경기 부천시 원미구 갑)
정태근(서울 성북구 갑)
정해걸(경상북도 군위군 의성군 청송군)
현기환(부산광역시 사하구 갑)
불참(16명)
권영진(서울 노원구 을)
김용태(서울 양천구 을)
김충환(서울 강동구 갑)
안형환(서울 금천구)
원희룡(서울 양천구 갑)
이군현(경남 통영시, 고성군)
이경재(인천 서구, 강화군 을)
이재오(서울 은평구 을)
장광근(서울 동대문 갑)
정병국(경기 양평군, 가평군)
정의화(부산 중구, 동구)
정희수(경북 영천)
조진형(인천 부평구 갑)
진영(서울 용산구)
홍사덕
홍정욱(서울 노원구 병)
[자유선진당]
찬성(5명)
김용구(비례대표)
이영애(비례대표)
이인제(충청남도 논산시 계룡시 금산군)
이회창(충청남도 홍성군 예산군)
조순형(비례대표)
반대(6명)
권선택(대전광역시 중구)
김낙성(충청남도 당진군)
심대평(충청남도 공주시 연기군)
류근찬(충청남도 보령시 서천군)
이진삼(충청남도 부여군 청양군)
임영호(대전광역시 동구)
불참(7명)
김창수
박선영
변웅전
이명수
이상민
이용희
이재선
[기타]
찬성(6명)
김정 미래희망연대 (비례대표)
김혜성 미래희망연대 (비례대표)
노철래 미래희망연대 (비례대표)
송영선 미래희망연대 (비례대표)
윤상일 미래희망연대 (비례대표)
최연희 무소속 (강원도 동해시 삼척시)
기권(1명)
이용경 창조한국당 (비례대표)
불참
김을동 미래희망연대(비례대표)
정영희 미래희망연대(비례대표)
정하균 미래희망연대(비례대표)
[민주당·민주노동당]
전원 불참
gerrit을 사용하면 자기가 access 권한이 있는 프로젝트의 리스트를 ssh를 이용하여 ls-projects 라는 명령을 이용해서 얻어올 수 있다. http://gerrit-documentation.googlecode.com/svn/Documentation/2.2.0/cmd-ls-projects.html 를 참고하면 되는데, 해당 도움말을 보면 이 명령을 이용해서 접근 가능한 모든 Project 를 clone 할 수 있는 쉘 스크립트가 있다.
for p in `ssh -p 29418 review.example.com gerrit ls-projects` do mkdir -p `dirname "$p"` git clone --bare "ssh://review.example.com:29418/$p.git" "$p.git"
done
이것과 crontab, shell script를 조금 응용하면 계속적으로 업데이트 함으로써 Mirroring 을 할 수 있다.
미러링 사용시에는 받아오기 전에 다음 명령과 같이 설정하여 사용하면 된다.
git config –global url.”git://<IP>”.insteadOf “git://codeaurora.org”
http://lifeseed.tistory.com/tag/glimpse 에 있는대로만 하면 된다. 글쓴이에게 감사를..
정리하자면,
1. glimpse 설치
1.1. wget http://webglimpse.net/trial/glimpse-latest.tar.gz
1.2. tar xvfz glimpse-latest.tar.gz
1.3. ./configure && make && sudo make install
2. lxr 설치
2.1. sudo apt-get install lxr
기본 설치는 /usr/share/lxr 에 된다.
2.2. sudo vi /etc/apache2/sites-available/default 후 다음 내용 추가
2.3. sudo cp /usr/share/lxr/blurb.html /usr/share/lxr/index.html
3. lxr 환경 설정
3.1. sudo vi /usr/share/lxr/lxr.conf
3.1.1. 나의 경우 대부분 archtechture로 arm 을 쓰므로 다음처럼 고친다.
3.1.2. base url 도 localhost 대신 ip 를 사용하자.
baseurl: http://<IP ADDRESS>/lxr/http/
3.1.3. version 명으로 된 디렉토리 아래 바로 소스를 둘 것이므로 다음처럼 고친다.
3.1.4. glimpse 를 위처럼 설치했다면 경로가 다르므로 이것도 고치자.
4. 소스 코드 복사 및 DB 구축
4.1. sudo mkdir /usr/share/lxr/source/<VERSION>
4.2. sudo cp 소스 /usr/share/lxr/source/<VERSION>
4.3. cd /usr/share/lxr/source
4.4. sudo echo ‘<VERSION>’ >> ./versions
4.5. sudo echo ‘<VERSION>’ >> ./defversion
4.6. cd <VERSION>
4.7. sudo genxref ./
4.8. sudo glimpseindex -H ./ fileidx xref
4.9. sudo chmod 644 .glimpse_*
4.10. sudo chmod 644 fileidx
4.11 sudo chmod 644 xref
5. http://<IP ADDRESS>/lxr/http 접속.
추가1: 이미 http://namhyung.springnote.com/pages/3132772 에 git 사용자 설명서가 있다. 저 namhyung님이 내가 아는 우분투 쪽 김남형 님일까 ㅎㅎ
추가2: http://git-scm.com/book/ko 번역자에게 축복을…
* git
1. Git의 Repository 개념과 clone 의 개념, clone
0. crontab 허용 사용자 추가
$ sudo vi /etc/cron.allow
사용자 이름 적고 저장 후 crontab 서비스 재시작 – sudo service crontab restart
1. crontab 사용자 파일 수정
$ crontab -e
*/10 * * * * /home/dasomoli/update.sh 식으로 적고 저장