Beispiel #1
0
 def test_has_changes(self):
     tmp_repo = self._create_tmp_repo()
     self.assertFalse(git.has_changes(tmp_repo))
     new_files = self._create_tmp_files(tmp_repo)
     self.assertFalse(git.has_changes(tmp_repo))
     git.add(tmp_repo, new_files)
     self.assertTrue(git.has_changes(tmp_repo))
     git.commit(tmp_repo, 'nomsg\n', '.')
     self.assertFalse(git.has_changes(tmp_repo))
Beispiel #2
0
 def test_add(self):
     tmp_repo = self._create_tmp_repo()
     new_files = self._create_tmp_files(tmp_repo)
     git.add(tmp_repo, new_files)
     expected_status = [
         git_status(git_status_action.ADDED, f, None) for f in new_files
     ]
     actual_status = git.status(tmp_repo, '.')
     self.assertEqual(expected_status, actual_status)
Beispiel #3
0
 def test_tag_allow_downgrade_error(self):
     tmp_repo = self._create_tmp_repo()
     new_files = self._create_tmp_files(tmp_repo)
     git.add(tmp_repo, new_files)
     git.commit(tmp_repo, 'nomsg\n', '.')
     git.tag(tmp_repo, '1.0.100')
     self.assertEqual('1.0.100', git.greatest_local_tag(tmp_repo).name)
     with self.assertRaises(ValueError) as ctx:
         git.tag(tmp_repo, '1.0.99')
Beispiel #4
0
 def test_tag_allow_downgrade(self):
     tmp_repo = self._create_tmp_repo()
     new_files = self._create_tmp_files(tmp_repo)
     git.add(tmp_repo, new_files)
     git.commit(tmp_repo, 'nomsg\n', '.')
     git.tag(tmp_repo, '1.0.100')
     self.assertEqual('1.0.100', git.greatest_local_tag(tmp_repo).name)
     git.tag(tmp_repo, '1.0.99', allow_downgrade=True)
     self.assertEqual('1.0.100', git.greatest_local_tag(tmp_repo).name)
     self.assertEqual(['1.0.99', '1.0.100'],
                      git.list_local_tags(tmp_repo).names())
Beispiel #5
0
 def _apply_operation_copy(self, try_git):
     file_util.copy(self.src, self.dst)
     file_util.copy_mode(self.src, self.dst)
     if try_git:
         root_dir = git.find_root_dir(start_dir=path.dirname(self.dst))
         should_ignore = git.check_ignore(root_dir, self.src)
         if not should_ignore:
             try:
                 git.add(root_dir, [self.dst])
             except git_error as ex:
                 print(f'caught: {ex}')
Beispiel #6
0
 def test_archive_local_repo(self):
     tmp_repo = self._create_tmp_repo()
     new_files = self._create_tmp_files(tmp_repo)
     git.add(tmp_repo, new_files)
     git.commit(tmp_repo, 'nomsg\n', '.')
     tmp_archive = self.make_temp_file()
     git.archive(tmp_repo, 'master', 'foo', tmp_archive)
     self.assertEqual([
         'foo-master/',
         'foo-master/bar.txt',
         'foo-master/foo.txt',
     ], archiver.members(tmp_archive))
Beispiel #7
0
    def test_clone_or_pull(self):
        tmp_repo = self._create_tmp_repo()
        new_files = self._create_tmp_files(tmp_repo)
        git.add(tmp_repo, new_files)
        git.commit(tmp_repo, 'nomsg\n', '.')

        cloned_tmp_repo = self.make_temp_dir()
        git.clone(tmp_repo, cloned_tmp_repo)

        expected_cloned_files = [
            path.join(cloned_tmp_repo, path.basename(f)) for f in new_files
        ]

        for f in expected_cloned_files:
            self.assertTrue(path.exists(f))
