obshistory: omit duplicate notes of obsolescence operations
When folding changesets, it's possible to provide a --note flag to e.g. fold or
prune, which will store a note for that operation. But since there would be
more than one marker for the fold operation and the provided note would be
stored in all of them, _markersnotes() previously would return the same text
message many times. We don't really want to see the same thing over and over,
so let's make notes a set().
This will also make unrelated operations with the same note show the message
only once, which is probably an improvement too.
testing topic with shelve extension
------------------------------------
$ . "$TESTDIR/testlib/topic_setup.sh"
$ hg init repo
$ cd repo
$ cat <<EOF >>.hg/hgrc
> [extensions]
> shelve=
> EOF
$ touch a
$ echo "Hello" >> a
$ hg topic "testing-shelve"
marked working directory as topic: testing-shelve
$ hg topic
* testing-shelve (0 changesets)
$ hg ci -m "First commit" -A
adding a
active topic 'testing-shelve' grew its first changeset
(see 'hg help topics' for more information)
$ hg topic
* testing-shelve (1 changesets)
$ echo " World" >> a
$ hg stack
### topic: testing-shelve
### target: default (branch)
s1@ First commit (current)
shelve test
-----------
$ hg shelve
shelved as default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg topic
* testing-shelve (1 changesets)
$ hg stack
### topic: testing-shelve
### target: default (branch)
s1@ First commit (current)
unshelve test
-------------
$ hg unshelve
unshelving change 'default'
$ hg topic
* testing-shelve (1 changesets)
$ hg stack
### topic: testing-shelve
### target: default (branch)
s1@ First commit (current)