Пример #1
0
 def test_git_subdir_is_dirty_added_outside(self):
     makefile('added.txt', 'this will be added')
     self._git_add(['added.txt'])
     self.assertFalse(is_git_subdir_dirty(REPODIR, 'subdir'))
     self.assertTrue(is_git_dirty(REPODIR))
     self.assertTrue(is_git_staging_dirty(REPODIR))
     self.assertFalse(is_git_staging_dirty(REPODIR, 'subdir'))
Пример #2
0
 def test_git_subdir_is_dirty_modified_outside(self):
     with open(join(REPODIR, 'ignored_in_root.txt'), 'a') as f:
         f.write("\nmore content\n")
     self.assertFalse(is_git_subdir_dirty(REPODIR, 'subdir'))
     self.assertTrue(is_git_dirty(REPODIR))
     self.assertFalse(is_git_staging_dirty(REPODIR))
     self.assertFalse(is_git_staging_dirty(REPODIR, 'subdir'))
Пример #3
0
 def test_git_is_dirty_modified(self):
     with open(join(REPODIR, 'subdir/to_be_kept.txt'), 'a') as f:
         f.write("\nmore content\n")
     self.assertTrue(is_git_dirty(REPODIR))
     self.assertTrue(is_git_subdir_dirty(REPODIR, 'subdir'))
     self.assertFalse(is_git_staging_dirty(REPODIR))
     self.assertFalse(is_git_staging_dirty(REPODIR, 'subdir'))
 def test_commit_filename_with_spaces(self):
     """See issue #79 (https://github.com/data-workspaces/data-workspaces-core/issues/79)
     Files with spaces returned by git status --porcelain are in quotes!
     """
     os.mkdir(join(REPODIR, 'subdir'))
     makefile('subdir/to_be_deleted.txt', 'this file will be deleted')
     makefile('subdir/to_be_left_alone.txt', 'this file to be left alone')
     makefile('subdir/to be modified.txt', 'this file to be modified')
     makefile('root_file1.txt', 'this should not be changed')
     self._git_add([
         'subdir/to_be_deleted.txt', 'subdir/to_be_left_alone.txt',
         'subdir/to be modified.txt', 'root_file1.txt'
     ])
     self._run(['commit', '-m', 'initial version'])
     os.remove(join(REPODIR, 'subdir/to_be_deleted.txt'))
     with open(join(REPODIR, 'subdir/to be modified.txt'), 'a') as f:
         f.write("Adding another line to file!\n")
     makefile('subdir/to_be_added.txt', 'this file was added')
     commit_changes_in_repo_subdir(REPODIR,
                                   'subdir',
                                   'testing applied changes',
                                   verbose=True)
     self.assertFalse(is_git_dirty(REPODIR),
                      "Git still dirty after commit!")
     self.assert_file_exists('subdir/to_be_left_alone.txt')
     self.assert_file_exists('subdir/to be modified.txt')
     self.assert_file_exists('subdir/to_be_added.txt')
     self.assert_file_not_exists('subdir/to_be_deleted.txt')
     self.assert_file_exists('root_file1.txt')
     # verify that staged files outside of the subdir are not changed
     makefile('staged_but_not_committed.txt',
              'should be staged but not committed')
     self._git_add(['staged_but_not_committed.txt'])
     commit_changes_in_repo_subdir(REPODIR,
                                   'subdir',
                                   'testing not committing',
                                   verbose=True)
     self.assertFalse(is_git_subdir_dirty(REPODIR, 'subdir'))
     self.assertTrue(is_git_dirty(REPODIR))
     self.assertTrue(is_git_staging_dirty(REPODIR))
     self.assertFalse(is_git_staging_dirty(REPODIR, 'subdir'))