Beispiel #8
0
 def test_archive_local_repo_untracked(self):
     tmp_repo = self._create_tmp_repo()
     new_files = self._create_tmp_files(tmp_repo)
     git.add(tmp_repo, new_files)
     git.commit(tmp_repo, 'nomsg\n', '.')
     file_util.save(path.join(tmp_repo, 'kiwi.txt'),
                    content='this is kiwi.txt\n')
     tmp_archive = self.make_temp_file()
     git.archive(tmp_repo, 'master', 'foo', tmp_archive, untracked=True)
     self.assertEqual([
         'foo-master/',
         'foo-master/bar.txt',
         'foo-master/foo.txt',
         'foo-master/kiwi.txt',
     ], archiver.members(tmp_archive))
Beispiel #9
0
    def test_read_gitignore(self):
        tmp_repo = self._create_tmp_repo()
        new_files = self._create_tmp_files(tmp_repo)
        git.add(tmp_repo, new_files)
        git.commit(tmp_repo, 'nomsg\n', '.')
        self.assertEqual(None, git.read_gitignore(tmp_repo))

        file_util.save(path.join(tmp_repo, '.gitignore'),
                       content='foo.txt\nbar.txt\nBUILD\n*~\n')
        git.add(tmp_repo, '.gitignore')
        git.commit(tmp_repo, 'add .gitignore\n', '.')
        self.assertEqual([
            'foo.txt',
            'bar.txt',
            'BUILD',
            '*~',
        ], git.read_gitignore(tmp_repo))
Beispiel #10
0
 def test_tag(self):
     tmp_repo = self._create_tmp_repo()
     new_files = self._create_tmp_files(tmp_repo)
     git.add(tmp_repo, new_files)
     git.commit(tmp_repo, 'nomsg\n', '.')
     git.tag(tmp_repo, '1.0.0')
     self.assertEqual(['1.0.0'], git.list_local_tags(tmp_repo).names())
     git.tag(tmp_repo, '1.0.1')
     self.assertEqual(['1.0.0', '1.0.1'],
                      git.list_local_tags(tmp_repo).names())
     git.tag(tmp_repo, '1.0.9')
     git.tag(tmp_repo, '1.0.10')
     self.assertEqual(['1.0.0', '1.0.1', '1.0.9', '1.0.10'],
                      git.list_local_tags(tmp_repo).names())
     self.assertEqual('1.0.10', git.greatest_local_tag(tmp_repo).name)
     self.assertEqual(['1.0.0', '1.0.1', '1.0.10', '1.0.9'],
                      git.list_local_tags(tmp_repo,
                                          sort_type='lexical').names())
     self.assertEqual(['1.0.10', '1.0.9', '1.0.1', '1.0.0'],
                      git.list_local_tags(tmp_repo, reverse=True).names())
Beispiel #11
0
 def test_delete_local_tag(self):
     tmp_repo = self._create_tmp_repo()
     new_files = self._create_tmp_files(tmp_repo)
     git.add(tmp_repo, new_files)
     git.commit(tmp_repo, 'nomsg\n', '.')
     git.tag(tmp_repo, '1.0.0')
     git.tag(tmp_repo, '1.0.1')
     git.tag(tmp_repo, '1.0.9')
     git.tag(tmp_repo, '1.0.10')
     self.assertEqual(['1.0.0', '1.0.1', '1.0.9', '1.0.10'],
                      git.list_local_tags(tmp_repo).names())
     git.delete_local_tag(tmp_repo, '1.0.9')
     self.assertEqual(['1.0.0', '1.0.1', '1.0.10'],
                      git.list_local_tags(tmp_repo).names())
     git.delete_local_tag(tmp_repo, '1.0.0')
     self.assertEqual(['1.0.1', '1.0.10'],
                      git.list_local_tags(tmp_repo).names())
     git.delete_local_tag(tmp_repo, '1.0.10')
     self.assertEqual(['1.0.1'], git.list_local_tags(tmp_repo).names())
     git.delete_local_tag(tmp_repo, '1.0.1')
     self.assertEqual([], git.list_local_tags(tmp_repo).names())
Beispiel #12
0
 def test_commit(self):
     tmp_repo = self._create_tmp_repo()
     new_files = self._create_tmp_files(tmp_repo)
     git.add(tmp_repo, new_files)
     git.commit(tmp_repo, 'nomsg\n', '.')