'Trac'에 해당되는 글 32건

  1. 2008.06.23 Trac 0.11 정식 버전 릴리즈되었네요. (덤으로 0.10.5 버전도) 1
  2. 2008.06.18 500 Internal Server 에러가 가끔 나는 군요. 2
  3. 2008.06.16 Trac의 마일스톤(milestone)과 버전(version)을 어떻게 구분해서 쓰시나요? 1
  4. 2008.06.13 Trac 한글화 프로젝트가 종료되었군요.
  5. 2008.06.03 BitNami Trac for Windows 릴리즈했군요. 2
  6. 2008.05.22 커맨드창에서 Suversion 관련 명령 실행시 한글 메시지가 깨지는 현상 해결하는 방법
  7. 2008.04.04 새 프로젝트 생성하기 4
  8. 2008.04.04 TOW (TracOnWindows) 사용기 및 팁 모음입니다.
  9. 2008.03.07 TOW 기본 디렉토리(C:\TOW) 변경해서 설치하기 5
  10. 2008.02.22 (수정) Subversion에 사용자별로 접근권한을 설정하려면... 7
2008. 6. 23. 09:52

Trac 0.11 정식 버전 릴리즈되었네요. (덤으로 0.10.5 버전도)

0.11 버전이 오랜 기간 끝에 릴리즈되었네요.
이미 써 보신 분들은 아시겠지만, 몇가지 하이라이트를 정리해보면...
  • 템플릿(Template) 엔진을 Genshi로 변경
  • 티켓의 워크플로우 변경 (accepted가 추가됨)
  • 텍스트 문법에 따른 색깔 표시(Syntax Highlighting)하는 엔진을 Pygments로 기본 탑제.
  • 소스 브라우저 향상 (페이지 로딩 없이 폴더 트리 표시)
  • 사용자 설정 개선
  • WebAdmin 플러그인 기본 탑제
대략 이정도입니다. 사용자 관점에서 본다면 그렇게 많은 차이가 나지 않아보이기도 합니다. 일부는 0.10에서도 플러그인으로 되는 부분이기 때문에...

여하튼 TOW의 Trac 0.11 버전도 조만간 테스트를 해볼 예정입니다. 만약, Trac 자체의 인스톨러가 아주 편하게 되어 있다면, TOW 프로젝트를 더 이상 진행할 이유가 없겠죠. (그럼 좋겠는데...)

p.s. 0.10.4 버전의 보안 패치정도 수준의 릴리즈인 0.10.5도 함께 릴리즈가 되었네요. TOW 0.2.2의 다음버전이 릴리즈할 이유가 생겼네요.

참고사이트: Trac 0.11 릴리즈노트, Trac 다운로드


2008. 6. 18. 11:59

500 Internal Server 에러가 가끔 나는 군요.

제가 사용하는 TOW도 가끔 500 Internal Server 에러가 나는데, 역시나 windows event log의 문제인가 봅니다.


