aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/golangci/dupl/README.md
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2020-07-04 11:12:55 +0200
committerDmitry Vyukov <dvyukov@google.com>2020-07-04 15:05:30 +0200
commitc7d7f10bdff703e4a3c0414e8a33d4e45c91eb35 (patch)
tree0dff0ee1f98dbfa3ad8776112053a450d176592b /vendor/github.com/golangci/dupl/README.md
parent9573094ce235bd9afe88f5da27a47dd6bcc1e13b (diff)
go.mod: vendor golangci-lint
Diffstat (limited to 'vendor/github.com/golangci/dupl/README.md')
-rw-r--r--vendor/github.com/golangci/dupl/README.md63
1 files changed, 63 insertions, 0 deletions
diff --git a/vendor/github.com/golangci/dupl/README.md b/vendor/github.com/golangci/dupl/README.md
new file mode 100644
index 000000000..f34901d7a
--- /dev/null
+++ b/vendor/github.com/golangci/dupl/README.md
@@ -0,0 +1,63 @@
+# dupl [![Build Status](https://travis-ci.org/mibk/dupl.png)](https://travis-ci.org/mibk/dupl)
+
+**dupl** is a tool written in Go for finding code clones. So far it can find clones only
+in the Go source files. The method uses suffix tree for serialized ASTs. It ignores values
+of AST nodes. It just operates with their types (e.g. `if a == 13 {}` and `if x == 100 {}` are
+considered the same provided it exceeds the minimal token sequence size).
+
+Due to the used method dupl can report so called "false positives" on the output. These are
+the ones we do not consider clones (whether they are too small, or the values of the matched
+tokens are completely different).
+
+## Installation
+
+```bash
+go get -u github.com/golangci/dupl
+```
+
+## Usage
+
+```
+Usage of dupl:
+ dupl [flags] [paths]
+
+Paths:
+ If the given path is a file, dupl will use it regardless of
+ the file extension. If it is a directory it will recursively
+ search for *.go files in that directory.
+
+ If no path is given dupl will recursively search for *.go
+ files in the current directory.
+
+Flags:
+ -files
+ read file names from stdin one at each line
+ -html
+ output the results as HTML, including duplicate code fragments
+ -plumbing
+ plumbing (easy-to-parse) output for consumption by scripts or tools
+ -t, -threshold size
+ minimum token sequence size as a clone (default 15)
+ -vendor
+ check files in vendor directory
+ -v, -verbose
+ explain what is being done
+
+Examples:
+ dupl -t 100
+ Search clones in the current directory of size at least
+ 100 tokens.
+ dupl $(find app/ -name '*_test.go')
+ Search for clones in tests in the app directory.
+ find app/ -name '*_test.go' |dupl -files
+ The same as above.
+```
+
+## Example
+
+The reduced output of this command with the following parameters for the [Docker](https://www.docker.com) source code
+looks like [this](http://htmlpreview.github.io/?https://github.com/golangci/dupl/blob/master/_output_example/docker.html).
+
+```bash
+$ dupl -t 200 -html >docker.html
+```