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

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

    노이즈 제거 개요

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

    Saver 면제 속성

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

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

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

    표 1. Saver 면제 속성 테이블
    필드 시스템 테이블 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=true인 필드 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 파일에서 노이즈가 줄어듭니다.