feat(svn): add counting of untracked files; don't default to counting as "unmerged"

This commit is contained in:
Michael Carman 2022-12-25 13:12:09 -06:00 committed by Jan De Dobbeleer
parent 22f146e29e
commit d9f59272f2
2 changed files with 20 additions and 15 deletions

View file

@ -13,6 +13,8 @@ type SvnStatus struct {
func (s *SvnStatus) add(code string) {
switch code {
case "?":
s.Untracked++
case "C":
s.Conflicted++
case "D":
@ -21,10 +23,8 @@ func (s *SvnStatus) add(code string) {
s.Added++
case "M":
s.Modified++
case "R":
case "R", "!":
s.Moved++
default:
s.Unmerged++
}
}

View file

@ -58,13 +58,14 @@ func TestSvnTemplateString(t *testing.T) {
}{
{
Case: "Default template",
Expected: "\ue0a0trunk r2 +2 ~3 -7 >13 x5 !1",
Expected: "\ue0a0trunk r2 ?9 +2 ~3 -7 >13 x5 !1",
Template: " \ue0a0{{.Branch}} r{{.BaseRev}} {{.Working.String}} ",
Svn: &Svn{
Branch: "trunk",
BaseRev: 2,
Working: &SvnStatus{
ScmStatus: ScmStatus{
Untracked: 9,
Added: 2,
Conflicted: 1,
Deleted: 7,
@ -175,23 +176,27 @@ func TestSetSvnStatus(t *testing.T) {
{
Case: "changed",
StatusOutput: `
! Untracked.File
? Untracked.File
! Missing.File
A FileHasBeen.Added
D FileMarkedAs.Deleted
M Modified.File
C Conflicted.File
R Moved.File`,
ExpectedWorking: &SvnStatus{ScmStatus: ScmStatus{
Modified: 1,
Added: 1,
Deleted: 1,
Unmerged: 1,
Moved: 1,
Modified: 1,
Added: 1,
Deleted: 1,
Moved: 2,
Untracked: 1,
Conflicted: 1,
}},
RefOutput: "1133",
ExpectedRef: 1133,
BranchOutput: "^/trunk",
ExpectedBranch: "trunk",
ExpectedChanged: true,
RefOutput: "1133",
ExpectedRef: 1133,
BranchOutput: "^/trunk",
ExpectedBranch: "trunk",
ExpectedChanged: true,
ExpectedConflicts: true,
},
{
Case: "conflict",