[Wed Jun 18 11:48:43 2008] [error] [client ...] mod_python (pid=2980, interpreter='tow.localhost', phase='PythonHandler', handler='trac.web.modpython_frontend'): Application error
[Wed Jun 18 11:48:43 2008] [error] [client ...] ServerName: 'tow.localhost'
[Wed Jun 18 11:48:43 2008] [error] [client ...] DocumentRoot: 'C:/TOW/Apache/htdocs'
[Wed Jun 18 11:48:43 2008] [error] [client ...] URI: '/projects/.../ticket/133'
[Wed Jun 18 11:48:43 2008] [error] [client ...] Location: '/projects'
[Wed Jun 18 11:48:43 2008] [error] [client ...] Directory: None
[Wed Jun 18 11:48:43 2008] [error] [client ...] Filename: 'C:/TOW/Apache/cgi-bin/trac.cgi'
[Wed Jun 18 11:48:43 2008] [error] [client ...] PathInfo: '/.../ticket/133'
[Wed Jun 18 11:48:43 2008] [error] [client ...] Traceback (most recent call last):
[Wed Jun 18 11:48:43 2008] [error] [client ...]   File "C:\\TOW\\Python\\Lib\\site-packages\\mod_python\\importer.py", line 1537, in HandlerDispatch\n    default=default_handler, arg=req, silent=hlist.silent)
[Wed Jun 18 11:48:43 2008] [error] [client ...]   File "C:\\TOW\\Python\\Lib\\site-packages\\mod_python\\importer.py", line 1229, in _process_target\n    result = _execute_target(config, req, object, arg)
[Wed Jun 18 11:48:43 2008] [error] [client ...]   File "C:\\TOW\\Python\\Lib\\site-packages\\mod_python\\importer.py", line 1128, in _execute_target\n    result = object(arg)
[Wed Jun 18 11:48:43 2008] [error] [client ...]   File "C:\\TOW\\Python\\Lib\\site-packages\\trac\\web\\modpython_frontend.py", line 87, in handler\n    gateway.run(dispatch_request)
[Wed Jun 18 11:48:43 2008] [error] [client ...]   File "C:\\TOW\\Python\\Lib\\site-packages\\trac\\web\\wsgi.py", line 87, in run\n    response = application(self.environ, self._start_response)
[Wed Jun 18 11:48:43 2008] [error] [client ...]   File "C:\\TOW\\Python\\Lib\\site-packages\\trac\\web\\main.py", line 416, in dispatch_request\n    env.log.warn(e)
[Wed Jun 18 11:48:43 2008] [error] [client ...]   File "C:\\TOW\\Python\\lib\\logging\\__init__.py", line 983, in warning\n    apply(self._log, (WARNING, msg, args), kwargs)
[Wed Jun 18 11:48:43 2008] [error] [client ...]   File "C:\\TOW\\Python\\lib\\logging\\__init__.py", line 1079, in _log\n    self.handle(record)
[Wed Jun 18 11:48:43 2008] [error] [client ...]   File "C:\\TOW\\Python\\lib\\logging\\__init__.py", line 1089, in handle\n    self.callHandlers(record)
[Wed Jun 18 11:48:43 2008] [error] [client ...]   File "C:\\TOW\\Python\\lib\\logging\\__init__.py", line 1126, in callHandlers\n    hdlr.handle(record)
[Wed Jun 18 11:48:43 2008] [error] [client ...]   File "C:\\TOW\\Python\\lib\\logging\\__init__.py", line 642, in handle\n    self.emit(record)
[Wed Jun 18 11:48:43 2008] [error] [client ...]   File "C:\\TOW\\Python\\Lib\\logging\\handlers.py", line 819, in emit\n    self.handleError(record)
[Wed Jun 18 11:48:43 2008] [error] [client ...]   File "C:\\TOW\\Python\\lib\\logging\\__init__.py", line 693, in handleError\n    traceback.print_exception(ei[0], ei[1], ei[2], None, sys.stderr)
[Wed Jun 18 11:48:43 2008] [error] [client ...]   File "C:\\TOW\\Python\\lib\\traceback.py", line 125, in print_exception\n    print_tb(tb, limit, file)
[Wed Jun 18 11:48:43 2008] [error] [client ...]   File "C:\\TOW\\Python\\lib\\traceback.py", line 70, in print_tb\n    if line: _print(file, '    ' + line.strip())
[Wed Jun 18 11:48:43 2008] [error] [client ...]   File "C:\\TOW\\Python\\lib\\traceback.py", line 13, in _print\n    file.write(str+terminator)
[Wed Jun 18 11:48:43 2008] [error] [client ...] IOError: [Errno 9] Bad file descriptor

다음버전의 log 기본 설정을 파일로 해야겠습니다.
2008. 6. 16. 10:12

Trac의 마일스톤(milestone)과 버전(version)을 어떻게 구분해서 쓰시나요?

Trac을 쓰다보면 마일스톤과 버전이 어찌보면 같은 의미같기도 하고, 아닌거 같기도 하고 그렇습니다. 찾아봤더니 다른 분들도 역시나 햇갈려 하시나 봅니다.

