SourceSafe는 정말 안전합니까?


27

아침 내내 무언가를 확인하려고 노력하면서-나는 며칠간의 일을 잃었다는 것을 알게되었습니다.

이전에 발생했으며 SourceSafe에서 흔히 발생합니다. 문제없이 SourceSafe를 성공적으로 사용할 수 있습니까?


40
오, 맙소사 NO ... 절대 다시는!
Tim Post

27
회사에서 SourceSafe를 꺼내기 위해 오랫동안 열심히 노력했습니다. 결국 승리하고 모두가 더 행복합니다.
Kevin D

13
VSS를 사용하는 모든 조직은 나쁜 "org smell"입니다
JoelFan

8
"초기 및 자주 체크인"문구 이런 상황을 방지하는 것입니다. 몇 시간 이상 일을 잃어서는 안됩니다. 그러나 아이언 메이든 (Iron Maiden)은 "언덕을 향해 달려라! 당신의 인생을 위해 달려라!"
Ryan Hayes

3
Microsoft 는 이것을 사용하지 않습니다. 우리는 왜해야합니까?
greyfade

답변:


45

내 견해는 간단합니다. 최대한 빨리 다른 것으로 마이그레이션하십시오. 시간이 오래 걸리지 않으며 (WAG 1-2 주) 마이그레이션에 걸리는 시간에 관계없이 관리에 비용을 정당화 할 수 있습니다. 마이그레이션하는 데 약간의 시간이 걸리면 확실한 소스 제어와 소스 코드 손실 가능성이 거의 없습니다. 상사가 회의론자 인 경우 "소스 안전 공포 이야기"또는 이와 유사한 것에 대해 빠른 Google 검색을 수행하십시오.


사실, 때로는 비 기술적 인 사람이 소스 제어를 마이그레이션하는 데 1-2 주를 소비하는 것은 쉽지 않습니다.
t3mujin

2
@ t3mujin, "기술 부채" 프로그래머
Nemi

SourceSafe는 단기 및 장기 생산성에 대한 적극적이고 지속적인 책임입니다. 현대적이고 안전하며 분산 된 버전 제어 시스템으로 쉽게 교체 할 수 있습니다. 전문적인 안내뿐만 아니라 SourceSafe 공포 이야기에 대해 Google과 함께 조사하십시오. 케이스를 강하게 만드십시오. 필요한 것은 무엇이든하십시오.
Adam Crossland

3
@ t3mujin : 프로젝트별로 마이그레이션하십시오. 내가 일하는 곳에서는 SourceSafe를 사용했지만 이제는 TFS를 사용합니다. 모든 것 (수백 개의 프로젝트)을 마이그레이션하는 것은 어려웠을 것입니다. 대신 SourceSafe에있는 오래된 프로젝트를 수행해야하는 경우 먼저 마이그레이션하는 데 소량의 시간을 소비 한 다음 작업을 시작하십시오.
Carson63000

@ Carson63000 우리는 대부분의 최신 프로젝트에 TFS를 사용하고 있지만 VSS에 대한 업데이트는 적지 만 TFS 로의 마이그레이션을 지불 할 의사가없는 대규모 소스 기반이 있습니다. 나는 그것을 더 자주 사용하는 팀에 있지 않기 때문에 한 번에 몇 줄의 코드로
괜찮습니다

33

가장 나쁜. SCM. 이제까지.

SCM에서 잘못된 것은 VSS에서 구현됩니다. StarTeam조차도 Source Safe보다 낫습니다. Source Safe는 버전 제어 세계의 Internet Explorer 1이며 다른 구현으로 대체되었습니다.

어떻게 사용 했습니까?

작업을 완료하기위한 일반적인 워크 플로는

  1. 프로젝트를 확인하십시오
  2. 모든 파일을 잠그십시오 (지옥의 부정한 문을 연 다른 사람과의 합병을 피하기 위해)
  3. 내 일을 했어
  4. 매일 내 변경 사항을 확인했습니다.
  5. 다시 확인하고 통합 관련 모든 문제를 해결했습니다.
  6. 다시 체크인

