Ejemplo n.º 1
0
    def test_fetch(self):
        g = Git(GitOpt(), cwd=superp)

        g.fetch(wowgitp)
        hsh = g.cmdf('log', '-n1', '--format=%H', 'FETCH_HEAD', flag='0')

        self.assertEqual('6bf37e52cbafcf55ff4710bb2b63309b55bf8e54', hsh)
Ejemplo n.º 2
0
    def test_reset_to_commit(self):
        #  * 1315e30 (b2) add b2
        #  | * d1ec654 (base) add base
        #  |/
        #  * 3d7f424 (HEAD -> master, upstream/master, origin/master, dev) a

        fwrite(branch_test_worktree_p, ".git", "gitdir: ../branch_test_git")

        g = Git(GitOpt(), cwd=branch_test_worktree_p)

        g.cmdf("checkout", 'b2')

        # build index
        fwrite(branch_test_worktree_p, "x", "x")
        g.cmdf('add', 'x')
        fwrite(branch_test_worktree_p, "y", "y")
        g.cmdf('add', 'y')

        # dirty worktree
        fwrite(branch_test_worktree_p, "x", "xx")

        # soft default to HEAD, nothing changed

        g.reset_to_commit('soft')

        out = g.cmdf('diff', '--name-only', '--relative', flag='xo')
        self.assertEqual([
            'x',
        ], out, "dirty worktree")

        out = g.cmdf('diff', '--name-only', '--relative', 'HEAD', flag='xo')
        self.assertEqual(['x', 'y'], out, "compare with HEAD")

        # soft to master

        g.reset_to_commit('soft', 'master')

        out = g.cmdf('diff', '--name-only', '--relative', flag='xo')
        self.assertEqual([
            'x',
        ], out, "dirty worktree")

        out = g.cmdf('diff', '--name-only', '--relative', 'HEAD', flag='xo')
        self.assertEqual([
            'b2',
            'x',
            'y',
        ], out, "compare with HEAD")

        # hard to master

        g.reset_to_commit('hard', 'master')

        out = g.cmdf('diff', '--name-only', '--relative', 'HEAD', flag='xo')
        self.assertEqual([], out, "compare with HEAD")