summaryrefslogtreecommitdiff
path: root/Git
Commit message (Collapse)AuthorAge
...
* add reflog messagesGravatar Joey Hess2016-03-31
|
* Merge branch 'master' into adjustedbranchGravatar Joey Hess2016-03-29
|\
| * Sped up git-annex merge by using git hash-object --batch.Gravatar Joey Hess2016-03-14
| | | | | | | | | | | | | | This does mean that it has to write out temp files containing updated objects for the merge. So may use more disk space, and disk IO, but that should generally win out over needing to launch N separate git hash-object processes.
* | grafting new items into existing treeGravatar Joey Hess2016-03-11
| |
* | refactorGravatar Joey Hess2016-03-11
| |
* | fixmeGravatar Joey Hess2016-03-11
| |
* | fix deletion of files in adjustTreeGravatar Joey Hess2016-03-11
| |
* | improve propigation of commits from adjusted branchesGravatar Joey Hess2016-03-11
| | | | | | | | | | | | | | | | | | | | | | Only reverse adjust the changes in the commit, which means that adjustments do not need to be generally cleanly reversable. For example, an adjustment can unlock all locked files, but does not need to worry about files that were originally unlocked when reversing, because it will only ever be run on files that have been changed. So, it's ok if it locks all files when reversed, or even leaves all files as-is when reversed.
* | indentGravatar Joey Hess2016-03-11
| |
* | fix warningGravatar Joey Hess2016-03-11
| |
* | allow adding new items via adjustTreeGravatar Joey Hess2016-03-11
| |
* | add commitDiff, and clean up partial functionGravatar Joey Hess2016-03-11
| |
* | extract commit parent(s)Gravatar Joey Hess2016-03-11
| |
* | working toward adjusted commit propigationGravatar Joey Hess2016-03-03
| |
* | replicate git's message about an existing lock fileGravatar Joey Hess2016-03-03
| |
* | support for git-style lock files, on unix and windowsGravatar Joey Hess2016-03-03
| |
* | make sync aware of adjusted branchesGravatar Joey Hess2016-02-29
|/ | | | | | | | | | So, it will pull and push the original branch, not the adjusted one. And, for merging, it will use updateAdjustedBranch (not implemented yet). Note that remaining uses of Git.Branch.current need to be checked too; for things that should act on the original branch, and not the adjusted branch.
* fix android buildGravatar Joey Hess2016-02-29
|
* forgot to use sfileGravatar Joey Hess2016-02-26
|
* add fromBlobTypeGravatar Joey Hess2016-02-25
|
* factor out commitTreeGravatar Joey Hess2016-02-25
|
* add catCommit, with commit object parserGravatar Joey Hess2016-02-25
|
* refactorGravatar Joey Hess2016-02-25
|
* parse strictlyGravatar Joey Hess2016-02-23
| | | | | This reduces memory use, because it avoids thunks that buffer parts of the ls-tree output that are not needed.
* better encapsulationGravatar Joey Hess2016-02-23
|
* few strictness improvemnetsGravatar Joey Hess2016-02-23
|
* refactorGravatar Joey Hess2016-02-23
|
* add adjustTree (low-level) interface that avoids buffering much in memoryGravatar Joey Hess2016-02-23
| | | | | Using getTree and recordTree in my big repo takes 594 mb ram. Using adjustTree takes 73 mb.
* remove support for network older than 2.4Gravatar Joey Hess2016-02-23
| | | | debian stable has 2.4
* no streamingGravatar Joey Hess2016-02-23
| | | | | | | | | | | | | | | | | | | | extractTree has to parse the whole input list in order to generate a tree, so convert interface to non-streaming. Some quick memory benchmarks in a repo with 60k files don't look too bad despite not streaming. To stream, without building up a whole tree object, one way would be a new interface: adjustTree :: MonadIO m :: (TreeItem -> m (Maybe TreeItem)) -> Ref -> Repo -> m Sha This would only need to buffer tree objects from the current one down to the root, in order to update trees when a TreeItem is changed. But, while it supports changing items in the tree, and removing items, it does not support adding new items, or moving items from one directory to another.
* use getShaGravatar Joey Hess2016-02-23
|
* minor improvementsGravatar Joey Hess2016-02-23
|
* add mktree interfaceGravatar Joey Hess2016-02-23
|
* fix handling of unspecified attributes (particularly for annex.largefiles)Gravatar Joey Hess2016-02-05
|
* annex.largefiles can be configured in .gitattributes tooGravatar Joey Hess2016-02-02
| | | | | This is particulary useful for v6 repositories, since the .gitattributes configuration will apply in all clones of the repository.
* immediate queue flushing when annex.queuesize=1Gravatar Joey Hess2016-01-13
| | | | | | | | | Previously, it only flushed when the queue got larger than 1. Also, make the queue auto-flush when items are added, rather than needing to be flushed as a separate step. This simplifies the code and make it more efficient too, as it avoids needing to read the queue out of the state to check if it should be flushed.
* optimiseGravatar Joey Hess2016-01-06
| | | | | | | | | | | | d1ce927d95fe7c331cbff3317797a60aa288738b put a cat-file into the fast bloomfilter generation path. Instead, add another bloom filter which diffs from the work tree to the index. Also, pull the sha of the changed object out of the diffs, and cat that object directly, rather than indirecting through the filename. Finally, removed some hacks that are unncessary thanks to the worktree to index diff.
* clarify absPathFromGravatar Joey Hess2016-01-05
| | | | | | | | | | | | The repo path is typically relative, not absolute, so providing it to absPathFrom doesn't yield an absolute path. This is not a bug, just unclear documentation. Indeed, there seem to be no reason to simplifyPath here, which absPathFrom does, so instead just combine the repo path and the TopFilePath. Also, removed an export of the TopFilePath constructor; asTopFilePath is provided to construct one as-is.
* use TopFilePath for associated filesGravatar Joey Hess2016-01-05
| | | | | | | | | | | | | | | Fixes several bugs with updates of pointer files. When eg, running git annex drop --from localremote it was updating the pointer file in the local repository, not the remote. Also, fixes drop ../foo when run in a subdir, and probably lots of other problems. Test suite drops from ~30 to 11 failures now. TopFilePath is used to force thinking about what the filepath is relative to. The data stored in the sqlite db is still just a plain string, and TopFilePath is a newtype, so there's no overhead involved in using it in DataBase.Keys.
* improve data typeGravatar Joey Hess2016-01-01
|
* wait for git lstree to exitGravatar Joey Hess2016-01-01
|
* remove old TODOGravatar Joey Hess2016-01-01
|
* fix use of hifalutin terminologyGravatar Joey Hess2015-11-16
|
* work around git check-ignore --batch bad exit status bug, and bring back ↵Gravatar Joey Hess2015-11-06
| | | | import -J
* merge git command queue when joining with concurrent threadGravatar Joey Hess2015-11-05
|
* Catch up with current git behavior when both repo and repo.git exist; it ↵Gravatar Joey Hess2015-10-26
| | | | seems it now prefers repo in this case, although historically it may have preferred repo.git.
* fix various build warnings, mostly on WindowsGravatar Joey Hess2015-10-13
| | | | And some when S3 is disabled
* status: Show added but not yet committed files.Gravatar Joey Hess2015-09-22
| | | | | | | | | | | Seems easy, but git ls-files can't list the right subset of files. So, I wrote a whole new parser for git status output, and converted the status command to use that. There are a few other small behavior changes. The order changed. Unlocked files show as T. In indirect mode, deleted files were not shown before, and that's fixed. Regular files checked directly into git and modified were not shown before, and are now.
* Switched to using git for Windows, rather than msysgit.Gravatar Joey Hess2015-09-10
| | | | | | | | | | | | | | | | | | Using msysgit with git-annex is no longer supported. At the same time, I'm updating the rsync.exe in my downloads repository with the one from msys2. Note that rsync is currently still being ldded and installed in Git/cmd/ like the other cygwin programs. The ldd fails and this failure is ignored. It would be better to special case it to go in Git/usr/bin/, so that the user can't run rsync in a dos prompt window, which doesn't work, as it needs additional libs. However, as far as git-annex running rsync running ssh, it works ok in this location. Removed the ssh.cmd and ssh-keygen.cmd; these are not needed with git for windows. Keeping them would let ssh be run manually from a dos prompt window, but that's not really a goal.
* avoid nul-truncationGravatar Joey Hess2015-08-11
| | | | | | | This might be a little slower, but it's safer, in the event that a union-merged file contains a NUL. AFAIK, no files in the git-annex branch do.