Skip to content

Commit df0e455

Browse files
committed
SVN: Use counters instead of maps, and handle empty lines in checkUpdateNeeded #106
1 parent 927f584 commit df0e455

File tree

1 file changed

+19
-16
lines changed

1 file changed

+19
-16
lines changed

src/main/groovy/net/researchgate/release/SvnAdapter.groovy

+19-16
Original file line numberDiff line numberDiff line change
@@ -68,30 +68,30 @@ class SvnAdapter extends BaseScmAdapter {
6868
@Override
6969
void checkCommitNeeded() {
7070
String out = svnExec(['status'])
71-
def changes = []
72-
def unknown = []
71+
int changes = 0
72+
int unknown = 0
7373
out.eachLine { line ->
7474
line = line.trim()
7575
if (line.length() >= 2 && line.charAt(1) == ' ' as char) {
7676
switch (line.charAt(0)) {
7777
case '?':
7878
log.info('Unknown file: ' + line)
79-
unknown << line
79+
unknown++
8080
break
8181
case 'X': // ignore externals declaration
8282
break
8383
default:
8484
log.info('Changed file: ' + line)
85-
changes << line
85+
changes++
8686
break
8787
}
8888
}
8989
}
90-
if (changes) {
91-
warnOrThrow(extension.failOnCommitNeeded, "You have ${changes.size()} un-commited changes.")
90+
if (changes > 0) {
91+
warnOrThrow(extension.failOnCommitNeeded, "You have ${changes} un-commited changes.")
9292
}
93-
if (unknown) {
94-
warnOrThrow(extension.failOnUnversionedFiles, "You have ${unknown.size()} un-versioned files.")
93+
if (unknown > 0) {
94+
warnOrThrow(extension.failOnUnversionedFiles, "You have ${unknown} un-versioned files.")
9595
}
9696
}
9797

@@ -103,16 +103,19 @@ class SvnAdapter extends BaseScmAdapter {
103103
String svnRemoteRev = ''
104104

105105
String out = svnExec(['status', '-q', '-u'])
106-
def missing = []
106+
int missing = 0
107107
out.eachLine { line ->
108-
switch (line?.trim()?.charAt(0)) {
109-
case '*':
110-
missing << line
111-
break
112-
}
108+
line = line.trim()
109+
if (line.length() >= 2 && line.charAt(1) == ' ' as char) {
110+
switch (line.charAt(0)) {
111+
case '*':
112+
missing++
113+
break
114+
}
115+
}
113116
}
114-
if (missing) {
115-
warnOrThrow(extension.failOnUpdateNeeded, "You are missing ${missing.size()} changes.")
117+
if (missing > 0) {
118+
warnOrThrow(extension.failOnUpdateNeeded, "You are missing ${missing} changes.")
116119
}
117120

118121
out = svnExec(['info', svnUrl])

0 commit comments

Comments
 (0)