Use godep instead

Use godep.

Goven is deprecated. Please use godep instead. Godep is better in almost every way. It is better maintained, more popular, less error-prone, and more convenient to use.

https://github.com/tools/godep

The command godep save -r is similar to what goven does.

Comments
  • Fix 'off by one error' with directory copy

    Fix 'off by one error' with directory copy

    The cp -r / imp creates a duplicate directory, e.g.,

    cd ~/go/local/src/github.com/xyzzy/deps goven github.com/kr/goven

    creates ~/go/local/src/github.com/xyzzy/deps/github.com/kr/goven/goven not ~/go/local/src/github.com/xyzzy/deps/github.com/kr/goven as desired.

  • prefer filepath.Join() to string concatenation

    prefer filepath.Join() to string concatenation

    This resolves a bug on OSX in lookupDir() where os.GetWd() returned a path with trailing slash and the existing string concatenation yielded 2 consecutive slashes, causing the lookup to fail. I also fixed a few other spots where Join() should be used.

  • feat(main): add prefix flag

    feat(main): add prefix flag

    The prefix flag lets you prefix a directory in front of the third party dependencies managed by goven.

    Example usage:

    $ goven -copy -rewrite -prefix="third_party" code.google.com/p/go.crypto/ssh
    $ head ssh.go
    package main
    
    import (
        "log"
        "net"
        "os"
    
        "github.com/philips/go-ssh-example/third_party/code.google.com/p/go.crypto/ssh"
    )
    $ ls third_party/code.google.com/p/go.crypto
    ssh
    
  • Fix support for GOPATH with symlink in it.

    Fix support for GOPATH with symlink in it.

    I made this CL because I needed both symlink support and prefix but then I went a bit overboard with the refactoring. If you dislike the refactoring I am open to make a more scoped CL.

    Side note: it would be appreciated to have a LICENSE file in the repository.

    Thanks


    • Refactor the code to remove globals.
    • Rename functions and variables to make the code more readable.
    • Densify code by using call in conditions.
    • Add -verbose to help diagnose problems.
    • Add support with symlinks in GOPATH.
    • Add -prefix to add a relative directory, for example 'third_party' with is useful to keep the repo clean.
    • Change prefix in logger.

    Add small unit test.

  • running 'goven .' deletes the entire directory

    running 'goven .' deletes the entire directory

    This is dangerous. The command 'goven .' is a reasonable guess as to how to use goven. Even though it doesn't do what you want, it certainly shouldn't delete your entire working tree and git repo.

Use anacrolix/go-libutp instead

utp Package utp implements uTP, the micro transport protocol as used with Bittorrent. It opts for simplicity and reliability over strict adherence to

Sep 27, 2022
Native ZooKeeper client for Go. This project is no longer maintained. Please use https://github.com/go-zookeeper/zk instead.

Native Go Zookeeper Client Library License 3-clause BSD. See LICENSE file. This Repository is No Longer Maintained Please use https://github.com/go-zo

Dec 19, 2022
use JNDILOG instead of DNSLOG

