hg push -r REV to Subversion does not only send that revision

Create issue
Issue #243 new
Matt Wagner created an issue

Running an "hg push -r REV" to a Subversion repo does not push only that revision, but any "un-pushed" revisions.

On a sidenote, this caught me a bit of flack today, as it pushed changes to the build server that weren't quite ready when I meant to only push a single fix.

Comments (4)

  1. Matt Wagner reporter

    Ah, I did some source code browsing and see this in 'wrapper.py'-

    def push(repo, dest, force, revs):
        """push revisions starting at a specified head back to Subversion.
        """
        assert not revs, 'designated revisions for push remains unimplemented.'
        cmdutil.bail_if_changed(repo)
        ui = repo.ui
        old_encoding = util.swap_out_encoding()
        # TODO: implement --rev/#rev support
    
  2. Matt Wagner reporter

    Based on the code, shouldn't this have thrown the error stating that it wasn't implemented rather than continuing?

  3. Ben Fritz

    With this issue combined with issue #382, is there ANY way to avoid pushing a changeset that isn't ready yet, short of importing to mq and popping anything that you don't want to push, every single time you need to do this?

  4. Augie Fackler repo owner

    Yes. 'hg push' with hgsubversion should imply 'push -r .', so check out the tip of the revision(s) you want to push, and then push.

  5. Log in to comment