매뉴얼

IBugtraqProvider2 인터페이스

TortoiseSVN 1.6에는 플러그인을 위한 더 많은 기능을 제공하는 새로운 인터페이스가 추가되었습니다. 이 IBugtraqProvider2 인터페이스는 IBugtraqProvider에서 상속됩니다.

HRESULT GetCommitMessage2 (
  // Parent window for your provider's UI.
  [in] HWND hParentWnd,

  // Parameters for your provider.
  [in] BSTR parameters,
  // The common URL of the commit
  [in] BSTR commonURL,
  [in] BSTR commonRoot,
  [in] SAFEARRAY(BSTR) pathList,

  // The text already present in the commit message.
  // Your provider should include this text in the new message,
  // where appropriate.
  [in] BSTR originalMessage,

  // You can assign custom revision properties to a commit
  // by setting the next two params.
  // note: Both safearrays must be of the same length.
  //       For every property name there must be a property value!

  // The content of the bugID field (if shown)
  [in] BSTR bugID,

  // Modified content of the bugID field
  [out] BSTR * bugIDOut,

  // The list of revision property names.
  [out] SAFEARRAY(BSTR) * revPropNames,

  // The list of revision property values.
  [out] SAFEARRAY(BSTR) * revPropValues,

  // The new text for the commit message.
  // This replaces the original message
  [out, retval] BSTR * newMessage
);

이 메서드는 사용자가 플러그인 버튼을 클릭할 때 TortoiseSVN 커밋 대화상자에서 호출됩니다. 이 메서드는 GetCommitMessage() 대신 호출됩니다. GetCommitMessage 문서에서 해당 메서드에도 사용되는 매개변수를 참조하십시오.

매개변수 commonURL은 커밋 대화상자를 띄우기 위해 선택된 모든 항목의 부모 URL입니다. 이는 기본적으로 commonRoot 경로의 URL입니다.

매개변수 bugID는 버그 ID 필드의 내용(표시되는 경우, bugtraq:message 속성으로 구성됨)을 포함합니다.

반환 매개변수 bugIDOut은 메서드가 반환될 때 버그 ID 필드를 채우는 데 사용됩니다.

revPropNamesrevPropValues 반환 매개변수는 커밋이 설정해야 하는 리비전 속성에 대한 이름/값 쌍을 포함할 수 있습니다. 플러그인은 반환 시 두 배열이 동일한 크기를 가지도록 해야 합니다! revPropNames의 각 속성 이름은 revPropValues에도 해당 값을 가지고 있어야 합니다. 설정할 리비전 속성이 없으면 플러그인은 빈 배열을 반환해야 합니다.

HRESULT CheckCommit (
  [in] HWND hParentWnd,
  [in] BSTR parameters,
  [in] BSTR commonURL,
  [in] BSTR commonRoot,
  [in] SAFEARRAY(BSTR) pathList,
  [in] BSTR commitMessage,
  [out, retval] BSTR * errorMessage
);

이 메서드는 커밋 대화상자가 닫히고 커밋이 시작되기 직전에 호출됩니다. 플러그인은 이 메서드를 사용하여 커밋을 위한 선택된 파일/폴더 및/또는 사용자가 입력한 커밋 메시지를 검증할 수 있습니다. 매개변수는 GetCommitMessage2()와 동일하지만, commonURL은 이제 모든 체크된 항목의 공통 URL이고, commonRoot는 모든 체크된 항목의 루트 경로라는 차이가 있습니다.

브랜치/태그 대화상자의 경우, commonURL은 복사본의 소스 URL이고, commonRoot는 복사본의 대상 URL로 설정됩니다.

반환 매개변수 errorMessage는 TortoiseSVN이 사용자에게 보여줄 오류 메시지를 포함하거나, 커밋을 시작하려면 비어 있어야 합니다. 오류 메시지가 반환되면 TortoiseSVN은 대화상자에 오류 문자열을 표시하고 커밋 대화상자를 열어두어 사용자가 잘못된 부분을 수정할 수 있도록 합니다. 따라서 플러그인은 사용자에게 무엇이 잘못되었는지, 그리고 그것을 어떻게 수정해야 하는지를 알려주는 오류 문자열을 반환해야 합니다.

HRESULT  OnCommitFinished (
  // Parent window for any (error) UI that needs to be displayed.
  [in] HWND hParentWnd,

  // The common root of all paths that got committed.
  [in] BSTR commonRoot,

  // All the paths that got committed.
  [in] SAFEARRAY(BSTR) pathList,


  // The text already present in the commit message.
  [in] BSTR logMessage,

  // The revision of the commit.
  [in] ULONG revision,


  // An error to show to the user if this function
  // returns something else than S_OK
  [out, retval] BSTR * error
);

이 메서드는 커밋 성공 후에 호출됩니다. 플러그인은 이 메서드를 사용하여 예를 들어, 선택된 이슈를 닫거나, 커밋에 대한 정보를 이슈에 추가할 수 있습니다. 매개변수는 GetCommitMessage2와 동일합니다.

HRESULT HasOptions(
  // Whether the provider provides options
  [out, retval] VARIANT_BOOL *ret
);

이 메서드는 사용자가 플러그인을 구성할 수 있는 설정 대화상자에서 호출됩니다. 플러그인이 ShowOptionsDialog를 사용하여 자체 구성 대화상자를 제공하는 경우, 여기에서 TRUE를 반환해야 하며, 그렇지 않으면 FALSE를 반환해야 합니다.

HRESULT ShowOptionsDialog(
  // Parent window for the options dialog
  [in] HWND hParentWnd,

  // Parameters for your provider.
  [in] BSTR parameters,

  // The parameters string
  [out, retval] BSTR * newparameters
);

이 메서드는 HasOptions가 TRUE를 반환할 경우 표시되는 "옵션" 버튼을 사용자가 클릭할 때 설정 대화상자에서 호출됩니다. 플러그인은 사용자가 플러그인을 더 쉽게 구성할 수 있도록 옵션 대화상자를 표시할 수 있습니다.

parameters 문자열에는 이미 설정/입력된 플러그인 매개변수 문자열이 포함됩니다.

반환 매개변수 newparameters에는 플러그인이 자체 옵션 대화상자에서 수집한 정보로 구성한 매개변수 문자열이 포함되어야 합니다. 이 paramameters 문자열은 다른 모든 IBugtraqProvider 및 IBugtraqProvider2 메서드로 전달됩니다.

TortoiseSVN 홈페이지

한국어 中文