Move calmh/syncthing -> syncthing/syncthing

This commit is contained in:
Jakob Borg 2014-08-01 16:35:37 +02:00
parent 9312e3c7de
commit cec3bad373
47 changed files with 218 additions and 252 deletions

12
Godeps/Godeps.json generated
View File

@ -1,5 +1,5 @@
{ {
"ImportPath": "github.com/calmh/syncthing", "ImportPath": "github.com/syncthing/syncthing",
"GoVersion": "go1.3", "GoVersion": "go1.3",
"Packages": [ "Packages": [
"./cmd/..." "./cmd/..."
@ -22,13 +22,13 @@
}, },
{ {
"ImportPath": "code.google.com/p/go.text/transform", "ImportPath": "code.google.com/p/go.text/transform",
"Comment": "null-88", "Comment": "null-89",
"Rev": "1506dcc33592c369c3be7bd30b38f90445b86deb" "Rev": "df15baaf13e3f62b6b7a901e74caa3818a7c0a7c"
}, },
{ {
"ImportPath": "code.google.com/p/go.text/unicode/norm", "ImportPath": "code.google.com/p/go.text/unicode/norm",
"Comment": "null-88", "Comment": "null-89",
"Rev": "1506dcc33592c369c3be7bd30b38f90445b86deb" "Rev": "df15baaf13e3f62b6b7a901e74caa3818a7c0a7c"
}, },
{ {
"ImportPath": "code.google.com/p/snappy-go/snappy", "ImportPath": "code.google.com/p/snappy-go/snappy",
@ -41,7 +41,7 @@
}, },
{ {
"ImportPath": "github.com/calmh/xdr", "ImportPath": "github.com/calmh/xdr",
"Rev": "89d756f35ba26bcdd47ca25cf9795b3b8d1e1852" "Rev": "694859acb207675085232438780db923ceb43e96"
}, },
{ {
"ImportPath": "github.com/juju/ratelimit", "ImportPath": "github.com/juju/ratelimit",

View File

@ -11,7 +11,6 @@
package main package main
import ( import (
"bufio"
"bytes" "bytes"
"flag" "flag"
"fmt" "fmt"
@ -24,6 +23,8 @@ import (
"strconv" "strconv"
"strings" "strings"
"unicode" "unicode"
"code.google.com/p/go.text/internal/ucd"
) )
func main() { func main() {
@ -63,31 +64,7 @@ var localFiles = flag.Bool("local",
var logger = log.New(os.Stderr, "", log.Lshortfile) var logger = log.New(os.Stderr, "", log.Lshortfile)
// UnicodeData.txt has form: const MaxChar = 0x10FFFF // anything above this shouldn't exist
// 0037;DIGIT SEVEN;Nd;0;EN;;7;7;7;N;;;;;
// 007A;LATIN SMALL LETTER Z;Ll;0;L;;;;;N;;;005A;;005A
// See http://unicode.org/reports/tr44/ for full explanation
// The fields:
const (
FCodePoint = iota
FName
FGeneralCategory
FCanonicalCombiningClass
FBidiClass
FDecompMapping
FDecimalValue
FDigitValue
FNumericValue
FBidiMirrored
FUnicode1Name
FISOComment
FSimpleUppercaseMapping
FSimpleLowercaseMapping
FSimpleTitlecaseMapping
NumField
MaxChar = 0x10FFFF // anything above this shouldn't exist
)
// Quick Check properties of runes allow us to quickly // Quick Check properties of runes allow us to quickly
// determine whether a rune may occur in a normal form. // determine whether a rune may occur in a normal form.
@ -232,7 +209,7 @@ func openReader(file string) (input io.ReadCloser) {
return return
} }
func parseDecomposition(s string, skipfirst bool) (a []rune, e error) { func parseDecomposition(s string, skipfirst bool) (a []rune, err error) {
decomp := strings.Split(s, " ") decomp := strings.Split(s, " ")
if len(decomp) > 0 && skipfirst { if len(decomp) > 0 && skipfirst {
decomp = decomp[1:] decomp = decomp[1:]
@ -247,56 +224,31 @@ func parseDecomposition(s string, skipfirst bool) (a []rune, e error) {
return a, nil return a, nil
} }
func parseCharacter(line string) { func loadUnicodeData() {
field := strings.Split(line, ";") f := openReader("UnicodeData.txt")
if len(field) != NumField { defer f.Close()
logger.Fatalf("%5s: %d fields (expected %d)\n", line, len(field), NumField) p := ucd.New(f)
} for p.Next() {
x, err := strconv.ParseUint(field[FCodePoint], 16, 64) r := p.Rune(ucd.CodePoint)
point := int(x) char := &chars[r]
if err != nil {
logger.Fatalf("%.5s...: %s", line, err) char.ccc = uint8(p.Uint(ucd.CanonicalCombiningClass))
} decmap := p.String(ucd.DecompMapping)
if point == 0 {
return // not interesting and we use 0 as unset exp, err := parseDecomposition(decmap, false)
}
if point > MaxChar {
logger.Fatalf("%5s: Rune %X > MaxChar (%X)", line, point, MaxChar)
return
}
state := SNormal
switch {
case strings.Index(field[FName], ", First>") > 0:
state = SFirst
case strings.Index(field[FName], ", Last>") > 0:
state = SLast
}
firstChar := lastChar + 1
lastChar = rune(point)
if state != SLast {
firstChar = lastChar
}
x, err = strconv.ParseUint(field[FCanonicalCombiningClass], 10, 64)
if err != nil {
logger.Fatalf("%U: bad ccc field: %s", int(x), err)
}
ccc := uint8(x)
decmap := field[FDecompMapping]
exp, e := parseDecomposition(decmap, false)
isCompat := false isCompat := false
if e != nil { if err != nil {
if len(decmap) > 0 { if len(decmap) > 0 {
exp, e = parseDecomposition(decmap, true) exp, err = parseDecomposition(decmap, true)
if e != nil { if err != nil {
logger.Fatalf(`%U: bad decomp |%v|: "%s"`, int(x), decmap, e) logger.Fatalf(`%U: bad decomp |%v|: "%s"`, r, decmap, err)
} }
isCompat = true isCompat = true
} }
} }
for i := firstChar; i <= lastChar; i++ {
char := &chars[i] char.name = p.String(ucd.Name)
char.name = field[FName] char.codePoint = r
char.codePoint = i
char.forms[FCompatibility].decomp = exp char.forms[FCompatibility].decomp = exp
if !isCompat { if !isCompat {
char.forms[FCanonical].decomp = exp char.forms[FCanonical].decomp = exp
@ -306,24 +258,9 @@ func parseCharacter(line string) {
if len(decmap) > 0 { if len(decmap) > 0 {
char.forms[FCompatibility].decomp = exp char.forms[FCompatibility].decomp = exp
} }
char.ccc = ccc
char.state = SMissing
if i == lastChar {
char.state = state
} }
} if err := p.Err(); err != nil {
return logger.Fatal(err)
}
func loadUnicodeData() {
f := openReader("UnicodeData.txt")
defer f.Close()
scanner := bufio.NewScanner(f)
for scanner.Scan() {
parseCharacter(scanner.Text())
}
if scanner.Err() != nil {
logger.Fatal(scanner.Err())
} }
} }
@ -354,47 +291,22 @@ func compactCCC() {
} }
} }
var singlePointRe = regexp.MustCompile(`^([0-9A-F]+) *$`)
// CompositionExclusions.txt has form: // CompositionExclusions.txt has form:
// 0958 # ... // 0958 # ...
// See http://unicode.org/reports/tr44/ for full explanation // See http://unicode.org/reports/tr44/ for full explanation
func parseExclusion(line string) int {
comment := strings.Index(line, "#")
if comment >= 0 {
line = line[0:comment]
}
if len(line) == 0 {
return 0
}
matches := singlePointRe.FindStringSubmatch(line)
if len(matches) != 2 {
logger.Fatalf("%s: %d matches (expected 1)\n", line, len(matches))
}
point, err := strconv.ParseUint(matches[1], 16, 64)
if err != nil {
logger.Fatalf("%.5s...: %s", line, err)
}
return int(point)
}
func loadCompositionExclusions() { func loadCompositionExclusions() {
f := openReader("CompositionExclusions.txt") f := openReader("CompositionExclusions.txt")
defer f.Close() defer f.Close()
scanner := bufio.NewScanner(f) p := ucd.New(f)
for scanner.Scan() { for p.Next() {
point := parseExclusion(scanner.Text()) c := &chars[p.Rune(0)]
if point == 0 {
continue
}
c := &chars[point]
if c.excludeInComp { if c.excludeInComp {
logger.Fatalf("%U: Duplicate entry in exclusions.", c.codePoint) logger.Fatalf("%U: Duplicate entry in exclusions.", c.codePoint)
} }
c.excludeInComp = true c.excludeInComp = true
} }
if scanner.Err() != nil { if e := p.Err(); e != nil {
log.Fatal(scanner.Err()) logger.Fatal(e)
} }
} }
@ -988,8 +900,6 @@ func verifyComputed() {
} }
} }
var qcRe = regexp.MustCompile(`([0-9A-F\.]+) *; (NF.*_QC); ([YNM]) #.*`)
// Use values in DerivedNormalizationProps.txt to compare against the // Use values in DerivedNormalizationProps.txt to compare against the
// values we computed. // values we computed.
// DerivedNormalizationProps.txt has form: // DerivedNormalizationProps.txt has form:
@ -999,27 +909,13 @@ var qcRe = regexp.MustCompile(`([0-9A-F\.]+) *; (NF.*_QC); ([YNM]) #.*`)
func testDerived() { func testDerived() {
f := openReader("DerivedNormalizationProps.txt") f := openReader("DerivedNormalizationProps.txt")
defer f.Close() defer f.Close()
scanner := bufio.NewScanner(f) p := ucd.New(f)
for scanner.Scan() { for p.Next() {
line := scanner.Text() r := p.Rune(0)
qc := qcRe.FindStringSubmatch(line) c := &chars[r]
if qc == nil {
continue
}
rng := strings.Split(qc[1], "..")
i, err := strconv.ParseUint(rng[0], 16, 64)
if err != nil {
log.Fatal(err)
}
j := i
if len(rng) > 1 {
j, err = strconv.ParseUint(rng[1], 16, 64)
if err != nil {
log.Fatal(err)
}
}
var ftype, mode int var ftype, mode int
qt := strings.TrimSpace(qc[2]) qt := p.String(1)
switch qt { switch qt {
case "NFC_QC": case "NFC_QC":
ftype, mode = FCanonical, MComposed ftype, mode = FCanonical, MComposed
@ -1030,10 +926,10 @@ func testDerived() {
case "NFKD_QC": case "NFKD_QC":
ftype, mode = FCompatibility, MDecomposed ftype, mode = FCompatibility, MDecomposed
default: default:
log.Fatalf(`Unexpected quick check type "%s"`, qt) continue
} }
var qr QCResult var qr QCResult
switch qc[3] { switch p.String(2) {
case "Y": case "Y":
qr = QCYes qr = QCYes
case "N": case "N":
@ -1041,27 +937,15 @@ func testDerived() {
case "M": case "M":
qr = QCMaybe qr = QCMaybe
default: default:
log.Fatalf(`Unexpected quick check value "%s"`, qc[3]) log.Fatalf(`Unexpected quick check value "%s"`, p.String(2))
}
if got := c.forms[ftype].quickCheck[mode]; got != qr {
logger.Printf("%U: FAILED %s (was %v need %v)\n", r, qt, got, qr)
} }
var lastFailed bool
// Verify current
for ; i <= j; i++ {
c := &chars[int(i)]
c.forms[ftype].verified[mode] = true c.forms[ftype].verified[mode] = true
curqr := c.forms[ftype].quickCheck[mode]
if curqr != qr {
if !lastFailed {
logger.Printf("%s: %.4X..%.4X -- %s\n",
qt, int(i), int(j), line[0:50])
} }
logger.Printf("%U: FAILED %s (was %v need %v)\n", if err := p.Err(); err != nil {
int(i), qt, curqr, qr) logger.Fatal(err)
lastFailed = true
}
}
}
if scanner.Err() != nil {
logger.Fatal(scanner.Err())
} }
// Any unspecified value must be QCYes. Verify this. // Any unspecified value must be QCYes. Verify this.
for i, c := range chars { for i, c := range chars {

View File

@ -0,0 +1 @@
coverage.out

19
Godeps/_workspace/src/github.com/calmh/xdr/.travis.yml generated vendored Normal file
View File

@ -0,0 +1,19 @@
language: go
go:
- tip
install:
- export PATH=$PATH:$HOME/gopath/bin
- go get code.google.com/p/go.tools/cmd/cover
- go get github.com/mattn/goveralls
script:
- ./generate.sh
- go test -coverprofile=coverage.out
after_success:
- goveralls -coverprofile=coverage.out -service=travis-ci -package=calmh/xdr -repotoken="$COVERALLS_TOKEN"
env:
global:
secure: SmgnrGfp2zLrA44ChRMpjPeujubt9veZ8Fx/OseMWECmacyV5N/TuDhzIbwo6QwV4xB0sBacoPzvxQbJRVjNKsPiSu72UbcQmQ7flN4Tf7nW09tSh1iW8NgrpBCq/3UYLoBu2iPBEBKm93IK0aGNAKs6oEkB0fU27iTVBwiTXOY=

19
Godeps/_workspace/src/github.com/calmh/xdr/LICENSE generated vendored Normal file
View File

@ -0,0 +1,19 @@
Copyright (C) 2014 Jakob Borg.
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.

12
Godeps/_workspace/src/github.com/calmh/xdr/README.md generated vendored Normal file
View File

@ -0,0 +1,12 @@
xdr
===
[![Build Status](https://img.shields.io/travis/calmh/xdr.svg?style=flat)](https://travis-ci.org/calmh/xdr)
[![Coverage Status](https://img.shields.io/coveralls/calmh/xdr.svg?style=flat)](https://coveralls.io/r/calmh/xdr?branch=master)
[![API Documentation](http://img.shields.io/badge/api-Godoc-blue.svg?style=flat)](http://godoc.org/github.com/calmh/xdr)
[![MIT License](http://img.shields.io/badge/license-MIT-blue.svg?style=flat)](http://opensource.org/licenses/MIT)
This is an XDR encoding/decoding library. It uses code generation and
not reflection. It supports the IPDR bastardized XDR format when built
with `-tags ipdr`.

View File

@ -5,8 +5,12 @@ package xdr_test
import ( import (
"bytes" "bytes"
"math/rand"
"reflect"
"testing" "testing"
"testing/quick" "testing/quick"
"github.com/calmh/xdr"
) )
// Contains all supported types // Contains all supported types
@ -22,6 +26,25 @@ type TestStruct struct {
UI64 uint64 UI64 uint64
BS []byte BS []byte
S string S string
C Opaque
}
type Opaque [32]byte
func (u *Opaque) encodeXDR(w *xdr.Writer) (int, error) {
return w.WriteRaw(u[:])
}
func (u *Opaque) decodeXDR(r *xdr.Reader) (int, error) {
return r.ReadRaw(u[:])
}
func (Opaque) Generate(rand *rand.Rand, size int) reflect.Value {
var u Opaque
for i := range u[:] {
u[i] = byte(rand.Int())
}
return reflect.ValueOf(u)
} }
func TestEncDec(t *testing.T) { func TestEncDec(t *testing.T) {
@ -39,7 +62,7 @@ func TestEncDec(t *testing.T) {
t0.I32 != t1.I32 || t0.UI32 != t1.UI32 || t0.I32 != t1.I32 || t0.UI32 != t1.UI32 ||
t0.I64 != t1.I64 || t0.UI64 != t1.UI64 || t0.I64 != t1.I64 || t0.UI64 != t1.UI64 ||
bytes.Compare(t0.BS, t1.BS) != 0 || bytes.Compare(t0.BS, t1.BS) != 0 ||
t0.S != t1.S { t0.S != t1.S || t0.C != t1.C {
t.Logf("%#v", t0) t.Logf("%#v", t0)
t.Logf("%#v", t1) t.Logf("%#v", t1)
return false return false

View File

@ -52,6 +52,8 @@ TestStruct Structure:
\ S (variable length) \ \ S (variable length) \
/ / / /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Opaque |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
struct TestStruct { struct TestStruct {
@ -66,6 +68,7 @@ struct TestStruct {
unsigned hyper UI64; unsigned hyper UI64;
opaque BS<>; opaque BS<>;
string S<>; string S<>;
Opaque C;
} }
*/ */
@ -98,6 +101,10 @@ func (o TestStruct) encodeXDR(xw *xdr.Writer) (int, error) {
xw.WriteUint64(o.UI64) xw.WriteUint64(o.UI64)
xw.WriteBytes(o.BS) xw.WriteBytes(o.BS)
xw.WriteString(o.S) xw.WriteString(o.S)
_, err := o.C.encodeXDR(xw)
if err != nil {
return xw.Tot(), err
}
return xw.Tot(), xw.Error() return xw.Tot(), xw.Error()
} }
@ -124,5 +131,6 @@ func (o *TestStruct) decodeXDR(xr *xdr.Reader) error {
o.UI64 = xr.ReadUint64() o.UI64 = xr.ReadUint64()
o.BS = xr.ReadBytes() o.BS = xr.ReadBytes()
o.S = xr.ReadString() o.S = xr.ReadString()
(&o.C).decodeXDR(xr)
return xr.Error() return xr.Error()
} }

View File

@ -67,7 +67,7 @@ func TestReadBytesMaxInto(t *testing.T) {
} }
} }
func TestReadBytesMaxIntoNil(t *testing.T) { func TestReadStringMax(t *testing.T) {
for tot := 42; tot < 72; tot++ { for tot := 42; tot < 72; tot++ {
for max := 0; max < 128; max++ { for max := 0; max < 128; max++ {
var b = new(bytes.Buffer) var b = new(bytes.Buffer)
@ -77,8 +77,8 @@ func TestReadBytesMaxIntoNil(t *testing.T) {
var toWrite = make([]byte, tot) var toWrite = make([]byte, tot)
w.WriteBytes(toWrite) w.WriteBytes(toWrite)
var bs = r.ReadBytesMaxInto(max, nil) var str = r.ReadStringMax(max)
var read = len(bs) var read = len(str)
if max == 0 || tot <= max { if max == 0 || tot <= max {
if read != tot { if read != tot {

View File

@ -1,9 +1,9 @@
syncthing syncthing
========= =========
[![Build Status](https://img.shields.io/travis/calmh/syncthing.svg?style=flat)](https://travis-ci.org/calmh/syncthing) [![Build Status](https://img.shields.io/travis/syncthing/syncthing.svg?style=flat)](https://travis-ci.org/syncthing/syncthing)
[![Coverage Status](https://img.shields.io/coveralls/calmh/syncthing.svg?style=flat)](https://coveralls.io/r/calmh/syncthing?branch=master) [![Coverage Status](https://img.shields.io/coveralls/syncthing/syncthing.svg?style=flat)](https://coveralls.io/r/syncthing/syncthing?branch=master)
[![API Documentation](http://img.shields.io/badge/api-Godoc-blue.svg?style=flat)](http://godoc.org/github.com/calmh/syncthing) [![API Documentation](http://img.shields.io/badge/api-Godoc-blue.svg?style=flat)](http://godoc.org/github.com/syncthing/syncthing)
[![MIT License](http://img.shields.io/badge/license-MIT-blue.svg?style=flat)](http://opensource.org/licenses/MIT) [![MIT License](http://img.shields.io/badge/license-MIT-blue.svg?style=flat)](http://opensource.org/licenses/MIT)
This is the `syncthing` project. The following are the project goals: This is the `syncthing` project. The following are the project goals:
@ -12,7 +12,7 @@ This is the `syncthing` project. The following are the project goals:
number of collaborating nodes. The protocol should be well defined, number of collaborating nodes. The protocol should be well defined,
unambiguous, easily understood, free to use, efficient, secure and unambiguous, easily understood, free to use, efficient, secure and
language neutral. This is the [Block Exchange language neutral. This is the [Block Exchange
Protocol](https://github.com/calmh/syncthing/blob/master/protocol/PROTOCOL.md). Protocol](https://github.com/syncthing/syncthing/blob/master/protocol/PROTOCOL.md).
2. Provide the reference implementation to demonstrate the usability of 2. Provide the reference implementation to demonstrate the usability of
said protocol. This is the `syncthing` utility. It is the hope that said protocol. This is the `syncthing` utility. It is the hope that
@ -50,4 +50,4 @@ under the [Creative Commons Attribution 4.0 International
License](http://creativecommons.org/licenses/by/4.0/). License](http://creativecommons.org/licenses/by/4.0/).
All code is licensed under the [MIT All code is licensed under the [MIT
License](https://github.com/calmh/syncthing/blob/master/LICENSE). License](https://github.com/syncthing/syncthing/blob/master/LICENSE).

File diff suppressed because one or more lines are too long

View File

@ -8,7 +8,7 @@ import (
"os" "os"
"strings" "strings"
"github.com/calmh/syncthing/logger" "github.com/syncthing/syncthing/logger"
) )
var ( var (

View File

@ -202,7 +202,7 @@ case "$1" in
tag=$(git describe) tag=$(git describe)
shopt -s nullglob shopt -s nullglob
for f in *.tar.gz *.zip *.asc ; do for f in *.tar.gz *.zip *.asc ; do
relup calmh/syncthing "$tag" "$f" relup syncthing/syncthing "$tag" "$f"
done done
;; ;;

View File

@ -10,8 +10,8 @@ import (
"log" "log"
"os" "os"
"github.com/calmh/syncthing/files" "github.com/syncthing/syncthing/files"
"github.com/calmh/syncthing/protocol" "github.com/syncthing/syncthing/protocol"
"github.com/syndtr/goleveldb/leveldb" "github.com/syndtr/goleveldb/leveldb"
) )

View File

@ -26,13 +26,13 @@ import (
"crypto/tls" "crypto/tls"
"code.google.com/p/go.crypto/bcrypt" "code.google.com/p/go.crypto/bcrypt"
"github.com/calmh/syncthing/auto" "github.com/syncthing/syncthing/auto"
"github.com/calmh/syncthing/config" "github.com/syncthing/syncthing/config"
"github.com/calmh/syncthing/events" "github.com/syncthing/syncthing/events"
"github.com/calmh/syncthing/logger" "github.com/syncthing/syncthing/logger"
"github.com/calmh/syncthing/model" "github.com/syncthing/syncthing/model"
"github.com/calmh/syncthing/protocol" "github.com/syncthing/syncthing/protocol"
"github.com/calmh/syncthing/upgrade" "github.com/syncthing/syncthing/upgrade"
"github.com/vitrun/qart/qr" "github.com/vitrun/qart/qr"
) )

View File

@ -12,7 +12,7 @@ import (
"sync" "sync"
"time" "time"
"github.com/calmh/syncthing/osutil" "github.com/syncthing/syncthing/osutil"
) )
var csrfTokens []string var csrfTokens []string

View File

@ -26,16 +26,16 @@ import (
"strings" "strings"
"time" "time"
"github.com/calmh/syncthing/config"
"github.com/calmh/syncthing/discover"
"github.com/calmh/syncthing/events"
"github.com/calmh/syncthing/logger"
"github.com/calmh/syncthing/model"
"github.com/calmh/syncthing/osutil"
"github.com/calmh/syncthing/protocol"
"github.com/calmh/syncthing/upgrade"
"github.com/calmh/syncthing/upnp"
"github.com/juju/ratelimit" "github.com/juju/ratelimit"
"github.com/syncthing/syncthing/config"
"github.com/syncthing/syncthing/discover"
"github.com/syncthing/syncthing/events"
"github.com/syncthing/syncthing/logger"
"github.com/syncthing/syncthing/model"
"github.com/syncthing/syncthing/osutil"
"github.com/syncthing/syncthing/protocol"
"github.com/syncthing/syncthing/upgrade"
"github.com/syncthing/syncthing/upnp"
"github.com/syndtr/goleveldb/leveldb" "github.com/syndtr/goleveldb/leveldb"
) )

View File

@ -11,7 +11,7 @@ import (
"strings" "strings"
"time" "time"
"github.com/calmh/syncthing/model" "github.com/syncthing/syncthing/model"
) )
// Current version number of the usage report, for acceptance purposes. If // Current version number of the usage report, for acceptance purposes. If

View File

@ -15,8 +15,8 @@ import (
"strconv" "strconv"
"code.google.com/p/go.crypto/bcrypt" "code.google.com/p/go.crypto/bcrypt"
"github.com/calmh/syncthing/logger" "github.com/syncthing/syncthing/logger"
"github.com/calmh/syncthing/protocol" "github.com/syncthing/syncthing/protocol"
) )
var l = logger.DefaultLogger var l = logger.DefaultLogger

View File

@ -11,7 +11,7 @@ import (
"reflect" "reflect"
"testing" "testing"
"github.com/calmh/syncthing/protocol" "github.com/syncthing/syncthing/protocol"
) )
var node1, node2, node3, node4 protocol.NodeID var node1, node2, node3, node4 protocol.NodeID

View File

@ -8,7 +8,7 @@ import (
"os" "os"
"strings" "strings"
"github.com/calmh/syncthing/logger" "github.com/syncthing/syncthing/logger"
) )
var ( var (

View File

@ -14,9 +14,9 @@ import (
"sync" "sync"
"time" "time"
"github.com/calmh/syncthing/beacon" "github.com/syncthing/syncthing/beacon"
"github.com/calmh/syncthing/events" "github.com/syncthing/syncthing/events"
"github.com/calmh/syncthing/protocol" "github.com/syncthing/syncthing/protocol"
) )
type Discoverer struct { type Discoverer struct {

View File

@ -8,7 +8,7 @@ import (
"os" "os"
"strings" "strings"
"github.com/calmh/syncthing/logger" "github.com/syncthing/syncthing/logger"
) )
var ( var (

View File

@ -9,7 +9,7 @@ import (
"testing" "testing"
"time" "time"
"github.com/calmh/syncthing/events" "github.com/syncthing/syncthing/events"
) )
var timeout = 100 * time.Millisecond var timeout = 100 * time.Millisecond

View File

@ -8,7 +8,7 @@ import (
"os" "os"
"strings" "strings"
"github.com/calmh/syncthing/logger" "github.com/syncthing/syncthing/logger"
) )
var ( var (

View File

@ -5,8 +5,8 @@ import (
"sort" "sort"
"sync" "sync"
"github.com/calmh/syncthing/lamport" "github.com/syncthing/syncthing/lamport"
"github.com/calmh/syncthing/protocol" "github.com/syncthing/syncthing/protocol"
"github.com/syndtr/goleveldb/leveldb" "github.com/syndtr/goleveldb/leveldb"
"github.com/syndtr/goleveldb/leveldb/iterator" "github.com/syndtr/goleveldb/leveldb/iterator"
"github.com/syndtr/goleveldb/leveldb/opt" "github.com/syndtr/goleveldb/leveldb/opt"

View File

@ -8,8 +8,8 @@ package files
import ( import (
"sync" "sync"
"github.com/calmh/syncthing/lamport" "github.com/syncthing/syncthing/lamport"
"github.com/calmh/syncthing/protocol" "github.com/syncthing/syncthing/protocol"
"github.com/syndtr/goleveldb/leveldb" "github.com/syndtr/goleveldb/leveldb"
) )

View File

@ -9,9 +9,9 @@ import (
"sort" "sort"
"testing" "testing"
"github.com/calmh/syncthing/files" "github.com/syncthing/syncthing/files"
"github.com/calmh/syncthing/lamport" "github.com/syncthing/syncthing/lamport"
"github.com/calmh/syncthing/protocol" "github.com/syncthing/syncthing/protocol"
"github.com/syndtr/goleveldb/leveldb" "github.com/syndtr/goleveldb/leveldb"
"github.com/syndtr/goleveldb/leveldb/storage" "github.com/syndtr/goleveldb/leveldb/storage"
) )

View File

@ -367,10 +367,10 @@
<div class="container"> <div class="container">
<ul class="nav navbar-nav"> <ul class="nav navbar-nav">
<li><a class="navbar-link" href="http://discourse.syncthing.net/"><span translate>Support / Forum</span></a></li> <li><a class="navbar-link" href="http://discourse.syncthing.net/"><span translate>Support / Forum</span></a></li>
<li><a class="navbar-link" href="https://github.com/calmh/syncthing/releases"><span translate>Latest Release</span></a></li> <li><a class="navbar-link" href="https://github.com/syncthing/syncthing/releases"><span translate>Latest Release</span></a></li>
<li><a class="navbar-link" href="http://discourse.syncthing.net/category/documentation"><span translate>Documentation</span></a></li> <li><a class="navbar-link" href="http://discourse.syncthing.net/category/documentation"><span translate>Documentation</span></a></li>
<li><a class="navbar-link" href="https://github.com/calmh/syncthing/issues"><span translate>Bugs</span></a></li> <li><a class="navbar-link" href="https://github.com/syncthing/syncthing/issues"><span translate>Bugs</span></a></li>
<li><a class="navbar-link" href="https://github.com/calmh/syncthing"><span translate>Source Code</span></a></li> <li><a class="navbar-link" href="https://github.com/syncthing/syncthing"><span translate>Source Code</span></a></li>
</ul> </ul>
</div> </div>
</nav> </nav>

View File

@ -3,7 +3,7 @@ package luhn_test
import ( import (
"testing" "testing"
"github.com/calmh/syncthing/luhn" "github.com/syncthing/syncthing/luhn"
) )
func TestGenerate(t *testing.T) { func TestGenerate(t *testing.T) {

View File

@ -4,7 +4,7 @@
package model package model
import "github.com/calmh/syncthing/protocol" import "github.com/syncthing/syncthing/protocol"
type bqAdd struct { type bqAdd struct {
file protocol.FileInfo file protocol.FileInfo

View File

@ -8,7 +8,7 @@ import (
"os" "os"
"strings" "strings"
"github.com/calmh/syncthing/logger" "github.com/syncthing/syncthing/logger"
) )
var ( var (

View File

@ -15,12 +15,12 @@ import (
"sync" "sync"
"time" "time"
"github.com/calmh/syncthing/config" "github.com/syncthing/syncthing/config"
"github.com/calmh/syncthing/events" "github.com/syncthing/syncthing/events"
"github.com/calmh/syncthing/files" "github.com/syncthing/syncthing/files"
"github.com/calmh/syncthing/lamport" "github.com/syncthing/syncthing/lamport"
"github.com/calmh/syncthing/protocol" "github.com/syncthing/syncthing/protocol"
"github.com/calmh/syncthing/scanner" "github.com/syncthing/syncthing/scanner"
"github.com/syndtr/goleveldb/leveldb" "github.com/syndtr/goleveldb/leveldb"
) )

View File

@ -11,8 +11,8 @@ import (
"testing" "testing"
"time" "time"
"github.com/calmh/syncthing/config" "github.com/syncthing/syncthing/config"
"github.com/calmh/syncthing/protocol" "github.com/syncthing/syncthing/protocol"
"github.com/syndtr/goleveldb/leveldb" "github.com/syndtr/goleveldb/leveldb"
"github.com/syndtr/goleveldb/leveldb/storage" "github.com/syndtr/goleveldb/leveldb/storage"
) )

View File

@ -11,12 +11,12 @@ import (
"path/filepath" "path/filepath"
"time" "time"
"github.com/calmh/syncthing/config" "github.com/syncthing/syncthing/config"
"github.com/calmh/syncthing/events" "github.com/syncthing/syncthing/events"
"github.com/calmh/syncthing/osutil" "github.com/syncthing/syncthing/osutil"
"github.com/calmh/syncthing/protocol" "github.com/syncthing/syncthing/protocol"
"github.com/calmh/syncthing/scanner" "github.com/syncthing/syncthing/scanner"
"github.com/calmh/syncthing/versioner" "github.com/syncthing/syncthing/versioner"
) )
type requestResult struct { type requestResult struct {

View File

@ -8,7 +8,7 @@ import (
"os" "os"
"strings" "strings"
"github.com/calmh/syncthing/logger" "github.com/syncthing/syncthing/logger"
) )
var ( var (

View File

@ -9,7 +9,7 @@ import (
"regexp" "regexp"
"strings" "strings"
"github.com/calmh/syncthing/luhn" "github.com/syncthing/syncthing/luhn"
) )
type NodeID [32]byte type NodeID [32]byte

View File

@ -9,7 +9,7 @@ import (
"path/filepath" "path/filepath"
"sync" "sync"
"github.com/calmh/syncthing/protocol" "github.com/syncthing/syncthing/protocol"
) )
// The parallell hasher reads FileInfo structures from the inbox, hashes the // The parallell hasher reads FileInfo structures from the inbox, hashes the

View File

@ -9,7 +9,7 @@ import (
"crypto/sha256" "crypto/sha256"
"io" "io"
"github.com/calmh/syncthing/protocol" "github.com/syncthing/syncthing/protocol"
) )
const StandardBlockSize = 128 * 1024 const StandardBlockSize = 128 * 1024

View File

@ -9,7 +9,7 @@ import (
"fmt" "fmt"
"testing" "testing"
"github.com/calmh/syncthing/protocol" "github.com/syncthing/syncthing/protocol"
) )
var blocksTestData = []struct { var blocksTestData = []struct {

View File

@ -8,7 +8,7 @@ import (
"os" "os"
"strings" "strings"
"github.com/calmh/syncthing/logger" "github.com/syncthing/syncthing/logger"
) )
var ( var (

View File

@ -15,8 +15,8 @@ import (
"strings" "strings"
"code.google.com/p/go.text/unicode/norm" "code.google.com/p/go.text/unicode/norm"
"github.com/calmh/syncthing/lamport" "github.com/syncthing/syncthing/lamport"
"github.com/calmh/syncthing/protocol" "github.com/syncthing/syncthing/protocol"
) )
type Walker struct { type Walker struct {

View File

@ -11,7 +11,7 @@ import (
"testing" "testing"
"time" "time"
"github.com/calmh/syncthing/protocol" "github.com/syncthing/syncthing/protocol"
) )
var testdata = []struct { var testdata = []struct {

View File

@ -66,7 +66,7 @@ func UpgradeTo(rel Release) error {
// Returns the latest release, including prereleases or not depending on the argument // Returns the latest release, including prereleases or not depending on the argument
func LatestRelease(prerelease bool) (Release, error) { func LatestRelease(prerelease bool) (Release, error) {
resp, err := http.Get("https://api.github.com/repos/calmh/syncthing/releases?per_page=10") resp, err := http.Get("https://api.github.com/repos/syncthing/syncthing/releases?per_page=10")
if err != nil { if err != nil {
return Release{}, err return Release{}, err
} }

View File

@ -8,7 +8,7 @@ import (
"os" "os"
"strings" "strings"
"github.com/calmh/syncthing/logger" "github.com/syncthing/syncthing/logger"
) )
var ( var (

View File

@ -8,7 +8,7 @@ import (
"os" "os"
"strings" "strings"
"github.com/calmh/syncthing/logger" "github.com/syncthing/syncthing/logger"
) )
var ( var (

View File

@ -11,7 +11,7 @@ import (
"strconv" "strconv"
"time" "time"
"github.com/calmh/syncthing/osutil" "github.com/syncthing/syncthing/osutil"
) )
func init() { func init() {