-
Notifications
You must be signed in to change notification settings - Fork 110
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update for latest git-annex #4214
Commits on Feb 27, 2020
-
TST: save: Add test of dotfile behavior
This is particularly worth doing because the latest git-annex release (8.20200226) changes its treatment of dotfiles and removes --include-dotfiles.
Configuration menu - View commit details
-
Copy full SHA for 08eb090 - Browse repository at this point
Copy the full SHA 08eb090View commit details -
RF: annexrepo: Adjust for removal of --include-dotfiles
Unless git-annex is passed dotfiles explicitly, it skips them by default. This differs from git's behavior of adding the dotfiles regardless of whether they are given as explicit pathspecs. To make 'git annex add' behave more consistently with 'git add', AnnexRepo passes --include-dotfiles to it in two independent spots, _save_add() and add_(). However, git-annex version 8.20200226, specifically 3cd375723 (annex.dotfiles, 2019-12-26), drops --include-dotfiles and changes the behavior described above: git-annex no longer skips dotfiles, but instead adds them to git (unless instructed otherwise by annex.dotfiles or annex.largefiles/--force-large). Try to make the behavior more consistent with older git-annex versions we support by * continuing to use --include-dotfiles if it is available. We cache its availability in a new class method. Note that the method is written in a more general way to anticipate the need for more such kludges, including the new --force-{large,small} options. * Unconditionally use '-c annex.dotfiles=true' in our git-annex calls so that the addition of dotfiles honors annex.largefiles and friends, like they do in earlier git-annex versions. At this point, the main behavior discrepancy that we expose between 8.20200226 and earlier versions is that `repo.add(<directory>, git=False)` will _not_ skip dotfiles with 8.20200226 while it will with older versions. This doesn't seem worth worrying about because core.local.save()/repo._save_add() aren't susceptible to this issue because they deal with status-expanded paths (i.e. they don't end up calling `git annex add` with directories, making git-annex's old dotfile skipping behavior irrelevant). Re: datalad#4185 Re: datalad#4213
Configuration menu - View commit details
-
Copy full SHA for 97c28c7 - Browse repository at this point
Copy the full SHA 97c28c7View commit details -
TST: publish: Move fsck() filter to a helper
Right now, we only need to clean up the fsck() result in one spot, but with 8.20200226, we also need to filter "error-messages" to several spots. Move this to a dedicated helper.
Configuration menu - View commit details
-
Copy full SHA for 98f5c4c - Browse repository at this point
Copy the full SHA 98f5c4cView commit details -
TST: publish: Ignore error messages when comparing fsck() results
As of git-annex 8.20200226, test_publish_simple() and test_publish_with_data() will fail because the remote=None fsck() will include an message along the lines of test-annex.dat: Can be upgraded to an improved key format. You can do so by running: git annex migrate --backend=SHA256E test-annex.dat
Configuration menu - View commit details
-
Copy full SHA for 33574c6 - Browse repository at this point
Copy the full SHA 33574c6View commit details
Commits on Feb 28, 2020
-
TST: Work around annex.dotfiles-related failures on adjusted branches
These tests are failing on the Windows GitHub CI build with 8.20200226-g2d3ef2c07. Due to the combination of an adjusted branch and us using a `-c annex.dotfiles=true` override in our calls to git-annex, the repos end up in an unexpectedly dirty state when on an adjusted branch. (Dotfiles switch from pointer files back to git-tracked files.) The issue goes away if we set annex.dotfiles in .git/config or git-annex's config. So the two main options seem to be to (1) not set annex.dotfiles=true or (2) to set it more persistently. The former isn't likely to be viable because it would prevent use from annexing content like ".datalad/metadata/objects/", and the latter needs more thought. For now, make these tests pass by adjusting them to set annex.dotfiles=true in .git/config when running on an adjusted branch. Re: datalad#4214 (comment)
Configuration menu - View commit details
-
Copy full SHA for 547c129 - Browse repository at this point
Copy the full SHA 547c129View commit details -
TST: Mark Windows failures with git-annex 8.20200226
The Windows GitHub CI builds are now running with 8.20200226-g2d3ef2c07. The --include-dotfiles adjustment from this series removed the widespread failures, and the previous commit worked around unresolved issues due to adjusted branches and using `-c annex.dotfiles=true`. These are the remaining failures. Re: datalad#4214 (comment)
Configuration menu - View commit details
-
Copy full SHA for 191a4e0 - Browse repository at this point
Copy the full SHA 191a4e0View commit details