Trac의 메일링리스트에서 다음과 같은 글을 찾았습니다.
(출처: http://www.mail-archive.com/trac@lists.edgewall.com/msg01241.html)

- A milestone is created for each future version of the software we intend to release. This includes bug fix releases as well as major planned versions.

- When a bug is found and a ticket is created, we set the version field to the version of our product in which the bug was discovered. This is later updated if the bug was found to have been introduced in an earlier version.

- If a ticket is created for an enhancement or task (i.e. anything
other than a bug) then the version field is left empty.

- Periodically I set the milestones of all tickets to be the version (s) in which we expect the bugs to be fixed or features to be introduced.

- When we tag a new release the milestone is marked as completed and
we then add the version of the new release to the version list in Trac (so that bugs can be filed against that version). A new milestone is then created for the next release in that branch.

번역을 해보면...

- 마일스톤은 릴리즈하려는 소프트웨어의 미래의 버전마다 만든다. 여기에는 버그수정이나 메이저로 계획한 버전들도 포함된다.

- 버그를 찾아서 티켓을 발행할 때, 버전 필드에는 버그를 찾은 버전으로 선택한다. 만약 이 버그가 더 이전의 버전에서 발견되었다면 나중에 해당 버전으로 업데이트해야 한다.

- 티켓이 개선사항(enhancement)나 할일(task)라면(버그가 아닌 다른 것들이면) 버전 필드는 비어둔다.

- 주기적으로 모든 티켓의 마일 스톤을 해결되거나 나중에 추가될 것으로 예측하는 버전으로 설정한다.

- 새 릴리즈를 태그할 때 마일스톤이 끝난 것으로 하고 버전 목록에 새 릴리즈 버전을 추가한다. (그래야 이 버전에 대해 버그가 발견되면 선택을 할 수 있기 때문이다.) 브랜치에는 다음버전을 위해 다음 릴리즈를 위해 마일스톤을 새로 만든다.

이렇습니다. 댓글메시지에도 나오지만 마일스톤은 "미래"이며, 버전은 "과거"를 의미하네요.
결론적으로 보면 버전의 항목들과 마일스톤의 항목들은 버전 형식("1.0", "1.1.1.1" 등)과 같이 되겠더군요. 사실 지금은 다르게 해 놓고 썼거든요.

반드시 이렇게 써야 하는건 아니겠지만, 이렇게 쓰게 되면 좀 더 전달이 잘 될 듯 합니다.
도움이 되시길...

2008. 6. 13. 11:42

Trac 한글화 프로젝트가 종료되었군요.

0.12 버전부터는 국제화기능이 들어간다고 하고 있군요. 진작들어갔으면 했는데...
암튼, 그동안 수고하셨고, 앞으로도 잘 부탁드립니다.

출처: http://kldp.net/forum/forum.php?forum_id=4370

0.12 버전의 한글 번역 티켓: http://trac.edgewall.org/ticket/5477
0.12 버전의 한글 리소스 :http://trac.edgewall.org/browser/trunk/trac/locale/ko_KR/LC_MESSAGES

2008. 6. 3. 16:18

BitNami Trac for Windows 릴리즈했군요.

BitNami는 다양한 웹 어플리케이션을 여러가지 환경에서 설치하기 쉽도록 해주는 통합 인스톨러입니다. Trac의 윈도우 버전을 어제일자로 릴리즈했군요.

포함되는 내용은 아래와 같답니다.
  • Apache 2.0.63
  • Python 2.4.4
  • mod_python 3.3.1
  • Subversion 1.4.6
  • SQLite 3.5.2
  • Clearsilver 0.9.4
  • PySQLite 2.4.1
  • Trac 0.10.4-7
자세한 내용은 http://bitnami.org/article/trac-for-windows-released 에서 참고하십시오.
잘 되면(?) TOW 프로젝트를 더 이상 진행하지 않아도 될 듯합니다.


2008. 5. 22. 17:49

커맨드창에서 Suversion 관련 명령 실행시 한글 메시지가 깨지는 현상 해결하는 방법

C:\TOW\set-tow.bat 파일을 열으셔서 밑줄친 줄을 추가하시면 됩니다.

...
set SVN_HOME=%TOW_HOME%\Subversion
set APR_ICONV_PATH=%SVN_HOME%\iconv
set PYTHON_HOME=%TOW_HOME%\Python
...

APR_ICONV_PATH 라는 키워드를 찾기가 엄청 힘들었네요. 찾고 나니 Peter Kim 님 블로그에도 비슷한 내용의 댓글이 있네요.

이렇게 하시면 add-project 실행 시에도 제대로 된 메시지를 보실 수 있을 겁니다.

도움이 되시길...

2008. 4. 4. 09:41

새 프로젝트 생성하기

새로 프로젝트를 만드시려면 다음과 같이 해보세요.

  1. 도스창(Command Prompt)을 띄웁니다. (실행 -> cmd)
  2. 다음과 같이 실행해봅니다. (예제 프로젝트명: MyNewProject)
    C:\Documents and Settings\user>cd \TOW

    C:\TOW>add-project MyNewProject

  3. 이렇게 하면 MyNewProject 라는 프로젝트가 생깁니다.
  4. trac 주소는 http://서버주소:8080/projects/MyNewProject 가 됩니다.
  5. svn 주소는 http://서버주소:8080/svn/MyNewProject 가 됩니다.
  6. 끝!

p.s. 예전에는 create-svn-repo.bat, create-trac-repo.bat 스크립트를 사용했서 프로젝트를 생성했는데, 이 둘을 묶어서 add-project라고 만들었습니다. 각각 쓰셔도 됩니다.
2008. 4. 4. 09:16

TOW (TracOnWindows) 사용기 및 팁 모음입니다.

2008. 3. 7. 20:10

TOW 기본 디렉토리(C:\TOW) 변경해서 설치하기

어떤 분이 메일로 문의를 주셔서 한번 try를 해봤는데요.
결론적으로 동작은 됩니다만 Python의 경로를 옮기는 건 안되네요.
다음의 절차대로 해보세요.

예제로 설치할 경로는 D:\Apps 입니다. (이하 %TOW_HOME%은 D:\Apps\TOW가 됩니다.)
  1. TOW-*.zip 파일을 D:\Apps 에 풉니다.
  2. %TOW_HOME%\set-tow.bat 파일을 열어서 아래의 부분을 수정합니다.
    set TOW_HOME=D:\Apps\TOW

  3. %TOW_HOME%\Apache\conf\httpd.conf 파일을 열어서 다음의 문자열을 모두 치환합니다.
    C:/TOW -> D:/Apps/TOW

  4. %TOW_HOME%\Setup\TracRepo\Projects\HelloTOW\conf\*.tpl 의 모든 파일을 열어서 다음의 문자열을 치환합니다.
    C:\TOW -> D:\Apps\TOW
    C:\\TOW -> D:\\Apps\\TOW


  5. %TOW_HOME%\create-svn-repo.bat 파일을 열어서 다음의 문자열을 모두 치환합니다.
    C:/TOW -> D:/Apps/TOW


  6. D:\Apps\TOW\Python 디렉토리를  C:\TOW\Python 모두 복사합니다.

이렇게 하시면 Trac, Subversion 모두 동작을 합니다. 다른 문제가 있을지는 아직 잘 모르겠습니다.

만약 이미 C:\TOW를 설치한 상태에서 D:\Apps\TOW로 이동한다고 했을 때, 이미 만들어 놓은 프로젝트가 있으시다면 아래와 같이 해보세요. (%PROJECT_NAME%은 만들어 놓은 프로젝트 이름)

  1. %TOW_HOME%\TracRepo\Projects\%PROJECT_NAME%\conf\trac.ini 파일을 열어서 다음의 문자열을 치환합니다.
    C:\TOW -> D:\Apps\TOW
    C:\\TOW -> D:\\Apps\\TOW


  2. 그리고, trac-admin을 다음과 같이 실행합니다.
    D:\Apps\TOW>trac-admin.bat %PROJECT_NAME% resync

이렇게 하면 기존 프로젝트도 새 디렉토리에서 동작을 할 겁니다.
그럼, 도움이 되시길...

2008. 2. 22. 14:52

(수정) Subversion에 사용자별로 접근권한을 설정하려면...

(수정내용: svnserve.conf 파일이 필요치 않습니다. ssaurabi님 제보 감사합니다.)

TOW는 기본적으로 모든 계정에 대한 모든 Subversion 권한을 부여하게되어 있습니다.
만약, 사용자별로 Subversion 접근권한을 부여하려면 다음과 같이 하시면 됩니다.

  1. C:\TOW\Apache\conf\httpd.conf 파일을 메모장 등에서 불러옵니다.
  2. <Location /svn> 부분을 찾아서 다음과 같이 수정합니다.
    <Location /svn>
      DAV svn
      SVNParentPath "C:/TOW/SvnRepo/Projects"
     
      # our access control policy
      AuthzSVNAccessFile "C:/TOW/SvnRepo/Projects/authz"
     
      # try anonymous access first, resort to real
      # authentication if necessary. 
      Satisfy Any
      Require valid-user
     
      AuthType Basic
      AuthName "TOW:Subversion Authentication"
      AuthUserFile "C:/TOW/SvnRepo/Projects/trac.htpasswd"
    </Location>
  3. C:\TOW\SvnRepo\Projects\authz 파일을 아래와 같이 작성합니다. (예로 test, test2 에 대한 권한을 설정한 것인데요. 먼저 사용자가 만들어져있어야 합니다.)
    [/]
    test = rw
    test2 = r
    * =
  4. TOW 를 재시작합니다.
authz 파일에 대한 자세한 설정은 이곳을 참고하십시오. 도움이 되시길...