svn 운용중 질문입니다.

kimes의 이미지

예를 들어 제 상황을 설명해 볼게요..

svn에 a.c라는 화일이 있습니다.

제 친구와 제가 a.c를 받아서 서로 다르게 수정을 했습니다.

친구가 먼저 커멧을 했습니다.

그러고 제가 이제 커밋을 하려고 하니까 안되더군요..

이럴때에는 어떻게 해야 하나요?

우선 테스트 해본봐로는..

제가 커밋하기 전에

svn update로 새버젼을 받아보니까

친구가 수정하고 커밋한 내용과 제가 수정한 내용의 diff가 생기더군요..

그래서 그걸 고쳐주고.. diff생길때 생긴 잡다한 파일 지우고

해주니 커밋이 되더군요..

이 방법이 맞는건가요? 다들 이렇게 하시나요?

뭐 좀 우아하게 하는 방법없나요?

예를 들면 자동으로 merge가 된다던가 그런거요..

sio4의 이미지

kimes wrote:

제가 커밋하기 전에

svn update로 새버젼을 받아보니까

친구가 수정하고 커밋한 내용과 제가 수정한 내용의 diff가 생기더군요..

그래서 그걸 고쳐주고.. diff생길때 생긴 잡다한 파일 지우고

해주니 커밋이 되더군요..

이 방법이 맞는건가요? 다들 이렇게 하시나요?

뭐 좀 우아하게 하는 방법없나요?

예를 들면 자동으로 merge가 된다던가 그런거요..

SVN은 아직 써보지 않아서 조금은 향상된 뭔가가 있을지 모르겠습니다만 기본적으로 CVS와 유사할 것이라고 생각합니다.

먼저, update 할 때 자동으로 합쳐지는것 맞습니다. 예를 들어,

저와 동료가 함께 작업하는 어떤 소스가 있다고 가정할 때, 제가 그 안의 fn1() 함수를 보다 효과적인 방식으로 수정하는 동안에 제 동료가 fn2()의 구현을 마쳤다면 제가 update 할 때 그 내용이 자동으로 합쳐지게 됩니다.

다만, 이 똑똑한 동료가 남은 시간에 fn1()의 기존 구현에 존재하는 몇몇 버그를 수정하여 저보다 먼저 commit 했다고 합시다. 이제 제가 수정을 마치고 update를 하게 되면 fn2()의 경우와는 달리, fn1()의 경우 누구의 구현이 맞는 것인지/보존되어야 하는지 시스템이 알아서 판단하고 적용한다는 것은 거의 불가능합니다. 이 때 충돌이 발생하고 사람의 "논리적" 손길이 들어가야 합니다.

... 아마, 시스템이 알아서 해주면 오히려 제가 화나게 될지도 모르겠습니다. :-)

--
"The love you take is equal to the love you make." The End, by Beatles

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.