Пример #5
0
 def test_commit(self):
     os.mkdir(join(REPODIR, 'subdir'))
     makefile('subdir/to_be_deleted.txt', 'this file will be deleted')
     makefile('subdir/to_be_left_alone.txt', 'this file to be left alone')
     makefile('subdir/to_be_modified.txt', 'this file to be modified')
     makefile('root_file1.txt', 'this should not be changed')
     self._git_add([
         'subdir/to_be_deleted.txt', 'subdir/to_be_left_alone.txt',
         'subdir/to_be_modified.txt', 'root_file1.txt'
     ])
     self._run(['commit', '-m', 'initial version'])
     os.remove(join(REPODIR, 'subdir/to_be_deleted.txt'))
     with open(join(REPODIR, 'subdir/to_be_modified.txt'), 'a') as f:
         f.write("Adding another line to file!\n")
     makefile('subdir/to_be_added.txt', 'this file was added')
     commit_changes_in_repo_subdir(REPODIR,
                                   'subdir',
                                   'testing applied changes',
                                   verbose=True)
     self.assertFalse(is_git_dirty(REPODIR),
                      "Git still dirty after commit!")
     self.assert_file_exists('subdir/to_be_left_alone.txt')
     self.assert_file_exists('subdir/to_be_modified.txt')
     self.assert_file_exists('subdir/to_be_added.txt')
     self.assert_file_not_exists('subdir/to_be_deleted.txt')
     self.assert_file_exists('root_file1.txt')
     # verify that staged files outside of the subdir are not changed
     makefile('staged_but_not_committed.txt',
              'should be staged but not committed')
     self._git_add(['staged_but_not_committed.txt'])
     commit_changes_in_repo_subdir(REPODIR,
                                   'subdir',
                                   'testing not committing',
                                   verbose=True)
     self.assertFalse(is_git_subdir_dirty(REPODIR, 'subdir'))
     self.assertTrue(is_git_dirty(REPODIR))
     self.assertTrue(is_git_staging_dirty(REPODIR))
     self.assertFalse(is_git_staging_dirty(REPODIR, 'subdir'))
Пример #6
0
 def test_git_is_dirty_clean(self):
     self.assertFalse(is_git_dirty(REPODIR))
     self.assertFalse(is_git_subdir_dirty(REPODIR, 'subdir'))
     self.assertFalse(is_git_staging_dirty(REPODIR))
     self.assertFalse(is_git_staging_dirty(REPODIR, 'subdir'))
Пример #7
0
 def test_git_subdir_is_dirty_deleted_in_staging_outside(self):
     self._run(['rm', 'ignored_in_root.txt'])
     self.assertFalse(is_git_subdir_dirty(REPODIR, 'subdir'))
     self.assertTrue(is_git_dirty(REPODIR))
     self.assertTrue(is_git_staging_dirty(REPODIR))
     self.assertFalse(is_git_staging_dirty(REPODIR, 'subdir'))
Пример #8
0
 def test_git_subdir_is_dirty_deleted_outside(self):
     os.remove(join(REPODIR, 'ignored_in_root.txt'))
     self.assertFalse(is_git_subdir_dirty(REPODIR, 'subdir'))
     self.assertTrue(is_git_dirty(REPODIR))
     self.assertFalse(is_git_staging_dirty(REPODIR))
     self.assertFalse(is_git_staging_dirty(REPODIR, 'subdir'))
Пример #9
0
 def test_git_subdir_is_dirty_untracked_outside(self):
     makefile('untracked.txt', 'this is untracked')
     self.assertFalse(is_git_subdir_dirty(REPODIR, 'subdir'))
     self.assertTrue(is_git_dirty(REPODIR))
     self.assertFalse(is_git_staging_dirty(REPODIR))
     self.assertFalse(is_git_staging_dirty(REPODIR, 'subdir'))
Пример #10
0
 def test_git_is_dirty_deleted_in_staging(self):
     self._run(['rm', 'subdir/to_be_deleted.txt'])
     self.assertTrue(is_git_dirty(REPODIR))
     self.assertTrue(is_git_subdir_dirty(REPODIR, 'subdir'))
     self.assertTrue(is_git_staging_dirty(REPODIR))
     self.assertTrue(is_git_staging_dirty(REPODIR, 'subdir'))
Пример #11
0
 def test_git_is_dirty_deleted(self):
     os.remove(join(REPODIR, 'subdir/to_be_deleted.txt'))
     self.assertTrue(is_git_dirty(REPODIR))
     self.assertTrue(is_git_subdir_dirty(REPODIR, 'subdir'))
     self.assertFalse(is_git_staging_dirty(REPODIR))
     self.assertFalse(is_git_staging_dirty(REPODIR, 'subdir'))