view tests/test-pull.py @ 122:e05b0cf920bb

client: implement the 'in' keyword for a client object Check if a revision number or a changeset hex matches a changeset in the client repository. The internal tries to create a ctx object. Returns False If the ctx creation fails. This patch also adds the corresponding tests.
author Paul Tonelli <paul.tonelli@logilab.fr>
date Wed, 30 Apr 2014 16:44:59 +0200
parents 238efe4fd7db
children 4359cabcb0cc
line wrap: on
line source

import common, hglib

class test_pull(common.basetest):
    def test_basic(self):
        self.append('a', 'a')
        self.client.commit('first', addremove=True)

        self.client.clone(dest='other')
        other = hglib.open('other')

        self.append('a', 'a')
        self.client.commit('second')

        self.assertTrue(other.pull())
        self.assertEquals(self.client.log(), other.log())

    def test_unresolved(self):
        self.append('a', 'a')
        self.client.commit('first', addremove=True)

        self.client.clone(dest='other')
        other = hglib.open('other')

        self.append('a', 'a')
        self.client.commit('second')

        self.append('other/a', 'b')
        self.assertFalse(other.pull(update=True))
        self.assertTrue(('M', 'a') in other.status())