~rogpeppe/+junk/govers

« back to all changes in this revision

Viewing changes to govers.go

  • Committer: Roger Peppe
  • Date: 2012-12-21 10:57:30 UTC
  • Revision ID: roger.peppe@canonical.com-20121221105730-fc3lx37ob7wkyl5r
govers: fix dotted versions

Show diffs side-by-side

added added

removed removed

Lines of Context:
208
208
        return p
209
209
}
210
210
 
211
 
const versPat = `/v([0-9.)]+`
 
211
const versPat = `/v[0-9.]+`
212
212
 
213
213
// pathPat returns a pattern that will match any
214
214
// package path that's the same except possibly
218
218
        if !versRe.MatchString(p) {
219
219
                fatalf("%q is not versioned", p)
220
220
        }
 
221
        // Use an intermediate step so that we can use QuoteMeta after
 
222
        // matching against versPat.  (versPat won't match quoted
 
223
        // metacharacters).
 
224
        // Note that  '#' is an invalid character in an import path
 
225
        p = versRe.ReplaceAllString(p, "#")
221
226
        p = regexp.QuoteMeta(p)
222
227
        // BUG doesn't match "foo/v0/v1/bar", but do we care?
223
 
        p = "^(" + versRe.ReplaceAllString(p, versPat) + ")(/|$)"
 
228
        p = "^(" + strings.Replace(p, "#", versPat, -1) + ")(/|$)"
224
229
        return regexp.MustCompile(p)
225
230
}
226
231