aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* transport/file: fix race condition on test (#267)Alberto Cortés2017-02-151-45/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sometimes, the `TestClone` and `TestPush` tests of `transport/file` fail in travis. This is due to a race condition caused by an incorrect usage of `Cmd.Wait()` while reading from the output and error pipes of the command. This patch fixes the problem by using `Cmd.CombinedOutput()` instead of calling `Cmd.Start()` and `Cmd.Wait()` while reading from the output and error pipes. Details: From the `exec` package documentation: ``` Wait will close the pipe after seeing the command exit, so most callers need not close the pipe themselves; however, an implication is that it is incorrect to call Wait before all reads from the pipe have completed. For the same reason, it is incorrect to call Run when using StdoutPipe. ``` In our tests, the old `execAndGetOutput` function was creating two gorutines to read from the stderr and stdout pipes of the command and then call `Wait` on the command. This caused a race condition: when the `Wait` call finished before the gorutines have read from the pipes, they returned caused an error on `outErr`. The problem only happens sometimes on travis. To reproduce the problem locally, just add a call to time.Sleep(time.Second) to the gorutine before its `ioutil.ReadAll` call to delay them, then `Wait` will always finish before them, closing the pipes, and the gorutines will fail. The returned error detected by the test will be: ``` FAIL: server_test.go:55: ServerSuite.TestClone server_test.go:65: c.Assert(err, IsNil, Commentf("STDOUT:\n%s\nSTDERR:\n%s\n", stdout, stderr)) ... value *os.PathError = &os.PathError{Op:"read", Path:"|0", Err:0x9} ("read |0: bad file descriptor") ... STDOUT: STDERR: ```
* merkletrie: fix const action type fuck up (#268)Alberto Cortés2017-02-142-1/+12
| | | | Action constants (Insert, Delete, Modify) have type int instead of Action. This patch make them Actions.
* transport/file: delete suite tmp dir at teardown (#266)Alberto Cortés2017-02-131-5/+12
| | | | | | | | | | | The transport/file common suite test generates a temporal directory; It is used to store the go-git client command and some links to it: git-upload-pack and git-receive-pack. This directory is not deleted at the test teardown, so every time we run a test, we pollute "/tmp". This patch adds a teardown function for the suite that deletes the temporal directory. It also calls the teardown of the embedded fixtures.Suite, which is probably what we want also. I have also simplify the call to ioutil.TempDir as it already uses the default tmp dir if no dir is provided.
* simplify noder mocks in test (#265)Alberto Cortés2017-02-132-18/+4
|
* add difftree for noders (#262)Alberto Cortés2017-02-137-13/+1246
| | | | | difftree for noders
* Merge pull request #263 from smola/public-storageMáximo Cuadros2017-02-105-54/+52
|\ | | | | git: make Storer public in Repository.
| * git: make Storer public in Repository.Santiago M. Mola2017-02-095-54/+52
|/
* Merge pull request #258 from ajnavarro/fix/onf-decoderAntonio Navarro Perez2017-02-093-10/+71
|\ | | | | Fix missing objects if they where deltified using ref-delta
| * Fix missing objects if they where deltified using ref-deltaAntonio Jesus Navarro Perez2017-02-073-10/+71
| | | | | | | | | | - Deleted invalid logic that returned nil if an ref-delta was not found into the decoder index. This logic was missing objects if it was deltified using ref-deltas. - Now, to avoid that problem, index is mandatory to decode correctly a packfile of a specific type. Decoder.SetOffsets method now is called into the EncodedObjectIterator to avoid this problem.
* | Merge pull request #259 from smola/docsMáximo Cuadros2017-02-089-56/+110
|\ \ | | | | | | Improve documentation
| * | doc: improve object.Tag godoc.Santiago M. Mola2017-02-081-3/+7
| | |
| * | doc: add godoc to SignatureSantiago M. Mola2017-02-071-3/+6
| | |
| * | doc: improve godoc for WalkCommitHistory.Santiago M. Mola2017-02-071-1/+5
| | |
| * | doc: add object fields godocSantiago M. Mola2017-02-074-6/+21
| | |
| * | doc: improve object iterators godoc.Santiago M. Mola2017-02-076-27/+38
| | |
| * | doc: improve docs for object package.Santiago M. Mola2017-02-062-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | * add package description. * add godoc to DecodeBlob. * clarify godoc for Object and Blob.
| * | doc: improve ioutil.CheckClose doc and example, fix #246.Santiago M. Mola2017-02-062-14/+26
| | | | | | | | | | | | | | | | | | * Use a proper executable example, instead of one in the comment. * Improve wording of CheckClose godoc.
| * | doc: add package documentation for utils/ioutil, fix #246.Santiago M. Mola2017-02-061-0/+1
| |/
* | package plumbing documentation improvements (#248)Máximo Cuadros2017-02-0720-834/+637
| |
* | Add revision implementation (#139)Anthony HAMON2017-02-068-0/+1546
| |
* | add merkletrie iterator and its helper frame type (#252)Alberto Cortés2017-02-064-0/+873
|/ | | | | | | | * add merkletrie iterator and its helper frame type * requested changes by mcuadros * reuqested changes: smola
* removing import enforcementMáximo Cuadros2017-02-031-1/+1
|
* Fix compile-time error on Windows (#251)Mateusz Byczkowski2017-02-023-17/+19
| | | | | | syscall.Stat_t it not defined on Windows platform, and hence go-git won't compile on Windows. It's better to pass more generic output of FileInfo `Sys()` (of type interface{}) to `fillSystemInfo` and handle type assertion separately for each platform.
* examples: aerospike example (#250)Máximo Cuadros2017-02-023-2/+109
|
* Update README.mdMáximo Cuadros2017-02-011-1/+1
|
* removing import rule, to try to get godoc runningv4.0.0-rc9Máximo Cuadros2017-02-011-1/+1
|
* fix example folderMáximo Cuadros2017-02-0111-16/+16
|
* documentation changesMáximo Cuadros2017-01-3123-82/+169
|
* Updated README.md (Fixes #243)Máximo Cuadros2017-01-311-7/+33
|
* fix worktree at non linux osMáximo Cuadros2017-01-313-7/+44
|
* config: RefSpec.Validate returning errors and doc (Fixes #232)Máximo Cuadros2017-01-315-31/+56
|
* skip ssh testMáximo Cuadros2017-01-311-2/+4
|
* fix travisv4.0.0-rc8Máximo Cuadros2017-01-311-2/+2
|
* new srcd.works/go-git.v4 pathMáximo Cuadros2017-01-30182-441/+441
|
* new git fixture pathMáximo Cuadros2017-01-3030-341/+29
|
* rename billy importsMáximo Cuadros2017-01-3016-472/+39
|
* delete old noder, create a new one in utils (#241)Alberto Cortés2017-01-3020-1004/+1466
|
* Fix some typos in plumbing docs (#244)Sergio Arbeo2017-01-3016-32/+32
|
* Merge pull request #229 from mcuadros/worktreeMáximo Cuadros2017-01-3031-345/+1320
|\ | | | | Worktree and new Repository Contructors
| * example: using new constructorsMáximo Cuadros2017-01-3016-179/+489
| |\ | |/ |/|
* | Repository.Progress moved as a field in *Options (#237)Máximo Cuadros2017-01-308-62/+87
| |
* | Typo in fixtures (#240)Sergio Arbeo2017-01-301-1/+1
| |
* | Fix typos in git docs (#230)Sergio Arbeo2017-01-302-10/+10
| |
* | Fix typos in cache pkg (#235)Sergio Arbeo2017-01-301-2/+2
| |
* | Fix typos in config pkg (#233)Sergio Arbeo2017-01-302-3/+3
| |
* | config: fix TestUnmarshallMarshall testMáximo Cuadros2017-01-301-4/+1
| |
* | Merge pull request #227 from mcuadros/submodulesMáximo Cuadros2017-01-305-98/+389
|\ \ | | | | | | config: marshal and unmarshal done inside of the package, and submodules config file
| * | config: documentation improvementsMáximo Cuadros2017-01-304-34/+45
| | |
| * | config: modules, marshal and unmarshal implementationMáximo Cuadros2017-01-262-20/+160
| | |
| * | config: marshal and unmarshal implementationMáximo Cuadros2017-01-263-95/+169
| | |