aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* plumbing: use `seen` map in tree walkerJeremy Stribling2017-08-275-11/+43
| | | | | | | This helps avoids iterating down the same trees for every commit. For a big-ish repo with 35K objects (17K commits), this reduced the time for calling `revlist.Objects` during a push (with 0 hashes to ignore) from more than ten minutes to less than a minute.
* Merge pull request #558 from orirawlings/cloneAnnotatedTagMáximo Cuadros2017-08-272-12/+62
|\ | | | | repository: Resolve commit when cloning annotated tag, fixes #557
| * repository: Resolve commit when cloning annotated tag, fixes #557Ori Rawlings2017-08-242-12/+62
| |
* | Merge pull request #563 from erizocosmico/perf/dotgit-ref-cacheMáximo Cuadros2017-08-272-24/+76
|\ \ | |/ |/| dotgit: rewrite the way references are looked up
| * dotgit: rewrite the way references are looked upMiguel Molina2017-08-262-24/+76
| | | | | | | | | | | | Now there's only two ways of getting a reference, by checking under refs/ directory or in packed-refs. refs/ directory is checked using a direct read by reference name and packed refs are cached until they have been changed. Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* | grammar correctionZach Gershman2017-08-241-1/+1
|/ | | *stopped instead of stop
* Merge pull request #555 from mcuadros/ctx-exampleMáximo Cuadros2017-08-223-0/+48
|\ | | | | _examples: context
| * _examples: contextMáximo Cuadros2017-08-223-0/+48
|/
* Merge pull request #552 from mcarmonaa/fix/packp-adv-refs-encodeMáximo Cuadros2017-08-192-38/+56
|\ | | | | packp: fixed encoding when HEAD is not a valid ref
| * packp: fixed encoding when HEAD is not a valid refManuel Carmona2017-08-182-38/+56
|/
* Merge pull request #546 from orirawlings/pullExampleMáximo Cuadros2017-08-143-1/+61
|\ | | | | examples: add example for pulling changes
| * Add example for pulling changesOri Rawlings2017-08-133-1/+61
|/
* Merge pull request #544 from erizocosmico/fix/race-condition-object-lruMáximo Cuadros2017-08-122-0/+39
|\ | | | | fix race condition on ObjectLRU
| * fix race condition on ObjectLRUMiguel Molina2017-08-112-0/+39
|/ | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* Merge pull request #543 from erizocosmico/fix/packwriter-unused-notifyMáximo Cuadros2017-08-102-1/+22
|\ | | | | prevent PackWriter from using Notify if nothing was written
| * prevent PackWriter from using Notify if nothing was writtenMiguel Molina2017-08-102-1/+22
|/ | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* README.md: added appveyorMáximo Cuadros2017-08-101-1/+1
|
* Merge pull request #540 from mcarmonaa/fix/git-transport-windows-testMáximo Cuadros2017-08-101-0/+6
|\ | | | | *: windows support, skipped receive_pack_test for git transport
| * skipped receive_pack_test for git transport in windowsManuel Carmona2017-08-101-0/+6
| |
* | Merge pull request #538 from kimh/user-current-crosscompile-errorMáximo Cuadros2017-08-101-6/+20
|\ \ | | | | | | Avoid using user.Current()
| * | Avoid using user.Current()Kim, Hirokuni2017-08-081-6/+20
| |/ | | | | | | | | user.Current() causes 'Current not implemented' error when crosscompiled. See https://github.com/golang/go/issues/6376
* | Merge pull request #542 from mcarmonaa/fix/config-marhalMáximo Cuadros2017-08-102-4/+12
|\ \ | |/ |/| serialized remotes in alphabetical order
| * serialized remotes in alphabetical orderManuel Carmona2017-08-102-4/+12
|/
* *: windows support, some more fixes (2) (#536)Manuel Carmona2017-08-075-1/+33
| | | | | | | | | | | | | | * fixed windows failed test: "143 FAIL: worktree_test.go:314: WorktreeSuite.TestFilenameNormalization" * fixed windows failed test: "489: FAIL: auth_method_test.go:106: SuiteCommon.TestNewSSHAgentAuthNoAgent" * fixed windows failed test: "279 FAIL: server_test.go:50: ServerSuite.TestClone" fixed windows failed test: "298 FAIL: server_test.go:37: ServerSuite.TestPush" * fixed windows failed test: "316 FAIL: <autogenerated>:26: UploadPackSuite.TearDownSuite" * fixed windows failed test: "FAIL: <autogenerated>:6: IndexSuite.TearDownSuite"
* Merge pull request #527 from strib/win-pack-cmdsMáximo Cuadros2017-08-042-2/+75
|\ | | | | plumbing: fix pack commands for the file client on Windows
| * plumbing: fix pack commands for the file client on WindowsJeremy Stribling2017-08-032-2/+75
| | | | | | | | | | | | The default git install on Windows doesn't come with commands for receive-pack and upload-pack in the default $PATH. Instead, use --exec-path to find pack executables in that case.
* | *: windows support, some more fixes (#533)Manuel Carmona2017-08-035-7/+15
| | | | | | | | | | | | | | | | | | | | * fixed windows failed test: "134 FAIL: repository_test.go:340: RepositorySuite.TestPlainOpenBareRelativeGitDirFileTrailingGarbage" * fixed windows failed test: "143 FAIL: worktree_test.go:367: WorktreeSuite.TestCheckoutIndexOS" * fixed windows failed test: "296 FAIL: receive_pack_test.go:36: ReceivePackSuite.TearDownTest" * fixed windows failed test: "152 FAIL: worktree_test.go:278: WorktreeSuite.TestCheckoutSymlink"
* | Merge pull request #526 from joshbetz/fix/filename-formMáximo Cuadros2017-08-023-2/+61
|\ \ | | | | | | Normalize filenames before comparing.
| * | worktree: normalized string comparison testsMáximo Cuadros2017-08-022-1/+54
| | |
| * | Normalize filenames before comparing.Josh Betz2017-07-311-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | Some multibyte characters can have multiple representations. Before comparing strings, we need to normalize them. In this case we're normalizing to normalized form C, but it shouldn't matter as long as both strings are normalized to the same form. Fixes https://github.com/src-d/go-git/issues/495
* | | Merge pull request #532 from mcuadros/fix-shalloMáximo Cuadros2017-08-022-15/+44
|\ \ \ | | | | | | | | Remote.Clone fix clone of tags in shallow mode
| * | | Remote.Clone fix clone of tags in shallow modeMáximo Cuadros2017-08-022-15/+44
|/ / /
* | | Merge pull request #531 from mcuadros/ref-nameMáximo Cuadros2017-08-027-39/+37
|\ \ \ | | | | | | | | plumbing: moved `Reference.Is*` methods to `ReferenceName.Is*`
| * | | *: use the new API for ReferenceName.Is* methodsMáximo Cuadros2017-08-025-15/+13
| | | |
| * | | plumbing: moved `Reference.Is*` methods to `ReferenceName.Is*`Máximo Cuadros2017-08-022-24/+24
| | | |
* | | | Merge pull request #501 from smola/config-multiple-urlsMáximo Cuadros2017-08-0217-81/+219
|\ \ \ \ | |_|/ / |/| | | config: multiple values in RemoteConfig (URLs and Fetch)
| * | | config: preserve option order on config marshallingSantiago M. Mola2017-08-017-24/+99
| | | | | | | | | | | | | | | | | | | | Do not change order of options (e.g. in RemoteConfig) when serializing for any option whose value has not changed.
| * | | format/config: add GoStringSantiago M. Mola2017-08-012-1/+32
| | | | | | | | | | | | | | | | This is more convenient for testing and debugging.
| * | | config: multiple values in RemoteConfig (URLs and Fetch)Santiago M. Mola2017-08-0112-61/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Change `URL string` to `URL []string` in `RemoteConfig`, since git allows multiple URLs per remote. See: http://marc.info/?l=git&m=116231242118202&w=2 * Fix marshalling of multiple fetch refspecs.
* | | | Merge pull request #522 from devonbarrett/reuse-auth-#521Máximo Cuadros2017-07-292-8/+11
|\ \ \ \ | |_|/ / |/| | / | | |/ | |/| reuse Auth method when recursing submodules, fixes #521
| * | reuse Auth method when recursing submodules, fixes #521Devon Barrett2017-07-292-8/+11
|/ /
* | transport: fix ssh override config, fixes #519v4.0.0-rc13Máximo Cuadros2017-07-282-5/+40
| |
* | Submodule.Update, add Auth to SubmoduleUpdateOption, fixes #520Máximo Cuadros2017-07-282-1/+3
| |
* | Merge pull request #516 from smola/revlist-perfMáximo Cuadros2017-07-281-1/+28
|\ \ | | | | | | revlist: ignore all objects reachable from ignored objects
| * | revlist: ignore all objects reachable from ignored objectsSantiago M. Mola2017-07-271-1/+28
| | | | | | | | | | | | | | | | | | | | | Usually we call revlist.Objects ignoring a set of commits. This is not enough to ignore everything reachable from such set, so we first get all objects reachable from the ignored set and then walk the tree again ignoring that new set.
* | | Merge pull request #515 from smola/reuse-packed-objectsMáximo Cuadros2017-07-2712-93/+493
|\ \ \ | |_|/ |/| | storage: reuse deltas from packfiles
| * | plumbing: add IsDelta method to ObjectTypeSantiago M. Mola2017-07-272-6/+8
| | | | | | | | | | | | | | | ObjectType.IsDelta is a convenience function to match both offset and reference delta types.
| * | storage: reuse deltas from packfilesSantiago M. Mola2017-07-2712-107/+491
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * plumbing: add DeltaObject interface for EncodedObjects that are deltas and hold additional information about them, such as the hash of the base object. * plumbing/storer: add DeltaObjectStorer interface for object storers that can return DeltaObject. Note that calls to EncodedObject will never return instances of DeltaObject. That requires explicit calls to DeltaObject. * storage/filesystem: implement DeltaObjectStorer interface. * plumbing/packfile: packfile encoder now supports reusing deltas that are already computed (e.g. from an existing packfile) if the storage implements DeltaObjectStorer. Reusing deltas boosts performance of packfile generation (e.g. on push).
| * | test: improve packfile.Encoder testsSantiago M. Mola2017-07-271-54/+68
| | | | | | | | | | | | | | | | | | | | | * Improve checks for encode/decode. * Make it easier to extend this test with more storage backends.
* | | Merge pull request #517 from smola/more-cache-reuseMáximo Cuadros2017-07-271-3/+4
|\ \ \ | |/ / |/| | filesystem: reuse cache for packfile iterator