Subversion Repositories DevTools

Rev

Rev 171 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 171 Rev 183
Line 155... Line 155...
155
               // Subversion TAG validation
155
               // Subversion TAG validation
156
               var SVNTagValidCharsRE = /^[0-9a-z_\.\-\/\@]+$/i;
156
               var SVNTagValidCharsRE = /^[0-9a-z_\.\-\/\@]+$/i;
157
               var SVNTagInValidTrunkAnywhereRE = /\/trunk\//i;
157
               var SVNTagInValidTrunkAnywhereRE = /\/trunk\//i;
158
               var SVNTagInValidAt = /@[0-9]*[^0-9$]+/i;
158
               var SVNTagInValidAt = /@[0-9]*[^0-9$]+/i;
159
               var SVNTagInValidSlashAtBOL = /^\/.*$/i;
159
               var SVNTagInValidSlashAtBOL = /^\/.*$/i;
160
               var SVNTagInValidTrunkRE = /\/trunk[^@$]+/i;
160
               var SVNTagInValidTrunkRE = /\/trunk[^@]+/i;
161
               var SVNTagInValidSlashAt = /\/@/i;
161
               var SVNTagInValidSlashAt = /\/@/i;
162
               var SVNTagInValidAtSlash = /@\//i;
162
               var SVNTagInValidAtSlash = /@\//i;
163
               var SVNTagInValidSlash = /^.*\/\/.*$/i;
163
               var SVNTagInValidSlash = /^.*\/\/.*$/i;
164
               var SVNTagValidTagAnywhereRE = /^.*\/tags\/.*$/i;
164
               var SVNTagValidTagAnywhereRE = /^.*\/tags\/.*$/i;
165
               var SVNTagValidBranchAnywhereRE = /^.*\/branches\/.*$/i;
165
               var SVNTagValidBranchAnywhereRE = /^.*\/branches\/.*$/i;
166
               var SVNTagValidTrunkEOLRE = /^.*\/trunk$/i;
-
 
167
               var SVNTagValidTrunkAtNumberRE = /^.*\/trunk@[0-9]+$/i;
166
               var SVNTagValidTrunkAtNumberRE = /^.*\/trunk@[0-9]+$/i;
168
 
167
 
169
               if (val.search(SVNTagValidCharsRE) < 0)
168
               if (val.search(SVNTagValidCharsRE) < 0)
170
                  errors += val += ' - '+nm+' uses invalid character. Allowed characters are / A-Z a-z 0-9 . - _ @\n';
169
                  errors += val += ' - '+nm+' uses invalid character. Allowed characters are / A-Z a-z 0-9 . - _ @\n';
171
               else {
170
               else {
Line 177... Line 176...
177
                     else {
176
                     else {
178
                        if (val.search(SVNTagInValidSlashAtBOL) >= 0)
177
                        if (val.search(SVNTagInValidSlashAtBOL) >= 0)
179
                           errors += val += ' - '+nm+' begins with a /. This is not allowed.\n';
178
                           errors += val += ' - '+nm+' begins with a /. This is not allowed.\n';
180
                        else {
179
                        else {
181
                           if (val.search(SVNTagInValidTrunkRE) >= 0)
180
                           if (val.search(SVNTagInValidTrunkRE) >= 0)
182
                              errors += val += ' - '+nm+' contains invlaid /trunk. This must be followed by an @<number>, or the end of the line.\n';
181
                              errors += val += ' - '+nm+' contains invalid /trunk. This must be followed by an @<number>.\n';
183
                           else {
182
                           else {
184
                              if ((val.search(SVNTagInValidSlashAt) >= 0) || (val.search(SVNTagInValidAtSlash) >= 0))
183
                              if ((val.search(SVNTagInValidSlashAt) >= 0) || (val.search(SVNTagInValidAtSlash) >= 0))
185
                                 errors += val += ' - '+nm+' contains /@ or @/. This is not allowed.\n';
184
                                 errors += val += ' - '+nm+' contains /@ or @/. This is not allowed.\n';
186
                              else {
185
                              else {
187
                                 if (val.search(SVNTagInValidSlash) >= 0)
186
                                 if (val.search(SVNTagInValidSlash) >= 0)
Line 189... Line 188...
189
                                 else {
188
                                 else {
190
                                    var count_valid_forms = 0;
189
                                    var count_valid_forms = 0;
191
 
190
 
192
                                    if (val.search(SVNTagValidTrunkAtNumberRE) >= 0) count_valid_forms++;
191
                                    if (val.search(SVNTagValidTrunkAtNumberRE) >= 0) count_valid_forms++;
193
 
192
 
194
                                    if (val.search(SVNTagValidTrunkEOLRE) >= 0) count_valid_forms++;
-
 
195
 
-
 
196
                                    if (val.search(SVNTagValidBranchAnywhereRE) >= 0) count_valid_forms++;
193
                                    if (val.search(SVNTagValidBranchAnywhereRE) >= 0) count_valid_forms++;
197
 
194
 
198
                                    if (val.search(SVNTagValidTagAnywhereRE) >= 0) count_valid_forms++;
195
                                    if (val.search(SVNTagValidTagAnywhereRE) >= 0) count_valid_forms++;
199
 
196
 
200
                                    if (count_valid_forms == 0) errors += val += ' - '+nm+' does not end in /trunk or /trunk@<number>,\nor does not contain /tags/ or /branches/\n';
197
                                    if (count_valid_forms == 0) errors += val += ' - '+nm+' does not end in /trunk@<number>,\nor does not contain /tags/ or /branches/\n';
201
 
198
 
202
                                    if (count_valid_forms > 1) errors += val += ' - '+nm+' cannot combine use of trunk, /tags/, or /branches/ in one subversion tag\n';
199
                                    if (count_valid_forms > 1) errors += val += ' - '+nm+' cannot combine use of trunk, /tags/, or /branches/ in one subversion tag\n';
203
                                 }
200
                                 }
204
                              }
201
                              }
205
                           }
202
                           }