Legacy - 소스 통제 커밋의 노이즈 제거
소스 통제 개발자는 시스템에서 자동 업데이트되는 필드에서 노이즈를 가져오지 않고 Git 분기를 병합할 수 있습니다.
대신 현재 버전의 ServiceNow 스튜디오 앱에서 앱을 빌드하고 편집해 보십시오. 자세한 내용은 ServiceNow 스튜디오 문서를 참조하십시오.
노이즈 제거 개요
에서 스튜디오소스 통제 기능은 애플리케이션 파일을 Git 리포지토리로 내보낼 때 XML 페이로드로 패키지화합니다. 사용자가 애플리케이션 개발 워크플로의 일부로 Git 리포지토리의 Git 분기를 병합하는 경우 사용자는 XML 파일의 충돌을 해결해야 합니다. 이러한 상충은 일반적으로 sys_updated_by처럼 시스템에서 생성되는 필드에 발생하며 사용자가 아닌 방식으로 생성된 변경 내용을 나타냅니다. 이 과정에서 노이즈가 더 많이 발생할 수 있으므로 사용자가 이러한 필드에서 상충을 해결할 때 주의해야 합니다.
Saver 면제 속성
Git 분기가 병합될 때 사용자가 충돌을 해결하는 데 도움이 되도록 XML 페이로드의 노이즈를 제거하는 기능이 소스 통제에 추가되었습니다.
기본적으로 시스템은 시스템에서 값을 자동으로 생성하는 테이블의 특정 필드에 대한 saver_exempt 속성을 설정합니다. saver_exempt 속성에 대한 자세한 내용은 딕셔너리 속성을 참조하십시오.
다음 표에는 saver_exempt 값이 포함되어 있습니다.
| 필드 | 시스템 테이블 | saver_exempt 값 | 예상 결과 |
|---|---|---|---|
|
|
exempt_vcs_only | Git 커밋에 대한 애플리케이션을 패키징하는 동안 필드는 테이블에 대한 기록의 해당 XML 표현에 기록되지 않습니다. |
| Sys_id |
|
exempt_vcs_only | sys_id 필드는 Git 커밋에 대한 애플리케이션을 패키징하는 동안 세 테이블 레코드의 XML 표현으로 작성되지 않습니다. |
| loader_exempt=true인 필드 | exempt_always | True로 설정된 필드loader_exempt 인스턴스에 로드되지 않습니다. Git 커밋에 대한 애플리케이션을 패키징하는 동안 테이블에 있는 기록의 XML 표현에 기록되지 않습니다 |
추적 속성 비활성화
관리자는 필드에 사용자가 생성한 값이 표시되지 않도록 glide.source_control.disable_tracking_of_update_fields 를 비활성화할 수 있습니다.
glide.source_control.disable_tracking_of_update_fields 속성을 False로 설정할 수 있습니다.다음 필드는 관리자가 볼 수 있는 시스템에서 생성된 값입니다.
- sys_updated_by = 사용자 커밋
- sys_updated_on = 커밋 시간
- sys_mod_count = 0
테이블의 sys_id 필드
테이블의 sys_id 필드는 해당 "딕셔너리/<tablename>.xml"에 저장되므로 테이블이 생성될 때를 제외하고는 인스턴스에 설치하는 동안 재생성되지 않습니다. 그 결과 테이블의 sys_id를 참조하거나 이 테이블의 sys_db_object 레코드를 나타내는 모든 XML 파일에서 노이즈가 감소합니다.