cd11da188c
This allows us to rely on gentler termination semantics (os.Interrupt) for UNIX-y systems, as such interrupts do not work on Windows. Terminations are triggered by e.g. ctrl-C interrupts. Relying generally on Process.Kill() for such purposes was causing git to often exit in unclean ways, resulting in a dirty cache dir and putting users in an awkward position. We maintain the invariant that we ensure the process IS either exited, or forcibly Process.Kill()ed, before exiting monitoredCmd.run(). This allows us to ensure we do not have orphan subprocesses that exist beyond the lifetime of the parent sourceMgr. |
||
---|---|---|
.github | ||
cmd/dep | ||
docs | ||
hack | ||
internal | ||
testdata | ||
vendor/github.com | ||
.codeclimate.yml | ||
.gitattributes | ||
.gitignore | ||
.travis.yml | ||
AUTHORS | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
CONTRIBUTORS | ||
FAQ.md | ||
Gopkg.lock | ||
Gopkg.toml | ||
LICENSE | ||
MAINTAINERS.md | ||
PATENTS | ||
README.md | ||
analyzer.go | ||
analyzer_notwindows_test.go | ||
analyzer_test.go | ||
analyzer_windows_test.go | ||
appveyor.yml | ||
context.go | ||
context_test.go | ||
doc.go | ||
lock.go | ||
lock_test.go | ||
manifest.go | ||
manifest_test.go | ||
project.go | ||
project_test.go | ||
test_project_context_test.go | ||
txn_writer.go | ||
txn_writer_test.go |
README.md
Dep
Dep is a prototype dependency management tool. It requires Go 1.7 or newer to compile.
dep
is NOT an official tool. Yet. Check out the Roadmap!
Current status
dep
is safe for production use. That means two things:
- Any valid metadata file (
Gopkg.toml
andGopkg.lock
) will be readable and considered valid by any future version ofdep
. - Generally speaking, it has comparable or fewer bugs than other tools out there.
That said, keep in mind the following:
dep
is still changing rapidly. If you need stability (e.g. for CI), it's best to rely on a released version, not tip.- Some changes are pending to the CLI interface. Scripting on dep before they land is unwise.
dep
's exported API interface will continue to change in unpredictable, backwards-incompatible ways until we tag a v1.0.0 release.
Context
- The Saga of Go Dependency Management
- Official Google Docs
- Frequently Asked Questions
Usage
Get the tool via
$ go get -u github.com/golang/dep/cmd/dep
Typical usage on a new repo might be
$ dep init
$ dep ensure -update
To update a dependency to a new version, you might run
$ dep ensure github.com/pkg/errors@^0.8.0
See the help text for more detailed usage instructions.
Feedback
Feedback is greatly appreciated. At this stage, the maintainers are most interested in feedback centered on the user experience (UX) of the tool. Do you have workflows that the tool supports well, or doesn't support at all? Do any of the commands have surprising effects, output, or results? Please check the existing issues and FAQ to see if your feedback has already been reported. If not, please file an issue, describing what you did or wanted to do, what you expected to happen, and what actually happened.
Contributing
Contributions are greatly appreciated. The maintainers actively manage the issues list, and try to highlight issues suitable for newcomers. The project follows the typical GitHub pull request model. See CONTRIBUTING.md for more details. Before starting any work, please either comment on an existing issue, or file a new one.