MCPcopy
hub / github.com/git-lfs/git-lfs / TestGetFilesChanges

Function TestGetFilesChanges

git/git_test.go:678–742  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

676}
677
678func TestGetFilesChanges(t *testing.T) {
679 repo := test.NewRepo(t)
680 repo.Pushd()
681 defer func() {
682 repo.Popd()
683 repo.Cleanup()
684 }()
685
686 commits := repo.AddCommits([]*test.CommitInput{
687 {
688 Files: []*test.FileInput{
689 {Filename: "file1.txt", Size: 20},
690 },
691 },
692 {
693 Files: []*test.FileInput{
694 {Filename: "file1.txt", Size: 25},
695 {Filename: "file2.txt", Size: 20},
696 {Filename: "folder/file3.txt", Size: 10},
697 },
698 Tags: []string{"tag1"},
699 },
700 {
701 NewBranch: "abranch",
702 ParentBranches: []string{"master"},
703 Files: []*test.FileInput{
704 {Filename: "file1.txt", Size: 30},
705 {Filename: "file4.txt", Size: 40},
706 },
707 },
708 })
709
710 expected0to1 := []string{"file1.txt", "file2.txt", "folder/file3.txt"}
711 expected1to2 := []string{"file1.txt", "file4.txt"}
712 expected0to2 := []string{"file1.txt", "file2.txt", "file4.txt", "folder/file3.txt"}
713 // Test 2 SHAs
714 changes, err := GetFilesChanged(commits[0].Sha, commits[1].Sha)
715 assert.Nil(t, err)
716 assert.Equal(t, expected0to1, changes)
717 // Test SHA & tag
718 changes, err = GetFilesChanged(commits[0].Sha, "tag1")
719 assert.Nil(t, err)
720 assert.Equal(t, expected0to1, changes)
721 // Test SHA & branch
722 changes, err = GetFilesChanged(commits[0].Sha, "abranch")
723 assert.Nil(t, err)
724 assert.Equal(t, expected0to2, changes)
725 // Test tag & branch
726 changes, err = GetFilesChanged("tag1", "abranch")
727 assert.Nil(t, err)
728 assert.Equal(t, expected1to2, changes)
729 // Test fail
730 _, err = GetFilesChanged("tag1", "nonexisting")
731 assert.NotNil(t, err)
732 _, err = GetFilesChanged("nonexisting", "tag1")
733 assert.NotNil(t, err)
734 // Test Single arg version
735 changes, err = GetFilesChanged(commits[1].Sha, "")

Callers

nothing calls this directly

Calls 6

PushdMethod · 0.95
PopdMethod · 0.95
CleanupMethod · 0.95
AddCommitsMethod · 0.95
GetFilesChangedFunction · 0.85
EqualMethod · 0.45

Tested by

no test coverage detected