summaryrefslogtreecommitdiff
path: root/Git
Commit message (Collapse)AuthorAge
* Pass -S to git commit-tree when commit.gpgsign is set and when making a ↵Gravatar Joey Hess2016-06-02
| | | | non-automatic commit, in order to preserve current behavior when used with git 1.9, which has stopped doing this itself.
* minor typo fixes throughoutGravatar Yaroslav Halchenko2016-06-02
| | | | | problematic flexibility
* Windows: Avoid terminating git-annex branch lines with \r\n when union merging.Gravatar Joey Hess2016-05-27
|
* git's handing of relative GIT_INDEX_FILE is more insane than I thought; ↵Gravatar Joey Hess2016-05-22
| | | | | | | | | | | | | | | always make absolute This is actually worse than I thought; when git is being run with a detached work tree, GIT_INDEX_FILE is treated as a path relative to CWD, instead of the normal behavior of relative the top of the work tree. This seems to make it basically impossible for any program that wants to use GIT_INDEX_FILE to use anything other than an absolute path to it; there are too many configurations to keep straight that can change how git interprets what should be a simple relative path to a file. (I have complained to the git developers.)
* unify handling of unusual GIT_INDEX_FILE relative pathGravatar Joey Hess2016-05-17
| | | | This is probably a git bug that stuck in its interface.
* Work around git bug in handling of relative path to GIT_INDEX_FILE when in a ↵Gravatar Joey Hess2016-05-17
| | | | | | | | subdirectory of the repository. This affected git annex view. It turns out that some other places that use GIT_INDEX_FILE were already working around the bug. I removed the workaround from Annex.Branch since the new workaround will do.
* Propigate GIT_DIR and GIT_WORK_TREE environment to external special remotes.Gravatar Joey Hess2016-05-06
| | | | | | | | | Since git-annex unsets these when started, they have to be explicitly propigated. Also, this makes --git-dir and --work-tree settings be reflected in the environment. The need for this came up in https://github.com/DanielDent/git-annex-remote-rclone/issues/3
* more windows path fixesGravatar Joey Hess2016-05-04
| | | | | Let git-style filepaths be looked up in the removeset, even though windows-style filepaths are probably being fed into it.
* more windows path fixesGravatar Joey Hess2016-05-04
| | | | | beneathSubTree can be called with both windows-style and git-style paths, so needs to normalize to windows-style.
* avoid hardcoded slashes; broke on windowsGravatar Joey Hess2016-05-03
|
* --allow-unrelated-histories will be in git 2.9.0, not 2.8.2Gravatar Joey Hess2016-04-27
| | | | Also, I had the logic backwards in the version comparison.
* use --allow-unrelated-histories for nowGravatar Joey Hess2016-04-22
| | | | | | | | I'd prefer to use the env var, but let's use what git currently supports. Revert this when the env var gets supported. Note that the version checking assumes git 2.8.2 will get support for the switch.
* assistant: Deal with upcoming git's refusal to merge unrelated histories by ↵Gravatar Joey Hess2016-04-22
| | | | | | | | | | | | | default git 2.8.1 (or perhaps 2.9.0) is going to prevent git merge from merging in unrelated branches. Since the webapp's pairing etc features often combine together repositories with unrelated histories, work around this behavior change by setting GIT_MERGE_ALLOW_UNRELATED_HISTORIES when the assistant merges. Note though that this is not done for git annex sync's merges, so it will follow git's default or configured behavior.
* fix build with ghc 7.6.3Gravatar Joey Hess2016-04-08
|
* avoid withWorkTreeRelated affecting annex symlink calculationGravatar Joey Hess2016-04-08
|
* run out of tree merge with --no-ffGravatar Joey Hess2016-04-06
| | | | | | This is how direct mode does it too, and somehow, for reasons that currently escape me, this makes git merge not care if it's run with an empty work tree.
* sync: Show output of git commit.Gravatar Joey Hess2016-04-05
| | | | | | Rationalle: User might have hook scripts whose output they want to see. Also, git commit output may tell the user they forgot to add a file. The output is not too ugly when there's nothing to commit.
* Upgrading a direct mode repository to v6 has changed to enter an adjusted ↵Gravatar Joey Hess2016-04-04
| | | | | | | | unlocked branch. This makes the direct mode to v6 upgrade able to be performed in one clone of a repository without affecting other clones, which can continue using v5 and direct mode.
* fix parsing of commit with no parentsGravatar Joey Hess2016-03-31
|
* 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
|