python / python/cpython

Unchanged lines detected as changes with difflib.HtmlDiff

Aberta
#137,548 3 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

stdlib type-bug
Linguagem predominante
Python
Estrelas
77.2k
Forks
36k
Métricas de merge de PRs
Métricas de PR pendentes

Descrição

Bug report

Bug description:

When running HtmlDiff on test_api_result.response.txt test_api_result.expected.txt (reported at https://github.com/jeffkaufman/icdiff/issues/223) unchanged lines are being detected as changes. Here's the setup:

import difflib
a = open("test_api_result.response.txt").readlines()
b = open("test_api_result.expected.txt").readlines()
with open("tmp.html", "w") as outf:
    outf.write(difflib.HtmlDiff().make_file(a,b))

And the results: https://www.jefftk.com/html-diff-output-repro

I don't see these spurious deltas when running diff:

$ diff test_api_result.*
31,32c31,32
<             'latitude': 1,
<             'longitude': 1,
---
>             'latitude': 1.0,
>             'longitude': 1.0,
40c40
<         'meeting_url': '',
---
>         'meeting_url': None,
77,78c77,78
<             'latitude': 1,
<             'longitude': 1,
---
>             'latitude': 1.0,
>             'longitude': 1.0,
86c86
<         'meeting_url': '',
---
>         'meeting_url': None,
...
CPython versions tested on:

3.13

Operating systems tested on:

macOS

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Comece reproduzindo o relatório com test_api_result.response.txt e test_api_result.expected.txt; em seguida, inspecione a saída do HtmlDiff na página de reprodução fornecida e compare-a com diff. O trabalho estará concluído quando as linhas inalteradas não forem mais marcadas como alterações, enquanto as diferenças reais permanecerem visíveis.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
python
Domínio
tooling
Tipo de issue
Bug
Dificuldade
3/5
Tempo estimado
1-2 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
45/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.