소스코드 수정에 따른 tags파일 자동 업데이트가 가능한가요.

choco6의 이미지

회사에서 프로젝트 소스에 대해 tags 파일을 생성시켜서 vi로 코드를 수정하고 잇습니다.
그런데 코드를 보다보면 vi로 함수나 변수를 찾아갈 때 엉뚱한 위치로 점프를 해 나갑니다. 소스코드가 자주 수정되기 때문인데 혹시 vi + ctag로 코드를 보시는 분들중에서 이처럼 소스 수정에 따라 tags 위치가 변경되는 문제에 대해 tags 파일을 자동으로 업데이트하는 기능같은 것을 사용할 수 있나요?
혼자도 아니고 여러 사람이 개발하는 큰 프로젝트의 경우 자잘하게 소스 코드 수정할 때마다 ctag 돌리는 것도 영 성가시고 좋은 방법이 있는지 모르겠네요..

pynoos의 이미지

crontab에 2시간마다 한번씩 강제로 태깅하라고 하고,
vimrc에서 태그를 읽게 합니다.

crontab에서는 절대경로로 태깅하면 되지요.

0 */2 * * * ctags -R -f/home/pynoos/tags.budapest.tmp /home/pynoos/work/GSTrunk/ /usr/src/glibc-2.2.2/ && mv /home/pynoos/tags.budapest.tmp /home/pynoos/tags.budapest

저의 경우 libc소스도 태깅하는데, 위와 같이 tags.budapest 라는 태그이름을 만들고

~/.vimrc 에 다음과 같이 둡니다.

set tags+=~/tags.budapest
choco6의 이미지

네, crontab으로 등록해서 ctag를 돌리는거였군요. 조금 예상은 하긴 했는데..
그런데 해당 서버에 대해서 root권한으로 돌리는건 crontab에 등록하면 되지만 만약 root권한이 없고 일반 사용자 권한일 때는 crontab에 등록이 안되지 않나요?

pynoos의 이미지

crontab -e

를 일반계정에서 해보시고, 안된다면

/etc/cron.allow
/etc/cron.deny

파일을 확인해보세요

doraq의 이미지

ctags는 cron으로 유효시간(09시~20시) 중에는 3분마다 돌립니다.
이것으로 ctags쪽은 해결했는데 ..

요즘에 cscope도 쓰게됐는데 문제는 이놈이 db 연결이 되 있을때는 같은 이름으로 tag를 생성해 overwrite할 수가 없다는 겁니다.
vi를 나가거나 vi에서 cs로의 연결을 끊거나 해야 가능하더군요
그래서 cron으로 돌릴수가 없었습니다.
이 문제 쉽게 쓰시는 분 없나요?

참고로 전 winxp + cygwin + gvim + cscope 환경입니다

pynoos의 이미지

cscope 로 생성되는 이름을
cscope.out.tmp 등으로 하고 cscope가 종료하면 cscope.out 으로 mv 하면 되지 않을까요?

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.