소스 통제 커밋의 노이즈 제거

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 읽기2분
  • 소스 제어 개발자는 시스템에서 자동으로 업데이트되는 필드에서 노이즈를 발생시키지 않고 Git 분기를 병합할 수 있습니다.

    개요

    에서 스튜디오소스 통제 기능은 애플리케이션 파일을 Git 리포지토리로 익스포트할 때 XML 페이로드로 패키징합니다. 사용자가 애플리케이션 개발 워크플로의 일부로 Git 리포지토리의 Git 분기를 병합하는 경우 사용자는 XML 파일의 충돌을 해결해야 합니다. 이러한 상충은 일반적으로 sys_updated_by와 같이 시스템에서 생성된 필드에 있으며 사용자가 생성하지 않은 변경 내용을 나타냅니다. 이 프로세스로 인해 노이즈가 더 많이 생성될 수 있으므로 사용자는 이러한 필드에서 상충을 해결할 때 주의해야 합니다.

    Saver Exempt 속성

    XML 페이로드의 노이즈를 제거하고, Git 분기가 병합될 때 사용자가 충돌을 해결할 수 있도록 지원하는 기능이 소스 제어에 추가되었습니다.

    기본적으로, 시스템은 값이 시스템에 의해 자동 생성되는 테이블의 특정 필드에 대해 saver_exempt 속성을 설정합니다. saver_exempt 속성에 대한 자세한 내용은 딕셔너리 속성을 참조하세요.

    다음 표에는 saver_exempt 값이 포함되어 있습니다.

    표 1. 보호기 면제 속성 테이블
    필드 시스템 테이블 saver_exempt 값 예상되는 결과
    • sys_updated_on
    • sys_updated_by
    • sys_mod_count
    • sys_metadata
    • sys_choice
    • sys_package
    • sys_app_customization
    • sys_claim
    • sys_package_dependency_m2m
    exempt_vcs_only 필드는 Git 커밋에 대한 애플리케이션을 패키징하는 동안 테이블에 대한 레코드의 해당 XML 표현에 기록되지 않습니다.
    Sys_id
    • sys_dictionary
    • sys_documentation
    • sys_choice
    exempt_vcs_only sys_id 필드는 Git 커밋에 대한 애플리케이션을 패키징하는 동안 세 테이블 레코드의 XML 표현으로 작성되지 않습니다.
    loader_exempt=예인 필드 exempt_always True로 설정된 필드loader_exempt 인스턴스에 로드되지 않습니다. Git 커밋에 대한 애플리케이션을 패키징하는 동안 테이블에 있는 레코드의 XML 표현에 기록되지 않습니다

    추적 속성 비활성화

    관리자는 glide.source_control.disable_tracking_of_update_fields 를 비활성화하여 필드에 사용자 생성 값이 표시되지 않도록 할 수 있습니다.

    주:
    다음 필드는 소스 제어 커밋 중에 XML에 기록되지 않으며 인스턴스의 해당 값은 Git 커밋에서 로드됩니다. 관리자가 시스템에서 이러한 필드를 XML에 쓰고 이러한 필드에 대해 시스템에서 생성된 값을 사용하도록 하려면 glide.source_control.disable_tracking_of_update_fields 속성을 False로 설정할 수 있습니다.

    다음 필드는 관리자가 보는 시스템 생성 값입니다.

    • sys_updated_by = 커밋 사용자
    • sys_updated_on = 커밋 시간
    • sys_mod_count = 0

    테이블의 sys_id 필드

    테이블의 sys_id 필드는 해당 "dictionary/<tablename>.xml"에 저장되므로 테이블을 만들 때를 제외하고 인스턴스에 설치하는 동안 다시 생성되지 않습니다. 그 결과 테이블의 sys_id 참조하거나 이 테이블의 sys_db_object 레코드를 나타내는 모든 XML 파일에서 노이즈가 줄어듭니다.