1

保留中の変更リストがリストされている P4V のものとほとんど同じツリービューを作成する必要があります。

保留中の変更リストをツリービューに追加でき、使用する場合は子ノードを追加できGetFileName()ますが、ファイルが必要LocalPathで、試してみると"Object reference not set to an instance of object".

IList<Changelist> lista;
Options opcoes = new Options(ChangesCmdFlags.FullDescription, con.Cliente.Name, 100,     ChangeListStatus.Pending, con.Usuario);

lista = new List<Changelist>();
lista = con.Repositorio.GetChangelists(opcoes);

for (int i = 0; i < lista.Count; i++ )
{
   Changelist change = new Changelist();
   TreeNode node = new TreeNode();

   change = lista[i];
   change.initialize(con.conexao);

   node = tre.Nodes.Add(change.Id.ToString());
   FileSpec arquivoSpec = new FileSpec(new LocalPath(PathSpec.UnescapePath("")), Revision.Have);



   for (int arquivoAtual = 0; arquivoAtual < change.Files.Count; arquivoAtual++)
   {
       node.Nodes.Add(change.Files[arquivoAtual].LocalPath.Path);
   }

}

どんな助けでも大歓迎です。

4

1 に答える 1

0

GetFileMetaDataOptions() の「byChangelist」を保留中の変更に設定し、「GetFileMetaDataCmdFlag」を「Opened」および「LocalPath」に設定して、Repository.GetFileMetaData() を使用することをお勧めします。関連するドキュメントへのリンクは次のとおりです。

http://www.perforce.com/perforce/doc.current/manuals/p4api.net/p4api.net_reference/html/M_Perforce_P4_Repository_GetFileMetaData_1.htm

http://www.perforce.com/perforce/doc.current/manuals/p4api.net/p4api.net_reference/html/M_Perforce_P4_GetFileMetaDataCmdOptions__ctor.htm

あなたが呼び出しているメソッドは、ローカル パスを取得しない 'p4 describe' を呼び出していると思われます。GetFileMetaData() は「p4 fstat」を呼び出します。

于 2014-01-15T05:47:37.290 に答える