forweaver2.0's Issues
SVN File 편집기능
SVN File 편집기능으로 SVNCommitInfo, ISVNEditor를 이용해서 파일 편집기능
* Issue list
최초 파일 수정에 대해서는 정상적으로 edit가능하고 커밋로그도 이상없음
편집 후 해당 페이지에 계속 있는 상태에서 다시 편집기능을 해서 수정 시 정상적으로 반영
저장소 탭을 이용해서 빠져나온 후 다시 프로젝트 접근 후 파일 수정 시도 시 체크섬 에러 (이미지 참조)
SVN 저장소 생성 기능
SVNRepository클래스를 이용하여 저장소 Init
logback으로 라이브러리를 바꾸고 전체적으로 부실한 로깅 처리 업그레이드.
기존 spring security에서 boot security 적용하고 테스트.
SVN 디렉터리 검사
SVN으로 관리되고 있는 프로젝트에서 browser스캔 시 해당 파일이 디렉터리인지 유무 검사
* Issue list
파일임에도 Directory로 체크
새로 올라온 일반 글이나 혹은 저장소에 올라온 이슈를 자신이 이메일로 구독할 수 있는 기능이 추가 되었으면 합니다.
* SVN Lock & UnLock Issue
이슈사항 정리
$ 수행과정
1. Lock & UnLock 기능을 수행하기 위해 SVNKit DAV 서버로 접속
2. Repository 접근을 위해서 계정정보를 입력 (Spring Security)
3. Lock & UnLock을 하고자 하는 파일을 선택 후 Lock & UnLock 버튼을 누름
4. 정상적으로 메소드는 수행되나 다시 저장소를 로드 후 확인 시 변경된 사항이 없음
$ 기대결과
1. Lock & UnLock을 하고자 하는 파일을 선택 후 버튼을 누르면 정상수행 및 상태변경
이슈관련 코드 정리
$ 이슈사항
![](https://raw.githubusercontent.com/forweaver/forweaver-svn/master/issueimage/issue_picture_1.png)
메소드의 첫번째 인자로 SVNURL이 들어옴. 서버의 URL주소를 받아 현재 저장소에 있는 파일을 정상적으로 로드 후 락을 건다. 아래와 같이
![](https://raw.githubusercontent.com/forweaver/forweaver-svn/master/issueimage/issue_picture_2.png)
File모드의 메소드가 존재하나 위와 서버에 파일이 없다는 에러가 발생하므로 SVNURL모드로 설정 후 수행할 수 있다. 하지만 메소드 수행 후 다시 저장소를 로드하면 파일의 상태가 변경되지 않음. 클라이언트 프로그램인 TortoiseSVN을 사용한 결과도 아래와 같이
![](https://raw.githubusercontent.com/forweaver/forweaver-svn/master/issueimage/issue_picture_3.png)
락을 걸기위한 정보를 입력 후 OK버튼을 누르면
![](https://raw.githubusercontent.com/forweaver/forweaver-svn/master/issueimage/issue_picture_4.png)
XML에러가 발생. 유명 이슈처리 사이트에서 예상하는 문제사항은 아래와 같음.
권한이 중복되어 발생하는 문제 -> cleanup을 수행 후 다시 시도
Subversion 1.9 버전대가 불안정하므로 안정화 될 때까지 기다려야 한다.
TortoiseSVN 1.9.4 ~ 1.9대의 최신버전에서 발생하는 이슈사항
현재 이와 같은 문제는 아직 해결되지 않고 있음
- FTP 저장소를 생성.
- FTP 저장소 삭제.
- FTP 저장소 맴버 관리.
기존 버젼에서 mongodb에 도큐먼트 필드 바이너리 형태로 저장하다보니 16mb제한도 있고,
DB보다 파일시스템으로 접근하는게 운영측면에서 이득인 것 같아 변경해야할 거 같습니다.
![bug](https://user-images.githubusercontent.com/4001400/30063164-b48a04b8-9288-11e7-879d-8918ec43560d.png)
svnkit dav 서블릿을 통해 svn 저장소를 체크아웃한 이후 커밋 작업을 한번이라도 하면 로그가 보이지 않고
스크린샷처럼 다시 클론하지 못하는 버그가 있었습니다.
file 저장소를 체크아웃 해본 결과 커밋할 때부터 저장소가 깨진것 같은데
![encoding](https://user-images.githubusercontent.com/4001400/30063372-7c09bdee-9289-11e7-88bb-6e32d9558575.png)
확인해본 결과 web.xml에 한글 인코딩을 위한 utf8 강제 적용 필터를 제거한 이후에는 이상 없었습니다.
svn 주소로 주고받는 경우 필터 적용이 안되게 바꾸어야 할 거 같습니다.
jgit과 gitective 라이브러리를 최신 버젼으로 업그레이드하여 테스트함.
SVN HitMap 구현
SVN하에서 관리되는 저장소의 커밋 수를 참조하여 시각적으로 표현
* Issue list
SVN zip 다운로드
SVN으로 관리되고 있는 프로젝트를 zip으로 다운로드
* Issue list
서비스를 만들면서 게시글에 대한 기능이 많아지다보니 코드가 난잡해져서 수정해야함.
추가로 태그가 없어도 검색이 가능하게 바꿔야함.
구버젼에서 회원이 본인의 이미지를 올리지 않는다면
이메일을 이용해 gravatar 이미지를 무조건 가져오도록 하였는데
회사 내부망에서 설치하여 사용하는 경우를 대비하여 제거하거나 변경해야합니다.
spring mvc에서 spring-boot-starter-web으로 기반 변경.
SVN 저장소 브라우저
SVN으로 관리되고 있는 프로젝트에 대한 browser(파일, 디렉터리 목록 뷰)기능
* Issue list
Browser List를 나타낼때 파일과 디렉터리에 대한 판단 이슈로 아이콘 이미지 이슈 (close)
이동 시 '/' 가 계속 붙는 이슈
SVN Diff 기능
SVNClientManager, SVNDiffClient 를 이용하여 Diff 출력
* Issue list
기존 forweaver에서 이슈나 게시판을 이용할 때 태그 검색을 우선시 ui를 만들다 보니
사용측면에서 불만사항을 많이 받았습니다.
![tagcommunity1_0 5 17](https://user-images.githubusercontent.com/4001400/29112937-7743acb2-7d2a-11e7-94e6-d25c4dc7dbaa.png)
그래서 앞으로 아래와 같은 ui 배치로 일반 검색 ui를 메뉴에 추가해볼까합니다.
![mockup](https://user-images.githubusercontent.com/4001400/29113142-360756f8-7d2b-11e7-98ac-97eec8c05117.png)
SVN 저장소 삭제기능
FileUtils를 이용해서 Directory Delete 및 해당 저장소에 쓴 글도 모두 삭제
forweaver에 설정한 이메일로 메일을 보내면 제목 혹은 내용의 태그를 파싱하여 게시글로 저장하는 기능이 필요할 거 같습니다.
ftp 클라이언트롤 통해 forweaver로 접속하여 파일을 공유할 수 있도록 기능을 추가함.
SVN Stream 구현
SVN하에서 관리되는 저장소의 로그를 참조하여 시각적 통계 Stream을 구현
* Issue list
SVN 저장소 정보
svn 저장소 관련 정보를 보여줍니다.
커밋터 정보
커밋 날짜/시간
라인 추가/삭제 수
파일 추가/삭제/수정 수
* Issue list
SVN 저장소 로그 리스트 뷰
SVN으로 관리되고 있는 프로젝트에 대한 커밋로그 리스트 뷰
* Issue list
게시글에 open/close를 할 수 있도록하여 이슈처럼 사용할 수 있도록 기능을 추가함.
SVN Blame 기능
SVNClientManager, SVNLogClient, AnnotationHandler를 이용해서 Blame 출력
* Issue list
SVNKit관련 라이브러리 변경 및 SVNKit-DAV jar로 변경
yobi기반 프로젝트를 참조하여 현재 svnkit관련 라이브러리를 변경 및 dav 설정 변경
* 변경목록
svnkit : sonia.svnkit(ver.1.8.14-scm1)
svnkit-dav : sonia.svnkit(ver.1.8.5-scm4)
repository추가 : https://maven.scm-manager.org/nexus/content/repositories/releases/
* Issue list
- FTP 웹 브라우져 기능.
- FTP 폴더내의 파일 웹 뷰어 기능.
- FTP 전반적은 통계를 보여주는 기능.
- ETC.
SVN 파일 다운로드
SVN으로 관리되고 있는 프로젝트 하 파일들을 다운로드
* Issue list