|
Posted
over 4 years
ago
git-annex 8.20210714 released with these changes
assistant: Avoid unncessary git repository repair in a situation where
git fsck gets confused about a commit that is made while it's running.
addurl: Avoid crashing when used on beegfs.
--debug
... [More]
output goes to stderr again, not stdout.
(Reversion in version 8.20210428)
init: Fix misbehavior when core.sharedRepository = group that
caused it to enter an adjusted branch and set annex.crippledfilesystem
(Reversion in version 8.20210630)
assistant: When adding non-large files to git, honor annex.delayadd
configuration. Also, don't add non-large files to git when they
are still being written to.
[Less]
|
|
Posted
over 4 years
ago
git-annex 8.20210630 released with these changes
Fixed bug that interrupting git-annex repair (or assistant) while
it was fixing repository corruption would lose objects that were
contained in pack files. Also the assistant might sometimes have
... [More]
crashed with the same result.
repair: Fix reversion in version 8.20200522 that prevented fetching
missing objects from remotes.
sync: Partly work around github behavior that first branch to be pushed
to a new repository is assumed to be the head branch, by not pushing
synced/git-annex first.
Added annex.freezecontent-command and annex.thawcontent-command
configs.
Improve display of errors when transfers fail.
Dropping an unused object with drop --unused or dropunused will
mark it as dead, preventing fsck --all from complaining about it
after it's been dropped from all repositories.
addurl, importfeed: Added --no-raw option that forces download
with youtube-dl or a special remote. In particular this can avoid
falling back to raw download when youtube-dl is blocked for some
reason.
[Less]
|
|
Posted
over 4 years
ago
git-annex 8.20210621 released with these changes
New matching options --excludesamecontent and --includesamecontent
When two files have the same content, and a required content expression
matches one but not the other, dropping the latter file
... [More]
will fail as it
would also remove the content of the required file.
drop, move, mirror: When two files have the same content, and
different numcopies or requiredcopies values, use the higher value.
drop --auto: When two files have the same content, and a preferred content
expression matches one but not the other, do not drop the content.
sync --content, assistant: When two unlocked files have the same
content, and a preferred content expression matches one but not the
other, do not drop the content. (This was already the case for locked
files.)
sync --content, assistant: Fix an edge case where a file that is not
preferred content did not get dropped.
filter-branch: New command, useful to produce a filtered version of the
git-annex branch, eg when splitting a repository.
fromkey: Create an unlocked file when used in an adjusted branch
where the file should be unlocked, or when configured by annex.addunlocked.
Fix behavior of several commands, including reinject, addurl, and rmurl
when given an absolute path to an unlocked file, or a relative path
that leaves and re-enters the repository.
smudge: Fix a case where an unlocked annexed file that annex.largefiles
does not match could get its unchanged content checked into git,
due to git running the smudge filter unecessarily.
reinject: Error out when run on a file that is not annexed, rather
than silently skipping it.
assistant: Fix a crash on startup by avoiding using forkProcess.
init: When annex.commitmessage is set, use that message for the commit
that creates the git-annex branch.
Added annex.adviceNoSshCaching config.
Added --size-limit option.
Future proof activity log parsing.
Fix an exponential slowdown when large numbers of duplicate files are
being added in unlocked form.
[Less]
|
|
Posted
over 4 years
ago
git-annex 8.20210428 released with these changes
New annex.private and remote.name.annex-private configs that can
prevent storing information about a repository and remotes in the
git-annex branch.
initremote: Added --private option to set up a
... [More]
private special remote.
importfeed: Made "checking known urls" phase run 12 times faster.
Added --debugfilter (and annex.debugfilter)
diffdriver: Support unlocked files.
forget: Preserve currently exported trees, avoiding problems with
exporttree remotes in some unusual circumstances.
fsck: When downloading content from a remote, if the content is able
to be verified during the transfer, skip checksumming it a second time.
directory: When cp supports reflinks, use it.
Avoid excess commits to the git-annex branch when stall detection is
enabled.
git-annex-config: Allow setting annex.securehashesonly, which has
otherwise been supported since 2019, but was missing from the list of
allowed repo-global configs.
init: Fix a crash when the repo's was cloned from a repo that had an
adjusted branch checked out, and the origin remote is not named "origin".
Fix some bugs that made git-annex not see recently recorded status
information when configured with annex.alwayscommit=false.
When mincopies is set to a larger value than numcopies, make sure that
mincopies is satisfied. Before, it assumed a sane configuration would
have numcopies larger or equal to mincopies. It's still a good idea
not to configure git-annex this way.
Avoid more than 1 gpg password prompt at the same time, which
could happen occasionally before when concurrency is enabled.
Fix build with persistent-2.12.0.1
[Less]
|
|
Posted
over 4 years
ago
git-annex 8.20210330 released with these changes
Behavior change: When autoenabling special remotes of type S3, weddav,
or glacier, do not take login credentials from environment variables,
as the user may not be expecting the autoenable to
... [More]
happen, or may
have those set for other purposes and not intend git-annex to use them.
New annex.supportunlocked config that can be set to false to avoid
some expensive things needed to support unlocked files, if you do not
use them.
Fix bug importing from a special remote into a subdirectory more than
one level deep, which generated unusual git trees that could confuse
git merge.
borg: Fix a bug that prevented importing keys of type URL and WORM.
borg: Support importing files that are hard linked in the borg backup.
export: When a submodule is in the tree to be exported, skip it.
import: When the previously exported tree contained a submodule,
preserve it in the imported tree so it does not get deleted.
export --json: Fill in the file field.
rmurl: When youtube-dl was used for an url, it no longer needs to be
prefixed with "yt:" in order to be removed.
rmurl: If an url is both used by the web and also claimed by another
special remote, fix a bug that caused the url to to not be removed.
unregisterurl: Fix a bug that caused an url to not be unregistered
when it is claimed by a special remote other than the web.
whereis: Don't include yt: prefix when showing url to content
retrieved with youtube-dl.
webdav: Work around some buggy webdav server behavior involving
renaming files.
Make --debug also enable debugging in child git-annex processes.
fsck: When --from is used in combination with --all or similar options,
do not verify required content, which can't be checked properly when
operating on keys.
Sped up git-annex init in a clone of an existing repository.
Improved display of errors when accessing a git http remote fails.
Fix build with attoparsec-0.14.
[Less]
|
|
Posted
over 4 years
ago
git-annex 8.20210310 released with these changes
When non-annexed files in a tree are exported to a special remote,
importing from the special remote keeps the files non-annexed,
as long as their content has not changed, rather than converting
... [More]
them to annexed files.
(Such a conversion will still happen when importing from a remote
an old git-annex exported such a tree to before; export the tree
with the new git-annex before importing to avoid that.)
Added support for git-remote-gcrypt's rsync URIs, which access a remote
using rsync over ssh, and which git pushes to much more efficiently
than ssh urls.
unregisterurl: New command.
registerurl: Allow it to be used in a bare repository.
Prevent combinations of options such as --all with --include.
Fixed handling of --mimetype or --mimeencoding combined with
options like --all or --unused.
Fix handling of --branch combined with --unlocked or --locked.
Fix support for local gcrypt repositories with a space in their URI.
uninit: Fix a small bug that left a lock file in .git/annex
Windows: Correct the path to the html help file for 64 bit build.
OSX dmg: Updated bundled git to 2.30.2 which fixes CVE-2021-21300.
[Less]
|
|
Posted
almost 5 years
ago
git-annex 8.20210223 released with these changes
annex.stalldetection can now be set to "true" to make git-annex
do automatic stall detection when it detects a remote is updating its
transfer progress consistently enough for stall detection to
... [More]
work.
When annex.stalldetection is not enabled and a likely stall is
detected, display a suggestion to enable it.
Commands can be added to git-annex, by installing a program in PATH
with a name starting with "git-annex-"
Fix a reversion that made import of a tree from a special remote
result in a merge that deleted files that were not preferred content
of that special remote.
Bugfix: fsck --from a ssh remote did not actually check that the
content on the remote is not corrupted.
unannex, uninit: When an annexed file is modified, don't overwrite
the modified version with an older version from the annex.
When adding files to an adjusted branch set up by --unlock-present,
add them unlocked, not locked.
Fix an oddity in matching options and preferred content expressions
such as "foo (bar or baz)", which was incorrectly handled as if
it were "(foo or bar) and baz)" rather than the intended
"foo and (bar or baz)"
Checksum as content is received from a remote git-annex repository,
rather than doing it in a second pass.
Tahoe: Avoid verifying hash after download, since tahoe does sufficient
verification itself.
unannex, uninit: Don't run git rm once per annexed file,
for a large speedup.
When a git remote is configured with an absolute path, use that
path, rather than making it relative.
get: Improve output when failing to get a file fails.
Fix build on openbsd.
Thanks, James Cook for the patch.
Include libkqueue.h file needed to build the assistant on BSDs.
[Less]
|
|
Posted
almost 5 years
ago
git-annex 8.20210127 released with these changes
Added mincopies configuration. This is like numcopies, but is
enforced even more strictly. While numcopies can be violated in
concurrent drop situations involving special remotes that do not
... [More]
support locking, mincopies cannot be. The default value has always
been 1, but now it can be set to higher values if desired.
Behavior change: When numcopies is set to 0, git-annex used to drop
content without requiring any copies. Now to get that (highly unsafe)
behavior, mincopies also needs to be set to 0.
Behavior change: git-annex trust now needs --force, since unconsidered
use of trusted repositories can lead to data loss.
Behavior change: --trust and --trust-glacier options no longer overrides
trust, since that can lead to data loss, which should never be enabled
by an option other than --force.
add: Significantly speed up adding lots of non-large files to git,
by disabling the annex smudge filter when running git add.
add --force-small: Run git add rather than updating the index itself,
so any other smudge filters than the annex one that may be enabled will
be used.
Fix --time-limit, which got broken in several ways by some optimisations
in version 8.20201007.
When syncing changes back from an adjusted branch to the basis branch,
include deletions of submodules.
Thanks, Kyle Meyer for the patch.
Bug fix: export with -J could fail when two files had the same content.
Bug fix: Fix tilde expansion in ssh urls when the tilde is the last
character in the url.
Thanks, Grond for the patch.
Avoid crashing when there are remotes using unparseable urls.
Including the non-standard URI form that git-remote-gcrypt uses for rsync.
Directory special remotes with importtree=yes now avoid unncessary
hashing when inodes of files have changed, as happens whenever a FAT
filesystem gets remounted.
Fix a bug that prevented git-annex init from working in a submodule.
Fix a bug in view filename generation when a metadata value ended with
"/" (or ":" or "\" on Windows)
adjust: Fix some bad behavior when unlocked files use URL keys.
smudge: Fix some bad behavior when git add is run on an unlocked
file that used an URL key.
Added GETGITREMOTENAME to external special remote protocol.
Windows: Work around win32 length limits when dealing with lock files.
[Less]
|
|
Posted
almost 5 years
ago
git-annex 8.20201129 released with these changes
New borg special remote. This is a new kind of remote, that examines
borg backups of git-annex repositories, learns what files have been
backed up, and can restore files from the backup and so on.
... [More]
As well
as backups, it can be useful for archival storage, since borg can
efficiently store many related versions of files.
New config annex.stalldetection, remote.name.annex-stalldetection,
which can be used to deal with remotes that stall during transfers,
or are sometimes too slow to want to use.
Support special remotes that are configured with importtree=yes but
without exporttree=yes.
Fix bug that made the next download after an empty file from a ssh
or tor remote fail.
Avoid spurious "verification of content failed" message when downloading
content from a ssh or tor remote fails due to the remote no longer
having a copy of the content.
Fix bug that matched include= and exclude= in preferred/required content
expressions relative to the current directory, rather than the path
from the top of the repository.
(Reversion introduced in version 8.20201116.)
Fix hang on shutdown of external special remote using ASYNC protocol
extension.
(Reversion introduced in version 8.20201007.)
Guard against running in a repo where annex.uuid is set but
annex.version is not set, or vice-versa.
Avoid autoinit when a repo does not have annex.version or annex.uuid
set, but has a git-annex objects directory, suggesting it was used
by git-annex before, and the git config may have been lost.
importfeed: Avoid using youtube-dl when a feed does not contain an
enclosure, but only a link to an url which youtube-dl does not support.
initremote: Prevent enabling encryption with exporttree=yes or
importtree=yes.
Windows: include= and exclude= containing '/' will also match filenames
that are written using '\'. (And vice-versa, but it's better to use '/'
for portability.)
Fix a bug that could prevent getting files from an importtree=yes
remote, because the imported tree was allowed to be garbage collected.
stack.yaml: Updated to lts-16.27.
[Less]
|
|
Posted
about 5 years
ago
git-annex 8.20201127 released with these changes
adjust: New --unlock-present mode which locks files whose content is not
present (so the broken symlink is visible), while unlocking files whose
content is present.
Added
... [More]
annex.adjustedbranchrefresh git config to update adjusted
branches set up by git-annex adjust --unlock-present/--hide-missing.
Fix hang when an external special remote program exited but
the stderr pipe to it was left open, due to a daemon having inherited
the file descriptor.
Fix a bug that could make resuming a download from the web fail
when the entire content of the file is actually already present
locally.
examinekey: Added a "file" format variable for consistency with find,
and for easier scripting.
init: When writing hook scripts, set all execute bits, not only
the user execute bit.
upgrade: Support an edge case upgrading a v5 direct mode repo
where nothing had ever been committed to the head branch.
Made the test suite significantly less noisy, only displaying command
output when something failed.
Fix building without the torrent library.
Thanks, Kyle Meyer.
Fix build on Windows.
Prevent windows assistant from trying (and failing) to upgrade
itself, which has never been supported on windows.
[Less]
|