Subversion과 비교할 때 위의 내용은 웃을 수 있습니다 (빌드를 깨지 않았는지 확인하는 것 제외).

팀의 프로그래밍 관행에 대한 제한

이것이 우리에게 도움이되도록 팀이 지켜야 할 규칙입니다. 귀하의 마일리지가 다를 수 있습니다.

  1. 한 사람 만 파일을 편집 할 수 있습니다 (휴일에가는 경우 도움이 됨)
  2. 너무 관리하기 어려운 분기하지 마십시오
  3. 이전 개정으로 돌아 가지 마십시오

무엇을 할 수 있습니까?

Polarion은 대부분의 기업에서 오픈 소스 버전 관리를위한 사실상의 표준 인 SVN (Source Safe into Subversion)과 같은 도구 를 마이그레이션하는 데 유용한 도구 세트를 제공 합니다. Subversion은 분산 오프라인 팀을 위해 설계된 GIT 또는 Mercurial과 달리 체크인을 허용하기 위해 서버를 사용할 수 있어야합니다.


나 파일 수정 내역을 얻기 위해 시도 또는 분기에 시작하지 않는 @ 데이비드 (내가 쓰기로 우는거야 - 내 인생의 많은 낭비 시간 ...)
게리 로우

2
예, 좋은 SCM에서 브랜치 및 병합은 재미가 없습니다. 저는 의회가 사람들이 소스 세이프에서 그것을 할 수있게 해줄 것이라고 생각하지 않습니다.
BlackICE

2
이전 버전으로 돌아 가지 않습니까? 왜 안돼? 그렇다면 SCM 도구를 사용하는 전체 목적은 무엇입니까?
JoelFan

내가 VSS를 사용한 상점에 ​​있었을 당시에는 이전 버전으로 돌아가는 데 전혀 문제가 없었습니다. 조금 극단적 인 것 같습니다. 그래도 분기에 당신과 함께 있습니다.
JohnFx

@JohnFx @SpashHit 우리 팀은 통증에 대한 내성이 매우 낮아서 약간 위에있을 수 있습니다. Subversion이 나왔을 때 그것은 엄청난 무게가 들린 것과 같았습니다.
Gary Rowe


11

약 1 년 전에 운영을 중단했습니다.

지난 저녁에 체크인 한 내용이 다음날 아침에 없었던 것이 여러 번 발생했습니다. 방금 작업을 마치지 않은 것처럼 보였기 때문에 그 재미를 찾지 못했습니다. 내가 회사에 처음 왔기 때문에 나에게 위험했을 수도 있습니다.

우리는 TFS로 넘어 갔으며 그 이후로 순조롭게 운영되고 있습니다.


1
꺼내기 +1 당신은 옳은 일을했습니다.
Gary Rowe

1
TFS는 아름답고 아름다운 것입니다. 당신이 반죽을 지불해야한다면, 즉.
Adam Crossland

2
@Adam Crossland : 큰 다이아몬드처럼 아름답고 거의 같은 가격입니다.
Orbling

1
@Orbling : 잘 말했다.
Adam Crossland

1
약어를 인식하지 못하는 사람들을 위해 TFS는 Microsoft의 Team Foundation Server 입니다.
키이스 톰슨

9

내 견해?

사용하기 쉽고, 사용하기에 안전하고, 완전 무료 인 것이 좋습니다. 왜 그것을 전혀 귀찮게 사용합니까?

이것은 우리가 많은 선택을 할 수있는 발전 분야 중 하나입니다. VSS보다 대부분 또는 전부 더 좋습니다.


"가장 많이"는 따끔 따끔한 ... 또는 다른 방법으로 말하면 VSS보다 더 나쁜 것은 무엇 입니까?
Jürgen A. Erhard

@jae : Must은 내가 그들을 모두 사용하지 않았 음을 나타내는 한정자 일 뿐이므로 VSS와 관련하여 품질을 확인할 수 없습니다. 그러므로 "또는 모두"
Steven Evers

9

상업적 운영에서 SourceSafe를 사용하는 것은 달러 지폐를 태워 건물을 가열하는 것과 같습니다.

