이곳에 적합한 글인지 모르겠습니다.
SVN 을 도입한지 오랜 시간이 지났지만 그다지 소스 관리에 대한 복잡성이 좋아지지 않았습니다.
그 이유가 나름 진단하기로 Branch 와 Tagging 전략에 부재 라 고 생각했습니다.
즉 trunk(사실 새로운 프로젝트가 생길 때마다 브랜치를 Header 를 통해 따고 있습니다. )에서 Error 수정,추가
개발 하다 보니 이전 zip 파일을 사용해 통째로 묶던 때와 시간이 가면 갈 수록 별반 다르지않네요...
적절한 시기에 Branch를 따고 trunk에 merge 하고 해야 한다는 것은 알겠습니다.
이런 적절한 사례나 가이드를 찾아 보았지만 그다지 속시원한 내용이 없네요..
각 회사마다 SVN 을 사용하는 적략이 있다고 생각이 듭니다.
좋은 가이드나 사례 (실패사례도 좋습니다.) 에 대한 가르침 부탁드립니다.
그리고 최종적으로 CI 를 위해서 SVN을 초기발판으로 이용하고 있는 회사로써
빌드서버 도입하신 도입스토리가 있다면 이또한 부탁드립니다.
여기까지 읽어 주셔서 감사합니다.
tagging은 제품 릴리즈 정도? svn에서는 tagging이 크게 의미가 있다고 보여지지는 않습니다. 주석을 잘 달면되
죠.
저도 branch나 tagging 을 잘 사용하시는 팀은 어떻게 사용하는지 궁금하네요.
그렇지만, 사용하지 않는다고 해서 왜 소스관리가 엉망이 되고 있다는 생각하셨는지는 궁금합니다. svn으로 작업을 할 때, 어떤
문제가 있었는지 같은 것들을 이야기해주시면 도움이 될듯 합니다.
저도 그렇지만, 많은 분들이 아주 기본적인 기능만 쓰기도 하니까요. 모두 좋은 주말되세요~ ^^*
--
Google 그룹스 'Agile Beginners' Q&A' 그룹에 가입했으므로 본 메일이 전송되었습니다.
이 그룹에 게시하려면 ab...@googlegroups.com(으)로 이메일을 보내세요.
그룹에서 탈퇴하려면 abqna+un...@googlegroups.com로 이메일을 보내주세요.
더 많은 옵션을 보려면 http://groups.google.com/group/abqna?hl=ko에서 그룹을 방문하세요.
그냥 별도의 프로젝트로 분리하는 것이 좋다고 생각합니다.
그러면서 코드 리뷰와 리팩토리을 통해서 불필요한 소스를 삭제 해야할듯. 그리고 이것은 결국 틈틈히 해야할듯. 시간을 별도의 시간
을 얻기는 힘드니. 특히 프로젝트마다 사람이 달라지는 경우 불필요한 소스의 유무를 알기 어렵습니다. 한참 시간이 흘러야죠. 비슷
한 코드도 여기 저기 생기게 되고.....
정말 공통 부분이 있다면 별도의 프로젝트로 빼 낼 수도 있을듯. 라이브러리화?. (하나의 프로젝트가 2개 이상의 svn 저장소
를 사용) 빌드등에 불편할 수 있으니가 이 부분은 빌드 서버 등으로 처리하는 것도 좋겠습니다.
정리.
새로운 프로젝트는 새로운 저장소로 관리한다.
꾸준히 코드 리뷰와 리팩토링을 통해서 불필요한 코드를 정리한다.
공통 부분은 별도의 프로젝트로 빼내는 것도 고려한다.(라이브러리화)
On 6월6일, 오후12시23분, wansu yang <ywsaa...@gmail.com> wrote:
> 저희 상황은 이렇습니다.
>
> 하나의 웹 프로젝트를 SVN 으로 버전관리를 시작한 후 프로젝트가 시작 할 때 기 많들어 져있던 프로젝트를 그래로 브랜치를 땁니다.
> 그 후 다른 프로젝트가 생기면 이전 생성된 브랜치에서 jsp,js,java 등등의 파일을 고치고 다시 브랜치를 땁니다.
> 이렇게 하다보니 하나의 브랜치가 여때 해왔던 프로젝트에 합집합에 되어서 새로들어오는 작업자들이 현 프로젝트에서 중요한것과 쓰이지않는
> 부분을 파악해야하는 불필요한 작업이 생겼습니다.
>
> 2010년 6월 5일 오후 12:01, GyehongPark <gyehongp...@gmail.com>님의 말:
> > 그룹에서 탈퇴하려면 abqna+un...@googlegroups.com<abqna%2Bunsu...@googlegroups.com>로
> > 이메일을 보내주세요.
> > 더 많은 옵션을 보려면http://groups.google.com/group/abqna?hl=ko에서 그룹을 방문하세요.
>
> --
> ===========================================================
>
> 안녕하세요! 양완수 입니다.
> +HP : 010 2008 4167
> +Email : ywsaa...@gmail.com , yangwa...@daumsoft.com
> +
> ===========================================================
그룹에서 탈퇴하려면 abqna+un...@googlegroups.com로 이메일을 보내주세요.
더 많은 옵션을 보려면 http://groups.google.com/group/abqna?hl=ko에서 그룹을 방문하세요.
// ��ȯ��" ��� ����� commit�ؾ� �ϴ� ū �Ը��� ��������� ��� " �� ���� ������ ��������ΰ���??
�� ��쿡�� TAG �� ��� readonly ������ �־� ���Ϸ��� �մϴ�.
//��ȫ�������Ͻ� �κ��� ������ repository �� �� �� ��� �ߺ� �Ǿ� ��Ǿ����� �ڵ�� ������ repository�� ���ؼ� thirdparty ������� ������ ���� �ϴ°��� �´°ǰ���?�̷� ��� �̹� ����� �κ��� ���� ������ ���� �ڵ� ���䰡 �̷������ �ڱ���
2010�� 6�� 8�� ���� 9:08, Joonhwan Lee <joonhw...@gmail.com>�� �� ��:
�� �� �ִ� ȸ�翡����
- ��� ����� commit�ؾ� �ϴ� ū �Ը��� ��������� ���
- ��ǰ�� �������� ��
�� branch�� ����ϴ�. branch�� ���� trunk���� ��������, Ư���� ���, branch���� �� �ٸ� branch�� ���� ��찡 �ֽ��ϴ�.(branch�� �� �ٸ� branch�� ���������� ��ġ�� ���)
tag�� ��� ���� ���� �ʽ��ϴ�.
�� ����ϰ� �ִ����� ������, ���� ���ǰ� �ִ� �� �մϴ�...
2010/6/6 GyehongPark <gyeho...@gmail.com>
�� ���ֽ� ��Ȳ���� ����... �귣ġ�� �ƴ϶� ���� ���� ������Ʈ�� �ϳ��� svn���� ���ϴ� ��ó�� ���̳�.
A, A', A'' �̷� ������ ������Ʈ�� ���� �κ��� �ִٺ��� �ϳ��� svn����.....
�׳� ������ ������Ʈ�� �и��ϴ� ���� ���ٰ� ���մϴ�.
���鼭 �ڵ� ����� �����丮�� ���ؼ� ���ʿ��� �ҽ��� ���� �ؾ��ҵ�. ���� �̰��� �ᱹ ƴƴ�� �ؾ��ҵ�. �ð��� ������ �ð�
�� ���� ����. Ư�� ������Ʈ���� ����� ������ ��� ���ʿ��� �ҽ��� ������ �˱� ��ƽ��ϴ�. ���� �ð��� �귯����. ���
�� �ڵ嵵 ���� ��� ���� �ǰ�.....
���� ���� �κ��� �ִٸ� ������ ������Ʈ�� �� �� ���� ������. ���̺귯��ȭ?. (�ϳ��� ������Ʈ�� 2�� �̻��� svn �����
�� ���) ���� ������ �� �����ϰ� �� �κ��� ���� ���� ������ ó���ϴ� �͵� ���ڽ��ϴ�.
����.
���ο� ������Ʈ�� ���ο� ����ҷ� ���Ѵ�.
������ �ڵ� ����� �����丵�� ���ؼ� ���ʿ��� �ڵ带 �����Ѵ�.
���� �κ��� ������ ������Ʈ�� ������ �͵� ����Ѵ�.(���̺귯��ȭ)
> 2010�� 6�� 5�� ���� 12:01, GyehongPark <gyehongp...@gmail.com> ���� ��:
On 6��6��, ����12��23��, wansu yang <ywsaa...@gmail.com> wrote:
> ���� ��Ȳ�� �̷����ϴ�.
>
> �ϳ��� �� ������Ʈ�� SVN ���� ����� ������ �� ������Ʈ�� ���� �� �� �� ����� ���ִ� ������Ʈ�� ���� �귣ġ�� ���ϴ�.
> �� �� �ٸ� ������Ʈ�� ���� ���� ��� �귣ġ���� jsp,js,java ����� ������ ��ġ�� �ٽ� �귣ġ�� ���ϴ�.
> �̷��� �ϴٺ��� �ϳ��� �귣ġ�� ���� �ؿԴ� ������Ʈ�� �����տ� �Ǿ ���ε����� �۾��ڵ��� �� ������Ʈ���� �߿��ѰͰ� �������ʴ�
> �κ��� �ľ��ؾ��ϴ� ���ʿ��� �۾��� �����ϴ�.
>
> > �쿡�� Ż���Ϸ��� abqna+un...@googlegroups.com<abqna%2Bunsu...@googlegroups.com> ��>
>
>
>
>
> > �� ���� ���� branch�� ����ؾ� �ϴ� ��쿡�� �Ϻ� �ڵ带 �ּ����� �ߴٰ�, Ǯ��ٰ� �ϸ鼭 �ϴ� ��찡 ���Ҵ�� �ϳ�
> > ��. �����Կ��� �ұ��ϰ� ���� ������...... ���� ���� branch�� �ణ�� �źΰ��� �ִµ� �ϳ�. ���ٰ� merge
> > �� �źΰ��� �ִ� ���� �ƴմϴ�. merge�� �� �� �浹�� branch�� �ƴϾ ���� �����ϱ��. ��� ���� commit
> > �� ���� �ϴ� ���Դϴ�. �Ƹ� �������� �浹�� ���ؼ� ���� ������ ������ �ִµ� �ϳ�.
>
> > tagging�� ��ǰ ������ ����? svn������ tagging�� ũ�� �ǹ̰� �ִٰ� ���������� �ʽ��ϴ�. �ּ��� �� ���
> > ��.
>
> > �� branch�� tagging �� �� ����Ͻô� ���� ��� ����ϴ��� �ñ��ϳ�.
>
> > ������, ������� �ʴ´ٰ� �ؼ� �� �ҽ��� ����� �ǰ� �ִٴ� ���ϼ̴����� �ñ��մϴ�. svn���� �۾��� �� ��, �
> > ������ �־���� ���� �͵��� �̾߱����ֽø� ������ �ɵ� �մϴ�.
>
> > �� ������, ���� �е��� ���� �⺻���� ��ɸ� ��� �ϴϱ��. ��� ���� �ָ��Ǽ���~ ^^*
>
> > On 6��4��, ����1��06��, ��ϼ� <ywsaa...@gmail.com> wrote:
> > > �ȳ��ϼ��� ��ϼ���� �մϴ�.
>
> > > �̰��� ������ ������ �ڽ��ϴ�.
>
> > > SVN �� �������� ���� �ð��� �������� �״��� �ҽ� �� ���� ���⼺�� �������� �ʾҽ��ϴ�.
> > > �� ������ ���� ����ϱ�� Branch �� Tagging �� ���� �� �� ���߽��ϴ�.
> > > �� trunk(��� ���ο� ������Ʈ�� ��� ������ �귣ġ�� Header �� ���� ��� �ֽ��ϴ�. )���� Error ����,�߰�
> > > ���� �ϴ� ���� ���� zip ������ ����� ��°�� ���� ���� �ð��� ���� �� ���� ���� �ٸ����ʳ�...
>
> > > ������ �ñ Branch�� ��� trunk�� merge �ϰ� �ؾ� �Ѵٴ� ���� �˰ڽ��ϴ�.
>
> > > �̷� ������ ��ʳ� ���̵带 ã�� �������� �״��� �ӽÿ��� ������ ���..
>
> > > �� ȸ�縶�� SVN �� ����ϴ� ���� �ִٰ� ���� ��ϴ�.
> > > ���� ���̵峪 ��� (���л�ʵ� �����ϴ�.) �� ���� ����ħ ��Ź�帳�ϴ�.
>
> > > ���� ���������� CI �� ���ؼ� SVN�� �ʱ�������� �̿��ϰ� �ִ� ȸ��ν�
> > > ���弭�� �����Ͻ� ���Խ��丮�� �ִٸ� �̶��� ��Ź�帳�ϴ�.
>
> > > ������� �о� �ּż� �����մϴ�.
>
> > --
> > Google �콺 'Agile Beginners' Q&A' �쿡 ���������Ƿ� �� ������ ��۵Ǿ���ϴ�.
> > �� �쿡 �Խ��Ϸ��� ab...@googlegroups.com(��) �� �̸����� ��������.
> > �̸����� �����ּ���.
> > �� ���� �ɼ��� ������http://groups.google.com/group/abqna?hl=ko�� �� ���� �湮�ϼ���.
>> +Email : ywsaa...@gmail.com , yangwa...@daumsoft.com
> --
> ===========================================================
>
> �ȳ��ϼ���! ��ϼ� �Դϴ�.
> +HP : 010 2008 4167
> +
> ===========================================================
--
Google �콺 'Agile Beginners' Q&A' �쿡 ���������Ƿ� �� ������ ��۵Ǿ���ϴ�.
�� �쿡 �Խ��Ϸ��� ab...@googlegroups.com(��) �� �̸����� ��������.
�쿡�� Ż���Ϸ��� abqna+un...@googlegroups.com�� �̸����� �����ּ���.
�� ���� �ɼ��� ������ http://groups.google.com/group/abqna?hl=ko�� �� ���� �湮�ϼ���.
--
Joon
--
Google �콺 'Agile Beginners' Q&A' �쿡 ���������Ƿ� �� ������ ��۵Ǿ���ϴ�.
�� �쿡 �Խ��Ϸ��� ab...@googlegroups.com(��) �� �̸����� ��������.
�쿡�� Ż���Ϸ��� abqna+un...@googlegroups.com�� �̸����� �����ּ���.
�� ���� �ɼ��� ������ http://groups.google.com/group/abqna?hl=ko�� �� ���� �湮�ϼ���.
--
===========================================================
�ȳ��ϼ���! ��ϼ� �Դϴ�.
+HP : 010 2008 4167
+Email : ywsa...@gmail.com , yang...@daumsoft.com
+
===========================================================
--
Google �콺 'Agile Beginners' Q&A' �쿡 ���������Ƿ� �� ������ ��۵Ǿ���ϴ�.
�� �쿡 �Խ��Ϸ��� ab...@googlegroups.com(��)�� �̸����� ��������.
�쿡�� Ż���Ϸ��� abqna+un...@googlegroups.com�� �̸����� �����ּ���.
�� ���� �ɼ��� ������ http://groups.google.com/group/abqna?hl=ko���� ���� �湮�ϼ���.
-- Joonhwan Lee www.joonhwan.org
초보자라서 용기내어 답글을 달아 봅니다.
SVN Branch Tagging 은 무엇인가요??
음.. 글을 좀 읽어보니까 프로젝트를 진행하다가 여러가지 한군데서 사용하던 기능들을..
복사해다가 다른 프로젝트에서도 사용하고 그러다보면 같은 모듈이 여러가지 생기는 중복이 발생하는
경우를 말하시는것 같은데 맞나요??
음.. 저혼자 같은경우도 이것저것 만들다 보면 전혀 다른 프로젝트에서 사용하던 기능들이 필요해 지게되고
단순히 그걸 복사해서 기능을 조금 바꾸어서 사용하게 되는 경우가 많은데..
요즘에는 그런상황이 생기면 좀 돌아가더라도.. 둘다 리팩토링을 해 봅니다.
예가 적당한지는 모르겠지만.
Cars 프로젝트에 GasolinEngine 클래스가 쓰이고 있는데
Truck 프로젝트에서 저 가솔린 엔진을 조금 변경해서 재사용을 해야하는 상황 과 비슷하다고 이해하면 될까요?
그러면 따로 VhicleParts 라는 라이브러리를 만들어서 저 엔진부분을 때어내고.
Cars프로젝트를 라이브러리를 사용하는 방향으로 우선 리팩토링을 합니다.
그리고 추가로 필요한 요구사항을 VhicleParts라는 라이브러리 프로젝트에 기능을 더 추가합니다.
그리고 Truck 프로젝트에서 VhicleParts라이브 러리를 가져다 쓰게 도는데
여기서 단순히 인터페이스 부분이 안맞는 경우는 Truck프로젝트 안에서만
어텝터 패턴을 사용하여서 한번 래핑해서 사용하고 그럽니다.
나중에 어텝터로 래핑한게 다른데서도 필요하면 저 레퍼를 비클 라이브러리 프로젝트로 따로 때서 옴기거나 하겠죠.
초보자 쓰래드이길래. 딴소리 할 수도 있다는 가능성이 너무 많지만
글을 남겨봅니다.
제가 전혀 엉뚱한 소리를 했다면 ㅠㅠ 그런이야기가 아니구요~ 하면서 좀더 자세히 설명해 주세요..
감사합니다.