D2873: remotenames: add functionality to override -B flag of push
indygreg (Gregory Szorc)
phabricator at mercurial-scm.org
Fri Mar 23 14:56:05 EDT 2018
indygreg requested changes to this revision.
indygreg added a comment.
This revision now requires changes to proceed.
I'm happy with this feature.
But the code needs work around multiple revisions/heads before it can be queued.
INLINE COMMENTS
> remotenames.py:99
> + bookmark = pushop.bookmarks[0]
> + rev = pushop.revs[0]
> +
What happens if we're pushing multiple heads? I suspect this will choose a head/revision arbitrarily - maybe depending on the `-r` arguments to `hg push`.
I think we need to validate that the outgoing revs are in a single DAG head and we should then pick the rev that is the DAG head.
Please add test coverage for multiple `-r` arguments and `-r` arguments that resolve to multiple heads.
> remotenames.py:101
> +
> + # allow new bookmark only if --create is specified
> + old = ''
Nit: what is `--create`?
> remotenames.py:287
> extensions.wrapfunction(bookmarks, '_printbookmarks', wrapprintbookmarks)
> + exchange.pushdiscoverymapping['bookmarks'] = expushdiscoverybookmarks
>
Strictly speaking, we should probably wrap `exchange._pushdiscoverybookmarks` so other extensions can get involved. But I think this is fine.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D2873
To: pulkit, #hg-reviewers, indygreg
Cc: indygreg, mercurial-devel
More information about the Mercurial-devel
mailing list