diff --git a/hgext/fix.py b/hgext/fix.py index 15a98880cc07c59c053201f6ecfbcabcdd94614e_aGdleHQvZml4LnB5..136a86327316dd511dfa609bc3e6e76cee5e82e6_aGdleHQvZml4LnB5 100644 --- a/hgext/fix.py +++ b/hgext/fix.py @@ -417,7 +417,7 @@ revs = repo.revs(b'(not public() and not obsolete()) or wdir()') elif opts[b'source']: source_revs = scmutil.revrange(repo, opts[b'source']) - revs = set(repo.revs(b'%ld::', source_revs)) + revs = set(repo.revs(b'(%ld::) - obsolete()', source_revs)) if wdirrev in source_revs: # `wdir()::` is currently empty, so manually add wdir revs.add(wdirrev) diff --git a/tests/test-fix-topology.t b/tests/test-fix-topology.t index 15a98880cc07c59c053201f6ecfbcabcdd94614e_dGVzdHMvdGVzdC1maXgtdG9wb2xvZ3kudA==..136a86327316dd511dfa609bc3e6e76cee5e82e6_dGVzdHMvdGVzdC1maXgtdG9wb2xvZ3kudA== 100644 --- a/tests/test-fix-topology.t +++ b/tests/test-fix-topology.t @@ -390,6 +390,4 @@ o 0 A $ hg fix -s A - abort: fixing obsolete revision could cause divergence - [255] $ hg fix -s B @@ -395,4 +393,5 @@ $ hg fix -s B - abort: fixing obsolete revision could cause divergence + abort: no changesets specified + (use --source or --working-dir) [255] $ hg fix -s D @@ -397,7 +396,5 @@ [255] $ hg fix -s D - abort: fixing obsolete revision could cause divergence - [255] $ hg fix -s E $ cd ..