2000 년에 8 명의 개발자가 VSS 데이터베이스의 일일 평균 2 회 손상으로 인해 생산성의 5-10 %를 잃었을 수 있습니다. 우리는 매시간 백업을했기 때문에 그 정도는 낮았습니다.

VSS에서 Perforce, svn 및 git으로 이동했기 때문에 SCM 데이터베이스가 손상되지 않았습니다.


7

나는 이것으로 지옥에 투표 할 수도 있지만 ..

대체 텍스트

VSS를 사용하면 현재 질식 된 레포가 당신의 잘못이 아니라는 것을 깨닫는 데 필요한 현실을 조정할 수 없을 정도로 효과적으로 마약을 처리 할 수 ​​있습니다.

절대로 사용하지 마십시오.


당신은 투표하지 않을 것입니다. 나의 유일한 비판은 시안화물이 습관성 VSS 사용자에게 선택되는 약이라는 것입니다.
Orbling

7

수년간 그것을 사용했습니다-이미 존재했던 것처럼 기본 솔루션이었습니다. 그것은 몇 번 나에게 물린 적이 있지만 관성은 극복하기가 어렵습니다.

그런 다음 VPN을 통해 원격으로 사용해야했고 심지어 작은 체크인조차도 핀홀을 통해 벽돌을 채우는 것과 같았습니다 . 변경된 파일을 수동으로 찾고 압축하여 이메일로 전송하고 소스 볼트 시스템에 원격으로 연결 한 후 압축을 풀고 소스 볼트 시스템에서 코드를 체크인하는 것이 더 빠릅니다.

Mercurial로 전환 1 분 안에 VPN을 통해 전체 소스 코드베이스를 복제 할 수 있습니다. 그리고 더 이상 분기를 두려워하지 않습니다.

다시는 돌아 가지 않습니다.


이를 위해 소스 오프 사이트가있었습니다. 나도 잘 기억합니다. 실제로 VPN을 통해 VSS를 수행 할 필요가 없었기 때문에 실제로 소스 외부의 자체 복사본을 구입했습니다.
BlackICE

성숙한 SCM의 부호 "나는 더 이상 분기없는 두려움"에 대한 한
게리 로우

5

혐오입니다. 그러나 여전히 아무것도 아닌 것보다 낫습니다.


12
모든 대안을 사용하면 사용이 정당화하기가 어렵습니다. 남쪽으로 갈 때 그게 당신이 가진 것이기 때문입니다.
DevSolo

13
만약 당신이 일을 잃게된다면 어떻게 아무것도 아닌 것보다 낫습니까?
billy.bob

4
당신은 적어도 SourceSafe를 할 수 있습니다 저장뿐만 아니라 아무것도 작업을 잃을 수 있습니다 때로는 .
BlackICE

4
@David-잠재적 인 'icky'를하기 전에 합리적인 백업이 가능합니다. 실패에서 VSS와 경쟁하는 유일한 것은 MS BOB입니다. VSS는 너무 무서워서 사람들이 그것을 사용하지 못하도록 치료하는 이름으로 자선 단체를 만들어야합니다.
Tim Post

9
아니요, 아무것도 아닌 것보다 더 나쁩니다. 당신은 또한 백업이 없다면, 당신은 잘못된 보안 감각을 가지고 모든 것을 잃을 수 있습니다
CaffGeek

5

개인적으로 어떤 문제도 경험하지 않고 오랫동안 (약 10 년 동안) 사용했습니다 (내 코드가 충돌 등을 피하기 위해 상당히 잘 분할 된 경향이 있지만 작업중 인 팀 포함).

그러나 믿을만한 오픈 소스 대안이있을 때 데이터를 계속 사용하기에는 너무 많은 데이터 손실 사례가 있습니다.

편집 : 의견에서 메시지는 복잡한 것을 피하는 것처럼 보입니다 (분기, 병합, 충돌). 더 중요한 것은 위험한 지역으로 향하고 있습니다.


팀 내에서 작업하거나 전체 코드베이스 내에서 솔로 프로젝트를 수행하고 있습니까?
Gary Rowe

