Pergunta

Estou correndo no Windows, com o cliente Windows P4, e o Git instalado via Cygwin. O cliente P4 anuncia como sua sintaxe é regular entre plataformas e tudo isso, de modo que isso deve ser bengal-diário.

Então, quando eu for para git-p4 clone --verbose //depot/path/to/source, ele lista todos os arquivos no repositório como se estivessem sendo checados, depois morre dizendo

Exceção: FAST-IMPORT Falha: Aviso: Não atualizando refs/remotos/p4/mestre (nova dica CD601B92DA8625C90AF05685E450E55B6D19C9E9 não contém 3A512C9408E3CBEEF 94C78DFD7115F812C9408E3CBEEF 94C78DFD711111111212C9408E3CBeef

e conclui com um grande bloco de "estatísticas Git-Fast-Import". Olhando para o erro: nova dica? Huh? O que precisa contê -lo?

O que me resta é um repo .git que é um par de megs (muito, muito menor que a árvore de origem completa seria). Alguma ideia?

Foi útil?

Solução

Eu tive um problema semelhante e geralmente posso ser atribuído ao invólucro em caminhos, nomes de ramificações etc. Não tenho certeza sobre o P4, mas garante que você não tenha uma filial mestre - ela deve ser mestre. Siga o mesmo regimento em geral. Além disso, evite nomes de diretórios e arquivos com espaços neles. Muitas ferramentas centradas no Git não gostam disso. Gitolite é um exemplo. Não permitirá um repositório que tenha um espaço nele.

Outras dicas

Semelhante à resposta aceita, tive o mesmo problema ao tentar sincronizar com um ramo Git no formulário:

git p4 sync --branch=feature/f1 //depot/path/to/code

O nome / no nome da filial parecia causar o mesmo aviso fracassado do Import Fast-mail enigmático. Infelizmente, o Git-P4 não parece suportar nomes padrão de ramificação Git-Flow.

Mudando para um ramo como esse funcionou:

git p4 sync --branch=f1 //depot/path/to/code

Você obtém "ignorando a revisão XYZ, pois produziria uma confirmação vazia" para que o primeiro CL fosse importado?

Nesse caso, você está acertando um bug no git-p4.py, onde limpa a configuração "InitialParent" (necessária para que o Git Fast-Import possa ingressar nas novas confirmações da importação anterior) antes de realmente comprometer qualquer coisa. O novo fluxo de arquivos importados é, portanto, deixado desconectado para o antigo.

Atualmente, estou trabalhando em torno disso usando -ChangesFile e trabalhando explicitamente qual a necessidade de CL para ser importada.

Eu tive problemas semelhantes. O que funcionou para mim foi atualizar o código Python Git-P4. Você pode dar uma olhada no commit aqui, mas espero que seja puxado em breve.

Eu também encontrei o erro "nova dica x não contém o erro Y" em execução rápida.

No meu caso, isso foi causado por um compromisso preexistente não relacionado no ramo principal do repo em que estava tentando importar. Eu tinha inicializado o repo com o cliente Github, que adicionou uma confirmação inicial (para adicionar um arquivo .gitignore). Presumivelmente, a ferramenta Fast-Import não pôde reconciliar os compromissos importados com o estado atual da filial, já que o compromisso da ferramenta do Github não tinha relação com as confirmações sendo importadas.

A solução para mim foi inicializar um repositório vazio com "git init" e depois executar o Import rápido.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top