2009-05-10 2 views
3

"파일 이름에 버전 번호 포함"을 기반으로하는 vcs에서 IBM v 전제 조건, 즉 분기 W 병합 기능을 제공하는 현대 vcs에 이르기까지 다양한 IBM 어셈블러 언어 프로그램을 마이그레이션하려고합니다.메인 프레임 시퀀스 번호를 무시할 수있는 현대적인 무료 D? VCS가 있습니까?

이 파일에는 80 열 레코드가 있으며, 마지막 8 열은 거의 의미없는 시퀀스 번호입니다.

들어가서 공간을 낭비하고 싶지 않은 여러 가지 이유 때문에 vcs가 시퀀스 번호 열을 무시 (잘 정의 된 방식으로 유지)하고 diff 및 패치해야합니다. 첫 번째 72 개 열의 내용 만 기반으로합니다.

아이디어가 있으십니까?


그냥 "무시하지만 보존"명확히 : 나는 아직 완전히 내 아이디어를 수집하지 않은 나는, 그것은 조금 모호 동의합니다.

그것은이는 다음과 같다 : 병합 할 때 한쪽 시퀀스 번호, 출력 할 수있는 경우

"/ 패치가 더욱보다 한쪽 시퀀스 번호가있는 경우, 그 존재를 사용 파일 (| 2 | 1 3) "


왜 시퀀스 번호를 유지하고 싶어

? 첫째, 그들은 실제로 시퀀스 번호입니다. 두 번째로,이 자료를 메인 프레임으로 다시 통합하고 싶습니다. 시퀀스 번호가 대단히 중요 할 수 있습니다. (당신의 사람들은 "SMP/E"수단이 이해 무엇을 알고있는 사람.하지 않는 사람들은 행복하지만, 떨게 ...) 난 그냥 깨달았다


내가 대답을 거절했다 . 어려운 선택이지만, @ 놀 돌린은 내가 가야만하는 곳에 가장 가깝다.

+0

당신은 무시하고 싶지만 시퀀스 번호는 보존하고 싶다고합니다. 미안하지만 그건 모순처럼 들린다. 리비전간에 순서 번호가 변경되면 어느 것이 보존되어야합니까? –

+0

'ignore'는 그가 시퀀스 번호를 diffing에서 제외해야한다는 것을 의미합니다. 그래도이 패치가 어떻게 작동하는지 이해하지 못합니다. – mooware

+0

좋아, 그럼 순서를 바꾸면 괜찮을거야, 그렇지? 우리는 항상 새 시퀀스 번호로 새 데크를 펀치했습니다. (예, "펀치 새 데크"라고했는데 카드를 사용 했으니까요.) –

답변

2

현대적인 버전 제어 시스템 (SubversionBazaar은 일반적으로 권장하는 것으로, 각각 centralised and distributed)은 외부 diff/병합 도구를 사용할 수 있습니다. 불행하게도이 사용자 지정 병합 도구를 직접 작성해야한다고 생각합니다. 적어도 필자가 필요로하는 것은 들어 본 적이 없습니다. 그러나 이것은 내가 상상하는 거대한 작업이 아니어야합니다. 그렇다면 this StackOverflow questionthis one에 나와있는 권장 사항에 대해 약간의 행운이있을 수 있습니다. 죄송합니다. 특별히 살펴보고 싶은 정보를 더 이상 제공 할 수는 없지만 요구 사항을 충족시킬 수있는 경우에 대비하여 찾아 볼 가치가 있습니다.

+0

"merge"부분에 대해서는 모르겠지만, 좋은 diff 도구를 쓰는 것은 사실 꽤 어렵습니다. –

3

의욕에서, 당신은 쉽게 열을 .ASM 파일의 73 엔드를 무시할 수 - 바로 다음 줄 당신의 .hgrc에 추가 : Windows를 지원하려는 경우

[encode] 
*.asm: cut -b -72 

(또는 약간 더 복잡한 방법을 시스템뿐만 아니라 ;-). 그러나 이것은 "ignore하지만 preserve"스펙의 "보존"부분을 충족시키지 못합니다 (Neil의 주석이 지적 하듯이 다소 문제가 있습니다).

1

"보존"의 의미가 여기에 핵심이라고 생각합니다. 시퀀스 번호가 "거의 의미가 없다"고 말할 때, "거의"는 시퀀스 외의 것을 포함합니까? Dreamtime에서 우리는 거기에 일종의 프로그램 흐름도를 인코딩하는 데 사용했습니다 (Brooks의 신화 맨 달 초판에서 예제를 찾을 수 있습니다).하지만 그 관행은 고맙게도 사라졌습니다.

순번 열의 유일한 의미가 숫자의 순서대로 나타나는 경우. 현대식 VC 도구의 스크립트에서 파일을 사전 처리 할 수있는 방법을 사용하여 유추 할 수 있습니다. 순차 번호를 자르고 파일을 추출 할 때 유사한 도구를 사용하여 레코드를 다시 순서 지정하십시오.

1

(공개 :이 답변에 설명 된 도구 공급 업체를 나타냅니다.)

원하는 것은 문자로 채운 사실에 관계없이 72-80 열의 내용이 "공백"이라는 것을 이해하는 diff 도구입니다.

Semantic Designs COBOL Smart Differencer에는 이것을 잘 이해하는 IBM Enterprise COBOL 변형이 있습니다.

SD는 다양한 언어에 대해 Smart Differencer를 만들고 IBM Assembler는 미래의 목표입니다. IBM Assembler의 Smart Differencer에 대한 토론이 필요하면 SD에 문의하십시오.