팀 내에서 코드 기반은 누가 무엇을 작업하고 있었는지에 따라 상대적으로 잘 나뉘어져 있으므로 거의 충돌이 없었습니다.
Jon Hopkins

@Jon 그것은 문제없는 작동을 설명하기 위해 먼 길을 간다.
Gary Rowe

1
FWIW 내 경험은 Jon과 비슷합니다. 7 년, 8 명 팀, VSS 사용에 문제가 없습니다. 분명히 우리는 (행운의) 소수에 있습니다. 모든 이야기를 기반으로 다시 사용하지 않을 것입니다 (현재 SVN 사용).
Steve Fallows

1
분기, 병합 및 충돌 해결이 복잡한 작업으로 간주되는 경우 잘못된 버전 제어 시스템을 사용하고있을 수 있습니다.
James

5

MS조차도 TFS를 선호하여 더 이상 사용하지 않습니다.

Visual Studio 6 또는 그보다 오래된 것에서 일하는 독창적이거나 작은 상점의 경우 통과 할 수 있으며 아무것도 아닌 것보다 낫습니다. 나는 그것이 얼마나 나쁜지에 대해 과장된 것이 많다고 생각하지만, 제품에 대한 당신의 신맛을 내기 위해 귀중한 일을 잃는 경우는 한 번만 필요합니다. VSS는 그 자리를 차지했으며 적어도 SCM 도구를 전혀 사용하지 않는 많은 개발자들에게 습관을들이도록 격려 해준 것에 대해 공로를 인정하지만, 많은 기술과 마찬가지로 이제는 거의 쓸모가 없습니다.


사람들이 SCM을 사용하도록하는 것은 좋은 일입니다. 하지만 ... VSS? 나쁜 경험은 제품에 나쁜 이름을 줄뿐 아니라 전체 범주에 나쁜 이름을 줄 수도 있습니다. 또는 : VSS로 SCM을 시작한 개발자 수는 몇 명이고 VSS가 망할 때 "와우,이 SCM은 예상만큼 나쁘다"고 생각 했습니까? 아니 SCM는 것을 언급에 매우 의미 인프라의 중요한 부분 : 버그가 허용되지 않습니다 (예, 알아요 ...)
위르겐 A. 에어 하드

@jae 내 경험이 아니었다. VSS는 SCM에 대한 첫 번째 노출이었습니다. 데이터를 사용하는 동안 몇 년 동안 데이터 손실, 손상 또는 문제가 발생하지 않았습니다. 결국에는 이전 단계로 돌아 왔지만, 그 날 Visual Studio에 사전 설치되지 않은 도구를 통합하는 데 시간이 더 걸릴 것으로 생각합니다.
JohnFx

3

3 년 동안 사용하고 고급 / 합리적인 대안으로 인해 관리자에게 불만을 제기 한 후 VSS에 문제가 없었지만 옵션도 없었습니다.

내 견해로는 그것이 짜증나고 불 었다는 것이다.

가장 성가신 부분은 끔찍한 버전 관리와 혼란스러운 분기 기능이 아니라 파일 메뉴의 목록 상자에서 오른쪽 화살표 키를 눌러 확장 할 수는 없다는 것입니다.

정말 고통 스럽습니다.


3

VSS에 대한 나의 견해? 나는 그들이 "VSS 숙련도"를 요청했기 때문에 몇 가지 구인 제안 (매우 잘 지불)을 거부했습니다. 그리고 여기에도 같은 일을했던 다른 사람들이 몇 명 있다고 확신합니다.


1
+1, 구인 광고에 "VSS 숙련도"를 두는 것은 회사가 VSS를 사용할뿐만 아니라 VSS가 이미 손상되어 문제가있는 환경에서 VSS가 제대로 작동하도록 설정해야한다는 확실한 신호입니다 . 모두 .
Carson63000

1

잠재적 인 소스 손상 문제 (관리자가 소스를 대체하기에 충분한 논거)를 겪을뿐만 아니라 어색한 백업과 함께 다른 작업 스트림의 팀으로 효과적으로 작업 할 수 없어야합니다.

