示例#1
0
    def test_unstaged_no_files(self):
        self._raw_git_clone(
            type(self)._repos_dir,
            type(self)._origin_repo, 'master', 'test-clone')
        base_dir = _os.path.join(type(self)._repos_dir, 'test-clone')

        git = GitWrapper(base_dir)
        self.assertItemsEqual(git.get_unstaged_files(), [])
        return
示例#2
0
    def _exec_status(self):
        if not self._is_client_initialized():
            raise CommandHandlerError(
                'Error: Uninitialized client, ' +
                'please run init to initialize the client first')

        # Parse the manifest XML
        self._parse_manifest_xml()

        # Get the client spec name from client info
        client = self._get_client_spec(self._get_client_info())

        # Process each repo in the Client Spec
        for repo in client.repo_list:
            git = GitWrapper(
                _os.path.join(self._current_dir,
                              repo.destination))
            Logger.msg('####################################################')
            Logger.msg('Repo: ' + repo.destination)
            Logger.msg('Remote URL: ' + repo.url)
            git.update_index()
            current_branch = git.get_current_branch()
            dirty = False

            if current_branch is None:
                current_branch = 'Detached HEAD'

            if current_branch != repo.branch:
                Logger.msg('Original Branch: ' + repo.branch)
                Logger.msg('Current Branch: ' + current_branch + '\n')
            else:
                Logger.msg('Branch: ' + repo.branch + '\n')

            untracked_files = git.get_untracked_files()
            if len(untracked_files) != 0:
                Logger.msg(
                    'Untracked Files: \n' + '\n'.join(untracked_files) + '\n')
                dirty = True

            unstaged_files = git.get_unstaged_files()
            if len(unstaged_files) != 0:
                Logger.msg(
                    'Unstaged Files: \n' + '\n'.join(unstaged_files) + '\n')
                dirty = True

            uncommitted_staged_files = git.get_uncommitted_staged_files()
            if len(uncommitted_staged_files) != 0:
                Logger.msg('Uncommitted Changes: \n' +
                           '\n'.join(uncommitted_staged_files) + '\n')
                dirty = True

            if not dirty:
                Logger.msg('No uncommitted changes')
        Logger.msg('####################################################')
        return
示例#3
0
    def _exec_status(self):
        if not self._is_client_initialized():
            raise CommandHandlerError(
                'Error: Uninitialized client, ' +
                'please run init to initialize the client first')

        # Parse the manifest XML
        self._parse_manifest_xml()

        # Get the client spec name from client info
        client = self._get_client_spec(self._get_client_info())

        # Process each repo in the Client Spec
        for repo in client.repo_list:
            git = GitWrapper(_os.path.join(self._current_dir,
                                           repo.destination))
            Logger.msg('####################################################')
            Logger.msg('Repo: ' + repo.destination)
            Logger.msg('Remote URL: ' + repo.url)
            git.update_index()
            current_branch = git.get_current_branch()
            dirty = False

            if current_branch is None:
                current_branch = 'Detached HEAD'

            if current_branch != repo.branch:
                Logger.msg('Original Branch: ' + repo.branch)
                Logger.msg('Current Branch: ' + current_branch + '\n')
            else:
                Logger.msg('Branch: ' + repo.branch + '\n')

            untracked_files = git.get_untracked_files()
            if len(untracked_files) != 0:
                Logger.msg('Untracked Files: \n' + '\n'.join(untracked_files) +
                           '\n')
                dirty = True

            unstaged_files = git.get_unstaged_files()
            if len(unstaged_files) != 0:
                Logger.msg('Unstaged Files: \n' + '\n'.join(unstaged_files) +
                           '\n')
                dirty = True

            uncommitted_staged_files = git.get_uncommitted_staged_files()
            if len(uncommitted_staged_files) != 0:
                Logger.msg('Uncommitted Changes: \n' +
                           '\n'.join(uncommitted_staged_files) + '\n')
                dirty = True

            if not dirty:
                Logger.msg('No uncommitted changes')
        Logger.msg('####################################################')
        return
示例#4
0
    def test_unstaged_no_files(self):
        self._raw_git_clone(
            type(self)._repos_dir,
            type(self)._origin_repo,
            'master',
            'test-clone')
        base_dir = _os.path.join(type(self)._repos_dir, 'test-clone')

        git = GitWrapper(base_dir)
        self.assertItemsEqual(git.get_unstaged_files(), [])
        return
示例#5
0
    def test_unstaged_with_files(self):
        self._raw_git_clone(
            type(self)._repos_dir,
            type(self)._origin_repo, 'master', 'test-clone')
        base_dir = _os.path.join(type(self)._repos_dir, 'test-clone')
        ShellHelper.append_text_to_file('Modifying existing file...', 'README',
                                        base_dir)
        ShellHelper.remove_file(_os.path.join(base_dir, 'dummy'))

        git = GitWrapper(base_dir)
        self.assertItemsEqual(git.get_unstaged_files(),
                              ['M\tREADME', 'D\tdummy'])

        return
示例#6
0
    def test_unstaged_with_files(self):
        self._raw_git_clone(
            type(self)._repos_dir,
            type(self)._origin_repo,
            'master',
            'test-clone')
        base_dir = _os.path.join(type(self)._repos_dir, 'test-clone')
        ShellHelper.append_text_to_file(
            'Modifying existing file...',
            'README',
            base_dir)
        ShellHelper.remove_file(_os.path.join(base_dir, 'dummy'))

        git = GitWrapper(base_dir)
        self.assertItemsEqual(git.get_unstaged_files(),
                              ['M\tREADME', 'D\tdummy'])

        return