Pergunta

Eu tenho um clone de tamanho grande para pressionar o código do Google, e leva muito tempo para que a caixa de diálogo autenticada apareça após o empurrão ser acionado, assim como o TortoiseHG empurra os dados primeiro autentique os dados?

Foi útil?

Solução

Atualizar: O bug é agora fixo.

Editar por Durin42: Não é inteiramente fixo. Estamos próximos, mas ainda há algum trabalho para eu fazer antes que a reescrita esteja no padrão. Estamos tentando ser realmente conservadores com a mudança. (Status preciso a partir de janeiro de 2012, assista a notas de lançamento do Mercurial para mais atualizações.)


Tl; dr: httplib é essencialmente quebrado aqui, e isso causa esse problema hg. As pessoas estão trabalhando para consertar isso.

Este é um efeito colateral infeliz da maneira como o urllib e o httplib funcionam. O httplib/urllib não enviará preventivamente a autorização, o que é lamentável.

A boa notícia é que há um trabalho contínuo para corrigir isso, a má notícia é que parece que será essencialmente uma reescrita completa do httplib para fazer com que isso seja razoável. Em particular, o httplib é meio-duplex e não tem como espiar os pacotes de entrada (para detectar uma resposta antecipada); portanto, ele deve enviar uma solicitação antes de obter um prompt de autenticação do Digest (assumindo o uso da autenticação Digest, que é a melhor opção). Algumas implementações do servidor até fecham o soquete depois de enviar uma autorização 401 necessária, que na verdade quebra o httplib, aumentando completamente um erro de tubo quebrado. Enviei uma solução alternativa para o problema que está no HG 1.4, mas é apenas uma correção de anuidade do usuário, não uma solução de desempenho real.

Outras dicas

Espero que ele esteja reunindo uma lista de alterações do servidor para que saiba quais alterações locais não aparecem no servidor e, portanto, precisam ser transferidas. Basicamente o equivalente a hg outgoing. Somente depois de determinar os alterações para empurrar, ele precisa escrever qualquer coisa (e potencialmente não, se não houver diferenças), para que não seja autenticado até que realmente precise.

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