다른 SCM (다른 하나)을 찾아 분기 및 병합이 얼마나 쉬운 지 살펴보십시오. VSS 솔루션에서 파일을 복사하고 '제작'코드의 버그를 수정하기 위해 되돌아가는 동안 다른 곳에 보관해야 할 때를 생각해보십시오.

킥을하려면 GIT를 설치하십시오. VSS 파일을 가리키고 GASP 두 프로그래머가 같은 파일의 다른 부분에서 같은 시간에 작업 하는 것이 얼마나 쉬운 지 확인한 다음 소프트웨어가 변경 사항을 지능적으로 병합하도록하십시오 ... SCM 도구는 단순한 소스 백업 이상이어야합니다.


0

VSS에 대한 나의 견해? 오랫동안 정기적으로 사용했지만 (이전 구성 요소의 경우 때때로 사용됨) 우리 팀에게는 너무 XX 세기입니다.

  • 매우 신뢰할 수없는
  • 사용할 수없는 지점
  • 매우 나쁜 버전 관리 지원, 레이블이 있지만 분기와 마찬가지로 실제로 사용할 수는 없습니다.

나는 위의 모든 것을 가지고 있습니다 : 더 나은 오픈 소스 대안 중 하나 (오래된 CVS) 중 하나를 선택하거나 회사에 MSDN 구독이있는 경우 TFS를 선택하십시오 .


0
  • 기본 잠금은 개발자의 속도를 늦추고 있었고 아무도 설정을 망치고 싶지 않았습니다.
  • 프로젝트 관리 웹 애플리케이션과 같은 다른 서비스와 잘 통합되지 않습니다.
  • 계획된 CI 서버와 잘 작동하지 않았습니다.

새로운 2010 Team Foundation은 많은 도움이되었고 VSS의 나쁜 부분에서 벗어나려고했습니다. 그러나 핵심은 여전히 ​​VSS에 의존 하기 때문에 우리는 SVN으로 옮겼습니다.

편집 -나는 TFS가 완전히 새로운 것을 이해하지만 테스트 할 때 여러 개발자가 비슷한 느낌을 가졌습니다. 내가 '핵심'이라고 말한 이유는 VSS와 같은 모양의 솔루션에서 만든 TFS 파일을 보았 기 때문입니다. 이것은 VSS, TFS 또는 다른 SCM의 기술에 대해 알지 못하는 개발자의 관점에서 비롯된 것입니다. 혼란을 드려 죄송합니다.


뭐!?!? TFS는 VSS에 의존하지 않습니다
BlackICE

TFS는 처음부터 다시 작성되었습니다. 어떤 식 으로든 VSS에 의존하지 않습니다.
LeWoody

2
Visual Studio는 TFS 및 VSS에 동일한 SCC 플러그인 API를 사용합니다. 이 API는 당신이 VSS에서 변경할 때, VSS를 지원하고에 VSS의 느낌이 어떤 다른 소스 제어 서버가 VSS의 유령이 아직도 존재하는 경우로 느낄 것이다.
MatthewMartin

1
@LWoodyiii : 그렇다면 어떻게 그런 쓰레기 더미를 두 번 코딩하게 되었습니까? 최소한 VSS 소스 코드에서 주석을 읽었어야합니다.
Robert S Ciaccio

1
@CraigTP : 대부분의 개발자들은 TFS에 전혀 필요하지 않습니다. 작업을 어렵게 만드는 것은 소음입니다. PM과 리드가 모든 기능을 원한다면 개발자가 생산성을 높이기 위해 사용해야하는 소프트웨어와 분리해야합니다.
Robert S Ciaccio

0

그날 저는 XENIX에서 SCCS로 안장을 쳤습니다. Visual Studio 6에서 VSS는 모든 실패와 문제로 인해 뚜렷한 이점이있었습니다. 나는 여전히 소규모 프로젝트에 사용하며 더 이상 모든 버전에서 SCCS를 사용하지 않습니다.


0

왜 모두가 VSS를 악용하고 싶어하는지 알 수 없습니다. VSS는 배포되지 않으며 분산 버전 제어는

  1. ...보다 나은
  2. 실제로 비 분산 버전 제어 가능

이것을 읽으십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.