Incoming sees obsolete local csets

Matt Harbison mharbison72 at gmail.com
Tue May 24 01:46:25 UTC 2016


I don't know the exact steps for getting into this situation, but it isn't  
the first time this happened.  I started with hg 3.7.3, and evolve  
91b6a30424a3 (just prior to 5.2.1).  Upgrading both to current stable  
didn't help.

I had been committing and pushing to a central server on both my  
development machine, and a machine in the lab.  I then did a quick `hg  
serve` on my development machine and pulled it over to a secondary Linux  
box.  I think everything on the central server was now on the secondary  
machine.  There, I amended something 20 or so commits back on the  
secondary machine, evolved and tried pushing back to the central server.

At first, the push refused because it would create another remote head.  I  
had a couple of anonymous heads, so this was the correct error.  But I had  
forgotten, so my first check was to see if there was incoming from the  
central server:

[mharbison at macpro64 src]$ hg in -G -T "{rev}:{node|short}\n"
comparing with https://vcs.attotech.com/scm/hg/users/mharbison/15018
searching for changes
x  192:bbd90af37865
|
x  191:4e3371d3bea5
|
x  190:7fba271c4af8
|
x  189:47139fc98f20
|
x  188:4b4d6bb30907
|
x  187:956774b0ee11
|
x  186:b714ea5c27fa
|
| x  185:139fe690394c
| |
x |  184:ab610140bd30
| |
x |  183:5f8f5e1cb8eb
| |
x |  182:5860c3e9a771
| |
x |  181:97ad9b58fd68
| |
x |  180:2b80c90c29e2
  /
| x  179:0b18f3b24ae2
|/
x  178:91548d77b110
|
x  177:104ba007f6fd

x  134:868a008e90d4


I didn't use the custom template the first time, so all I saw was a pile  
of incoming.  But `hg pull` had other ideas:

[mharbison at macpro64 src]$ hg pull
pulling from https://vcs.attotech.com/scm/hg/users/mharbison/15018
searching for changes
no changes found

I know obsolete csets aren't currently exchanged, so it seems incoming  
needs to be a bit smarter?  The odd thing is, these changesets *are*  
already local, so they aren't incoming at all:

[mharbison at macpro64 src]$ hg log -r bbd90af37865
abort: hidden revision 'bbd90af37865'!
(use --hidden to access hidden revisions)


The output of `hg incoming` remains unchanged after the pull attempt.  I  
found out later that this is fixed by pushing the successors to the  
central server I was trying to pull from.  Because of the anonymous heads,  
I had to force push.  Not sure if that would have been necessary otherwise.

Is this a bug, or am I missing something?


More information about the Evolve-testers mailing list