Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | dotgit: rewrite packed-refs while holding lock | Jeremy Stribling | 2017-11-30 | 3 | -60/+103 |
| | | | | | | Windows file system doesn't let us rename over a file while holding that file's lock, so use rewrite as a last resort. It could result in a partially-written file, if there's a failure at the wrong time. | ||||
* | dotgit: open+lock packed-refs file until it doesn't change | Jeremy Stribling | 2017-11-29 | 1 | -18/+46 |
| | | | | Windows doesn't like it when we re-open a file we already have locked. | ||||
* | storage: some minor code cleanup | Jeremy Stribling | 2017-11-29 | 2 | -8/+4 |
| | | | | | | Suggested by mcuadros. Issue: #669 | ||||
* | plumbing: add `HasEncodedObject` method to Storer | Jeremy Stribling | 2017-11-29 | 2 | -0/+34 |
| | | | | | | | This allows the user to check whether an object exists, without reading all the object data from storage. Issue: KBFS-2445 | ||||
* | Make object repacking more configurable | Taru Karttunen | 2017-11-29 | 3 | -6/+18 |
| | |||||
* | Support for repacking objects | Taru Karttunen | 2017-11-29 | 3 | -13/+36 |
| | |||||
* | First pass of prune design | Taru Karttunen | 2017-11-29 | 3 | -10/+85 |
| | |||||
* | dotgit: use bufio for PackRefs | Jeremy Stribling | 2017-11-29 | 1 | -10/+8 |
| | | | | | | Suggested by taruti. Issue: #13 | ||||
* | dotgit: during rewriting, re-open packed-refs after locking | Jeremy Stribling | 2017-11-29 | 1 | -9/+21 |
| | | | | | | The file could have been completely replaced while waiting for the lock, so we need to re-open, otherwise we might be reading a stale file that has already been deleted/overwritten. | ||||
* | filesystem: todo comment about "all" param | Jeremy Stribling | 2017-11-29 | 1 | -0/+4 |
| | | | | Issue: KBFS-2517 | ||||
* | dotgit: fix up PackRefs comment for upstreaming | Jeremy Stribling | 2017-11-29 | 1 | -26/+8 |
| | |||||
* | filesystem: implement PackRefs() | Jeremy Stribling | 2017-11-29 | 4 | -0/+203 |
| | | | | | | | | | | Currently this implementation is only valid for kbfsgit, since it assumes some things about the filesystem not being updated during the packing, and about conflict resolution rules. In the future, it would be nice to replace this with a more general one, and move this kbfsgit-optimized implementation into kbfsgit. Issue: KBFS-2517 | ||||
* | all: simplification | ferhat elmas | 2017-11-29 | 3 | -16/+12 |
| | | | | | | | | | | - no length for map initialization - don't check for boolean/error return - don't format string - use string method of bytes buffer instead of converting bytes to string - use `strings.Contains` instead of `strings.Index` - use `bytes.Equal` instead of `bytes.Compare` | ||||
* | dotgit: add CheckAndSetReference tests | Jeremy Stribling | 2017-11-28 | 2 | -11/+27 |
| | |||||
* | Merge remote-tracking branch 'src-d/master' into gh-fast-forward-fetch | Jeremy Stribling | 2017-11-28 | 2 | -6/+76 |
|\ | |||||
| * | dotgit: don't list references twice | Jeremy Stribling | 2017-11-27 | 2 | -4/+20 |
| | | | | | | | | Restore the `seen` map that avoided listing packed-refs twice. | ||||
| * | dotgit: add a test for removing a ref from a file and packed-refs | Jeremy Stribling | 2017-11-27 | 1 | -0/+29 |
| | | |||||
| * | dotgit: remove loose ref AND packed ref, if both exist | Jeremy Stribling | 2017-11-27 | 1 | -3/+28 |
| | | | | | | | | Issue: KBFS-2509 | ||||
* | | Document Lock+Close usage | Taru Karttunen | 2017-11-27 | 1 | -0/+4 |
| | | |||||
* | | Use optionally locking when updating refs | Taru Karttunen | 2017-11-27 | 4 | -13/+76 |
|/ | |||||
* | all: fixes for ineffective assign | ferhat elmas | 2017-11-26 | 2 | -0/+2 |
| | |||||
* | update to go-billy.v4 and go-git-fixtures.v3 | Máximo Cuadros | 2017-11-23 | 10 | -16/+16 |
| | | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com> | ||||
* | dotgit: remove ref cache for packed refs | Miguel Molina | 2017-11-21 | 1 | -48/+29 |
| | | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co> | ||||
* | dotgit: avoid duplicated references returned by Refs | Miguel Molina | 2017-08-29 | 1 | -10/+15 |
| | | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co> | ||||
* | dotgit: rewrite the way references are looked up | Miguel Molina | 2017-08-26 | 2 | -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> | ||||
* | prevent PackWriter from using Notify if nothing was written | Miguel Molina | 2017-08-10 | 2 | -1/+22 |
| | | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co> | ||||
* | Merge pull request #501 from smola/config-multiple-urls | Máximo Cuadros | 2017-08-02 | 2 | -4/+4 |
|\ | | | | | config: multiple values in RemoteConfig (URLs and Fetch) | ||||
| * | config: multiple values in RemoteConfig (URLs and Fetch) | Santiago M. Mola | 2017-08-01 | 2 | -4/+4 |
| | | | | | | | | | | | | | | | | * 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 #515 from smola/reuse-packed-objects | Máximo Cuadros | 2017-07-27 | 5 | -9/+179 |
|\ \ | |/ |/| | storage: reuse deltas from packfiles | ||||
| * | storage: reuse deltas from packfiles | Santiago M. Mola | 2017-07-27 | 5 | -9/+179 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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). | ||||
* | | filesystem: reuse cache for packfile iterator | Santiago M. Mola | 2017-07-27 | 1 | -3/+4 |
|/ | |||||
* | plumbing/cache: change FIFO to LRU cache | Santiago M. Mola | 2017-07-27 | 1 | -1/+1 |
| | |||||
* | storage/filesystem: reuse delta cache | Santiago M. Mola | 2017-07-27 | 1 | -1/+9 |
| | | | | | Reuse delta base object cache for packfile decoders across multiple instances. | ||||
* | packfile: create packfile.Index and reuse it | Santiago M. Mola | 2017-07-26 | 2 | -45/+26 |
| | | | | | | | | | | | | | | | There was an internal type (i.e. storage/filesystem.idx) to use as in-memory index for packfiles. This was not convenient to reuse in the packfile. This commit creates a new representation (format/packfile.Index) that can be converted to and from idxfile.Idxfile. A packfile.Index now contains the functionality that was scattered on storage/filesystem.idx and packfile.Decoder's internals. storage/filesystem now reuses packfile.Index instances and this also results in higher cache hit ratios when resolving deltas. | ||||
* | Merge pull request #491 from smola/error-checks | Máximo Cuadros | 2017-07-19 | 9 | -26/+96 |
|\ | | | | | *: add more IO error checks | ||||
| * | storage/filesystem: check all Close errors | Santiago M. Mola | 2017-07-19 | 5 | -24/+32 |
| | | |||||
| * | test: add more PackfileWriter tests | Santiago M. Mola | 2017-07-19 | 4 | -2/+64 |
| | | |||||
* | | storage: dotgit, fix test not closing files | Máximo Cuadros | 2017-07-19 | 2 | -0/+2 |
| | | |||||
* | | storage: dotgit, close temp file before rename | Máximo Cuadros | 2017-07-18 | 1 | -6/+9 |
|/ | |||||
* | Fixed modules directory path | Cromel-PC\Cromel | 2017-06-28 | 2 | -2/+2 |
| | |||||
* | fix race on packfile writer | Santiago M. Mola | 2017-06-27 | 1 | -1/+1 |
| | |||||
* | storage/filesystem: Fix nil dereference in Shallow() | JP Sugarbroad | 2017-06-23 | 1 | -1/+1 |
| | | | This code crashes if the shallow file doesn't exist. | ||||
* | internal/dotgit: rewrite code to avoid stackoverflow errors | Antonio Jesus Navarro Perez | 2017-06-19 | 1 | -6/+6 |
| | |||||
* | fix merge commit | Máximo Cuadros | 2017-06-18 | 1 | -4/+0 |
| | |||||
* | *: upgrade to go-billy.v3, merge | Máximo Cuadros | 2017-06-18 | 1 | -0/+4 |
|\ | |||||
| * | Merge pull request #369 from smola/windows | Máximo Cuadros | 2017-06-17 | 2 | -11/+10 |
| |\ | | | | | | | Windows support | ||||
| | * | dotgit: support reading reference files in Windows | Santiago M. Mola | 2017-06-02 | 1 | -9/+8 |
| | | | |||||
| | * | test: more Windows path handling | Santiago M. Mola | 2017-06-02 | 1 | -2/+2 |
| | | | |||||
* | | | *: upgrade to go-billy.v3, merge | Máximo Cuadros | 2017-06-18 | 9 | -38/+43 |
|/ / | |||||
* | | fix gofmt | Santiago M. Mola | 2017-06-13 | 1 | -2/+2 |
| | |