Partilhar via


Função SccDiff

Esta função exibe (ou opcionalmente apenas verifica) as diferenças entre o arquivo atual (no disco local) e a sua última versão de check-in na fonte de sistema de controle.

SCCRTN SccDiff(
   LPVOID    pvContext,
   HWND      hWnd,
   LPCSTR    lpFileName,
   LONG      fOptions,
   LPCMDOPTS pvOptions
);

Parâmetros

  • pvContext
    [in] A estrutura de contexto de plug-in de controle de origem.

  • hWnd
    [in] Um identificador para a janela do IDE que o plug-in de controle de origem pode usar como um pai para as caixas de diálogo que ele fornece.

  • lpFileName
    [in] Nome de arquivo para o qual a diferença é solicitada.

  • fOptions
    [in] Sinalizadores de comando. Consulte os comentários para obter detalhes.

  • pvOptions
    [in] Opções de plug-in específico de controle de origem.

Valor de retorno

A implementação de plug-in de controle de origem dessa função deve retornar um dos seguintes valores:

Valor

Descrição

SCC_OK

A versão de servidor e de cópia de trabalho são idênticos.

SCC_I_FILESDIFFERS

A cópia de trabalho é diferente da versão sob controle de origem.

SCC_I_RELOADFILE

Um arquivo ou projeto precisa ser recarregado.

SCC_E_FILENOTCONTROLLED

O arquivo não está sob controle de origem.

SCC_E_NOTAUTHORIZED

O usuário não tem permissão para executar esta operação.

SCC_E_ACCESSFAILURE

Houve um problema ao acessar o sistema de controle de origem, provavelmente devido a problemas de rede ou contenção. Recomenda-se uma nova tentativa.

SCC_E_NONSPECIFICERROR

Falha não específica; a diferença de arquivo não foram obtida.

SCC_E_FILENOTEXIST

O arquivo local não foi encontrado.

Comentários

Esta função serve a dois propósitos diferentes. Por padrão, ele exibe uma lista das alterações em um arquivo. O plug-in de controle de origem abre sua própria janela, em qualquer formato que escolher, para exibir as diferenças entre a versão mais recente do arquivo sob controle de origem e de arquivo do usuário no disco.

Como alternativa, o IDE pode simplesmente precisar determinar se um arquivo foi alterado. Por exemplo, o IDE talvez precise determinar se ele é seguro fazer check-out de um arquivo sem informar ao usuário. Nesse caso, o IDE passa a SCC_DIFF_CONTENTS sinalizador. O plug-in de controle de origem deve verificar o arquivo no disco, byte por byte, o arquivo de origem controlada e retornar um valor que indica se os dois arquivos são diferentes, sem exibir nada para o usuário.

Como uma otimização de desempenho, o plug-in de controle de origem pode usar uma alternativa baseada em uma soma de verificação ou um carimbo de hora em vez da comparação byte por byte chamado para por SCC_DIFF_CONTENTS: esses formulários de comparação são, obviamente, mais rápido, mas é menos confiável. Nem todos os sistemas de controle de origem podem oferecer suporte a esses métodos alternativos de comparação e o plug-in talvez tenha que voltar a uma comparação de conteúdo. Controle de origem todos os plug-ins deve, no mínimo, suportar uma comparação de conteúdo.

Dica

Os sinalizadores de diferença rápido são mutuamente exclusivos.Ele é válido para passar sem sinalizadores, mas não é válido para simultaneamente passar mais de um.SCC_DIFF_QUICK_DIFF, que é uma máscara que combina todos os sinalizadores, pode ser usado para testar, mas nunca deve ser passado como um parâmetro.

fOption

Significado

SCC_DIFF_IGNORECASE

Comparação entre maiúsculas e minúsculas (pode ser usado para diferença rápida ou visual).

SCC_DIFF_IGNORESPACE

Ignora espaços em branco (pode ser usado para diferença rápida ou visual).

SCC_DIFF_QD_CONTENTS

Silenciosamente, compara o arquivo, byte por byte.

SCC_DIFF_QD_CHECKSUM

Silenciosamente, compara o arquivo por meio de uma soma de verificação quando suportado. Se não houver suporte, volta para uma comparação do conteúdo.

SCC_DIFF_QD_TIME

Silenciosamente, compara o arquivo por meio de seu carimbo de hora quando suportado. Se não houver suporte, volta para uma comparação do conteúdo.

Consulte também

Conceitos

Funções de API plug-in de controle de origem