diff options
| author | Teddy Wing | 2022-09-20 21:00:42 +0200 |
|---|---|---|
| committer | Teddy Wing | 2022-09-20 21:00:42 +0200 |
| commit | 2cc79c6873dc59b0510045717b0359bc64513fc1 (patch) | |
| tree | cdac0f9a3671cc21374f43d1d5dae829e021737c /vendor/github.com/sabhiram/go-git-ignore | |
| parent | 426afbfbee72c8c1e66c67c6837f62a9f5633698 (diff) | |
| download | gdrive-2cc79c6873dc59b0510045717b0359bc64513fc1.tar.bz2 | |
Untrack and ignore the vendor directory
I don't think this should be in version control.
Diffstat (limited to 'vendor/github.com/sabhiram/go-git-ignore')
| -rw-r--r-- | vendor/github.com/sabhiram/go-git-ignore/.gitignore | 28 | ||||
| -rw-r--r-- | vendor/github.com/sabhiram/go-git-ignore/.travis.yml | 18 | ||||
| -rw-r--r-- | vendor/github.com/sabhiram/go-git-ignore/LICENSE | 22 | ||||
| -rw-r--r-- | vendor/github.com/sabhiram/go-git-ignore/README.md | 17 | ||||
| -rw-r--r-- | vendor/github.com/sabhiram/go-git-ignore/ignore.go | 200 |
5 files changed, 0 insertions, 285 deletions
diff --git a/vendor/github.com/sabhiram/go-git-ignore/.gitignore b/vendor/github.com/sabhiram/go-git-ignore/.gitignore deleted file mode 100644 index 0e919af..0000000 --- a/vendor/github.com/sabhiram/go-git-ignore/.gitignore +++ /dev/null @@ -1,28 +0,0 @@ -# Package test fixtures -test_fixtures - -# Compiled Object files, Static and Dynamic libs (Shared Objects) -*.o -*.a -*.so - -# Folders -_obj -_test - -# Architecture specific extensions/prefixes -*.[568vq] -[568vq].out - -*.cgo1.go -*.cgo2.c -_cgo_defun.c -_cgo_gotypes.go -_cgo_export.* - -_testmain.go - -*.exe -*.test -*.prof - diff --git a/vendor/github.com/sabhiram/go-git-ignore/.travis.yml b/vendor/github.com/sabhiram/go-git-ignore/.travis.yml deleted file mode 100644 index 24ddadf..0000000 --- a/vendor/github.com/sabhiram/go-git-ignore/.travis.yml +++ /dev/null @@ -1,18 +0,0 @@ -language: go - -go: - - 1.3 - - tip - -env: - - "PATH=$HOME/gopath/bin:$PATH" - -before_install: - - go get github.com/stretchr/testify/assert - - go get github.com/axw/gocov/gocov - - go get github.com/mattn/goveralls - - if ! go get code.google.com/p/go.tools/cmd/cover; then go get golang.org/x/tools/cmd/cover; fi - -script: - - go test -v -covermode=count -coverprofile=coverage.out - - goveralls -coverprofile=coverage.out -service travis-ci -repotoken $COVERALLS_TOKEN diff --git a/vendor/github.com/sabhiram/go-git-ignore/LICENSE b/vendor/github.com/sabhiram/go-git-ignore/LICENSE deleted file mode 100644 index c606f49..0000000 --- a/vendor/github.com/sabhiram/go-git-ignore/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015 Shaba Abhiram - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - diff --git a/vendor/github.com/sabhiram/go-git-ignore/README.md b/vendor/github.com/sabhiram/go-git-ignore/README.md deleted file mode 100644 index fbbb376..0000000 --- a/vendor/github.com/sabhiram/go-git-ignore/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# go-git-ignore - -[](https://travis-ci.org/sabhiram/go-git-ignore) [](https://coveralls.io/r/sabhiram/go-git-ignore?branch=master) - -A gitignore parser for `Go` - -## Install - -```shell -go get github.com/sabhiram/go-git-ignore -``` - -## Usage - -```shell -TODO -``` diff --git a/vendor/github.com/sabhiram/go-git-ignore/ignore.go b/vendor/github.com/sabhiram/go-git-ignore/ignore.go deleted file mode 100644 index e3241b2..0000000 --- a/vendor/github.com/sabhiram/go-git-ignore/ignore.go +++ /dev/null @@ -1,200 +0,0 @@ -/* -ignore is a library which returns a new ignorer object which can -test against various paths. This is particularly useful when trying -to filter files based on a .gitignore document - -The rules for parsing the input file are the same as the ones listed -in the Git docs here: http://git-scm.com/docs/gitignore - -The summarized version of the same has been copied here: - - 1. A blank line matches no files, so it can serve as a separator - for readability. - 2. A line starting with # serves as a comment. Put a backslash ("\") - in front of the first hash for patterns that begin with a hash. - 3. Trailing spaces are ignored unless they are quoted with backslash ("\"). - 4. An optional prefix "!" which negates the pattern; any matching file - excluded by a previous pattern will become included again. It is not - possible to re-include a file if a parent directory of that file is - excluded. Git doesn’t list excluded directories for performance reasons, - so any patterns on contained files have no effect, no matter where they - are defined. Put a backslash ("\") in front of the first "!" for - patterns that begin with a literal "!", for example, "\!important!.txt". - 5. If the pattern ends with a slash, it is removed for the purpose of the - following description, but it would only find a match with a directory. - In other words, foo/ will match a directory foo and paths underneath it, - but will not match a regular file or a symbolic link foo (this is - consistent with the way how pathspec works in general in Git). - 6. If the pattern does not contain a slash /, Git treats it as a shell glob - pattern and checks for a match against the pathname relative to the - location of the .gitignore file (relative to the toplevel of the work - tree if not from a .gitignore file). - 7. Otherwise, Git treats the pattern as a shell glob suitable for - consumption by fnmatch(3) with the FNM_PATHNAME flag: wildcards in the - pattern will not match a / in the pathname. For example, - "Documentation/*.html" matches "Documentation/git.html" but not - "Documentation/ppc/ppc.html" or "tools/perf/Documentation/perf.html". - 8. A leading slash matches the beginning of the pathname. For example, - "/*.c" matches "cat-file.c" but not "mozilla-sha1/sha1.c". - 9. Two consecutive asterisks ("**") in patterns matched against full - pathname may have special meaning: - i. A leading "**" followed by a slash means match in all directories. - For example, "** /foo" matches file or directory "foo" anywhere, - the same as pattern "foo". "** /foo/bar" matches file or directory - "bar" anywhere that is directly under directory "foo". - ii. A trailing "/**" matches everything inside. For example, "abc/**" - matches all files inside directory "abc", relative to the location - of the .gitignore file, with infinite depth. - iii. A slash followed by two consecutive asterisks then a slash matches - zero or more directories. For example, "a/** /b" matches "a/b", - "a/x/b", "a/x/y/b" and so on. - iv. Other consecutive asterisks are considered invalid. */ -package ignore - -import ( - "io/ioutil" - "os" - "regexp" - "strings" -) - -// An IgnoreParser is an interface which exposes two methods: -// MatchesPath() - Returns true if the path is targeted by the patterns compiled in the GitIgnore structure -type IgnoreParser interface { - IncludesPath(f string) bool - IgnoresPath(f string) bool - MatchesPath(f string) bool -} - -// GitIgnore is a struct which contains a slice of regexp.Regexp -// patterns -type GitIgnore struct { - patterns []*regexp.Regexp // List of regexp patterns which this ignore file applies - negate []bool // List of booleans which determine if the pattern is negated -} - -// This function pretty much attempts to mimic the parsing rules -// listed above at the start of this file -func getPatternFromLine(line string) (*regexp.Regexp, bool) { - // Trim OS-specific carriage returns. - line = strings.TrimRight(line, "\r") - - // Strip comments [Rule 2] - if strings.HasPrefix(line, `#`) { - return nil, false - } - - // Trim string [Rule 3] - // TODO: Handle [Rule 3], when the " " is escaped with a \ - line = strings.Trim(line, " ") - - // Exit for no-ops and return nil which will prevent us from - // appending a pattern against this line - if line == "" { - return nil, false - } - - // TODO: Handle [Rule 4] which negates the match for patterns leading with "!" - negatePattern := false - if line[0] == '!' { - negatePattern = true - line = line[1:] - } - - // Handle [Rule 2, 4], when # or ! is escaped with a \ - // Handle [Rule 4] once we tag negatePattern, strip the leading ! char - if regexp.MustCompile(`^(\#|\!)`).MatchString(line) { - line = line[1:] - } - - // If we encounter a foo/*.blah in a folder, prepend the / char - if regexp.MustCompile(`([^\/+])/.*\*\.`).MatchString(line) && line[0] != '/' { - line = "/" + line - } - - // Handle escaping the "." char - line = regexp.MustCompile(`\.`).ReplaceAllString(line, `\.`) - - magicStar := "#$~" - - // Handle "/**/" usage - if strings.HasPrefix(line, "/**/") { - line = line[1:] - } - line = regexp.MustCompile(`/\*\*/`).ReplaceAllString(line, `(/|/.+/)`) - line = regexp.MustCompile(`\*\*/`).ReplaceAllString(line, `(|.`+magicStar+`/)`) - line = regexp.MustCompile(`/\*\*`).ReplaceAllString(line, `(|/.`+magicStar+`)`) - - // Handle escaping the "*" char - line = regexp.MustCompile(`\\\*`).ReplaceAllString(line, `\`+magicStar) - line = regexp.MustCompile(`\*`).ReplaceAllString(line, `([^/]*)`) - - // Handle escaping the "?" char - line = strings.Replace(line, "?", `\?`, -1) - - line = strings.Replace(line, magicStar, "*", -1) - - // Temporary regex - var expr = "" - if strings.HasSuffix(line, "/") { - expr = line + "(|.*)$" - } else { - expr = line + "(|/.*)$" - } - if strings.HasPrefix(expr, "/") { - expr = "^(|/)" + expr[1:] - } else { - expr = "^(|.*/)" + expr - } - pattern, _ := regexp.Compile(expr) - - return pattern, negatePattern -} - -// Accepts a variadic set of strings, and returns a GitIgnore object which -// converts and appends the lines in the input to regexp.Regexp patterns -// held within the GitIgnore objects "patterns" field -func CompileIgnoreLines(lines ...string) (*GitIgnore, error) { - g := new(GitIgnore) - for _, line := range lines { - pattern, negatePattern := getPatternFromLine(line) - if pattern != nil { - g.patterns = append(g.patterns, pattern) - g.negate = append(g.negate, negatePattern) - } - } - return g, nil -} - -// Accepts a ignore file as the input, parses the lines out of the file -// and invokes the CompileIgnoreLines method -func CompileIgnoreFile(fpath string) (*GitIgnore, error) { - buffer, error := ioutil.ReadFile(fpath) - if error == nil { - s := strings.Split(string(buffer), "\n") - return CompileIgnoreLines(s...) - } - return nil, error -} - -// MatchesPath is an interface function for the IgnoreParser interface. -// It returns true if the given GitIgnore structure would target a given -// path string "f" -func (g GitIgnore) MatchesPath(f string) bool { - // Replace OS-specific path separator. - f = strings.Replace(f, string(os.PathSeparator), "/", -1) - - matchesPath := false - for idx, pattern := range g.patterns { - if pattern.MatchString(f) { - // If this is a regular target (not negated with a gitignore exclude "!" etc) - if !g.negate[idx] { - matchesPath = true - // Negated pattern, and matchesPath is already set - } else if matchesPath { - matchesPath = false - } - } - } - return matchesPath -} |