JNDILOG use JNDILOG instead of DNSLOG 1.start JNDILOG server 2.send JNDI POC (eg

May 16, 2022
Snowflake - An implement of snowflake by go, use atomic instead of mutex

snowflake an implement of snowflake by go, use atomic instead of mutex 雪花算法的一种go

Feb 4, 2022
An idiomatic Go (golang) validation package. Supports configurable and extensible validation rules (validators) using normal language constructs instead of error-prone struct tags.

ozzo-validation Description ozzo-validation is a Go package that provides configurable and extensible data validation capabilities. It has the followi

Jan 7, 2023
A fork of fin, but using wail instead of fyne.
A fork of fin, but using wail instead of fyne.

Fin, the Fyne Login Manager A minimal but good-looking login manager for Linux/Unix. The current boot scripts support only systemd. If you'd like to t

Nov 16, 2022
Configure instead of coding gin server!

tao-gin _______ _____ _ |__ __| / ____(_) | | __ _ ___ | | __ _ _ __ | |/ _` |/ _ \ | | |_ | |

Jan 10, 2022
MIDI tunneling through BGP, for times when you want to broadcast your music instead of your IP packets.

BGPiano MIDI tunneling through BGP, for times when you want to broadcast your music instead of your IP packets. Usage bgpiano-send and bgpiano-recv Po

Jun 9, 2022
Use Consul to do service discovery, use gRPC +kafka to do message produce and consume. Use redis to store result.
Use  Consul to do service discovery, use gRPC +kafka to do message produce and consume. Use redis to store result.

目录 gRPC/consul/kafka简介 gRPC+kafka的Demo gRPC+kafka整体示意图 限流器 基于redis计数器生成唯一ID kafka生产消费 kafka生产消费示意图 本文kafka生产消费过程 基于pprof的性能分析Demo 使用pprof统计CPU/HEAP数据的

Jul 9, 2022
Distributed lock manager. Warning: very hard to use it properly. Not because it's broken, but because distributed systems are hard. If in doubt, do not use this.

What Dlock is a distributed lock manager [1]. It is designed after flock utility but for multiple machines. When client disconnects, all his locks are

Dec 24, 2019
A test repo to demonstrate the current (go1.17.2) issue when trying to use retractA test repo to demonstrate the current (go1.17.2) issue when trying to use retract

test-go-mod-retract This is a test repo to demonstrate the current (go1.17.2) issue when trying to use retract in go.mod to retract a version in a non

Oct 16, 2021
Blog-mongodb - this repository for educational purpose, learn how to use mongodb and use mongodb with go

ENDPOINT ENDPOINT METHOD ACCESS /register POST all /login POST all /articles GET all /articles POST all /articles/{articleId} GET all /articles/{artic

Jan 4, 2022
An easy to use menu structure for cli applications that prompts users to make choices.
An easy to use menu structure for cli applications that prompts users to make choices.

WMenu Package wmenu creates menus for cli programs. It uses wlog for its interface with the command line. It uses os.Stdin, os.Stdout, and os.Stderr w

Dec 26, 2022
Yet Another CLi Spinner; providing over 70 easy to use and customizable terminal spinners for multiple OSes
Yet Another CLi Spinner; providing over 70 easy to use and customizable terminal spinners for multiple OSes

Yet Another CLi Spinner (for Go) Package yacspin provides yet another CLi spinner for Go, taking inspiration (and some utility code) from the https://

Dec 25, 2022
Genv is a library for Go (golang) that makes it easy to read and use environment variables in your projects. It also allows environment variables to be loaded from the .env file.

genv Genv is a library for Go (golang) that makes it easy to read and use environment variables in your projects. It also allows environment variables

Dec 21, 2022
An easy-to-use XChaCha20-encryption wrapper for io.ReadWriteCloser (even lossy UDP) using ECDH key exchange algorithm, ED25519 signatures and Blake3+Poly1305 checksums/message-authentication for Go (golang). Also a multiplexer.

Quick start Prepare keys (on both sides): [ -f ~/.ssh/id_ed25519 ] && [ -f ~/.ssh/id_ed25519.pub ] || ssh-keygen -t ed25519 scp ~/.ssh/id_ed25519.pub

Dec 30, 2022
Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.
Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.

Themis provides strong, usable cryptography for busy people General purpose cryptographic library for storage and messaging for iOS (Swift, Obj-C), An

Jan 9, 2023
Fast and easy-to-use skip list for Go.

Skip List in Golang Skip list is an ordered map. See wikipedia page skip list to learn algorithm details about this data structure. Highlights in this

Dec 4, 2022
Write your SQL queries in raw files with all benefits of modern IDEs, use them in an easy way inside your application with all the profit of compile time constants

About qry is a general purpose library for storing your raw database queries in .sql files with all benefits of modern IDEs, instead of strings and co

Dec 25, 2022
Qmgo - The Go driver for MongoDB. It‘s based on official mongo-go-driver but easier to use like Mgo.

Qmgo English | 简体中文 Qmgo is a Go driver for MongoDB . It is based on MongoDB official driver, but easier to use like mgo (such as the chain call). Qmg

Dec 28, 2022