Merge branch 'master' of ssh://git-annex.branchable.com

This commit is contained in:
Joey Hess 2019-07-23 12:22:01 -04:00
commit 18f97312d1
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
4 changed files with 111 additions and 0 deletions

View file

@ -0,0 +1,47 @@
### Please describe the problem.
Running git-annex-fsck fails with the error "thread blocked indefinitely in an STM transaction"
### What steps will reproduce the problem?
### What version of git-annex are you using? On what operating system?
git-annex version: 7.20190708-gbc74eb1
Amazon Linux 2 ( Linux ip-172-31-87-151.ec2.internal 4.14.133-113.105.amzn2.x86_64 #1 SMP Wed Jul 10 16:57:02 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux )
### Please provide any additional information below.
[[!format sh """
# If you can, paste a complete transcript of the problem occurring here.
# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log
git annex fsck --fast -J66 --json --json-error-messages
...
git-annex: thread blocked indefinitely in an STM transaction
(master_env_v149_py36) 11:56 [viral-ngs-benchmarks] $ git annex version
git-annex version: 7.20190708-gbc74eb1
build flags: Assistant Webapp Pairing S3 WebDAV Inotify DBus DesktopNotify TorrentParser MagicMime Feeds Testsuite
dependency versions: aws-0.21.1 bloomfilter-2.0.1.0 cryptonite-0.25 DAV-1.3.3 feed-1.0.1.0 ghc-8.4.2 http-client-0.5.14 persistent-sql\
ite-2.9.2 torrent-10000.1.1 uuid-1.3.13 yesod-1.6.0
key/value backends: SHA256E SHA256 SHA512E SHA512 SHA224E SHA224 SHA384E SHA384 SHA3_256E SHA3_256 SHA3_512E SHA3_512 SHA3_224E SHA3_2\
24 SHA3_384E SHA3_384 SKEIN256E SKEIN256 SKEIN512E SKEIN512 BLAKE2B256E BLAKE2B256 BLAKE2B512E BLAKE2B512 BLAKE2B160E BLAKE2B160 BLAKE\
2B224E BLAKE2B224 BLAKE2B384E BLAKE2B384 BLAKE2S256E BLAKE2S256 BLAKE2S160E BLAKE2S160 BLAKE2S224E BLAKE2S224 BLAKE2SP256E BLAKE2SP256\
BLAKE2SP224E BLAKE2SP224 SHA1E SHA1 MD5E MD5 WORM URL
remote types: git gcrypt p2p S3 bup directory rsync web bittorrent webdav adb tahoe glacier ddar hook external
operating system: linux x86_64
supported repository versions: 5 7
upgrade supported from repository versions: 0 1 2 3 4 5 6
local repository version: 5
(master_env_v149_py36) 12:00 [viral-ngs-benchmarks] $ uname -a
Linux ip-172-31-87-151.ec2.internal 4.14.133-113.105.amzn2.x86_64 #1 SMP Wed Jul 10 16:57:02 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
(
# End of transcript or log.
"""]]
### Have you had any luck using git-annex before? (Sometimes we get tired of reading bug reports all day and a lil' positive end note does wonders)

View file

@ -0,0 +1,23 @@
[[!comment format=mdwn
username="Ilya_Shlyakhter"
avatar="http://cdn.libravatar.org/avatar/1647044369aa7747829c38b9dcc84df0"
subject="error when building on windows"
date="2019-07-22T18:04:29Z"
content="""
Building on Windows gives this error:
[[!format sh \"\"\"
Extracting ghc-8.6.5.tar
Everything is Ok
Size: 1773445120
Compressed: 280280296
Extracting ghc-8.6.5.tar...
Extracted total of 9780 files from ghc-8.6.5.tar
C:\Users\ilya\AppData\Local\Programs\stack\x86_64-windows\ghc-8.6.5-tmp6568\ghc-8.6.5\: renamePath:MoveFileEx \"C:\\Users\\ilya\\AppData\\Local\\Programs\\stack\\x86_64-windows\\ghc-8.6.5-tmp6568\\ghc-8.6.5\\\" \"C:\\Users\\ilya\\AppData\\Local\\Programs\\stack\\x86_64-windows\\ghc-8.6.5\\\": permission denied (Access is denied.)
\"\"\"]]
Running Git Bash with Administrator privileges does not seem to help. Anyone else run into this / know how to fix it? Thanks!
"""]]

View file

@ -0,0 +1,14 @@
[[!comment format=mdwn
username="Dan"
avatar="http://cdn.libravatar.org/avatar/45b0925215b6b772921a50eca1f55b55"
subject="Still Wanted"
date="2019-07-22T17:06:20Z"
content="""
Thanks for directing me here from our conversation on the [git-sync page](http://git-annex.branchable.com/sync/).
RE your [first comment here](http://git-annex.branchable.com/todo/sync_--branches__to_sync_only_specified_branches___40__e.g._git-annex__41__/#comment-f5d79cf275bac5578a05cfb9f5b66292) this sounds like the behavior I'm looking for, and in particular for `git annex sync --branch git-annex` to be a special case (ideally configurable so I don't have to type it all the time); not sure if it should be handled by `git`'s config or tracked in the `git-annex` branch, but probably the former (since otherwise the behavior could change pre and post sync, which might be surprising).
I'm trying to understand your [second comment](http://git-annex.branchable.com/todo/sync_--branches__to_sync_only_specified_branches___40__e.g._git-annex__41__/#comment-96120307c5584a563e4bf3ca3c4c3df3). I'm not 100% clear on what `git annex sync` actually does under the hood; if it's pushing and pulling, then presumably I'd need to tweak the git config entries for `remote.name.{push,pull}`, no? OTOH, with the `synced/` branch workflow, perhaps it's fetching, then merging, then pushing, and that's why I should tweak the fetch settings? This would need to get set for *all* of my remotes too, right?
Assuming I'm understanding correctly, the downside to this approach is that it would also change the way base `git` works. Really, I'm looking for a workflow where `git annex` is (insofar as possible) narrowly responsible for managing the annex, and base `git` is responsible for everything it normally is. This would let me minimally modify my git-habits and just run `git annex add` and `git annex sync --content` from time to time to make sure that things are propagating in a sensible way based on how I've configured wanted/preferences. In particular, I'd like `git fetch` to still behave in the way that it used to, I just don't want `git annex sync` pulling and pushing around my code.
"""]]

View file

@ -0,0 +1,27 @@
[[!comment format=mdwn
username="Dan"
avatar="http://cdn.libravatar.org/avatar/986de9e060699ae70ff7c31342393adc"
subject="git annex sync commits changes, too?"
date="2019-07-22T17:25:39Z"
content="""
I took a closer look at the [man page for `git-annex-sync`](http://git-annex.branchable.com/git-annex-sync/).
My understanding is that running it without any options will
1. commit any changes (presumably something like `commit -am 'some default message?'`)
2. fetch and merge `synced/$(currentbranch)` and `git-annex` branches (presumably from *all* remotes unless o/w configured)
3. push the branches from (2) back to the remotes
I'm realizing that what I really want is a `git-annex-sync` command that will *just* sync `git-annex` content. The workflow I'd like is
1. fetch and merge `git-annex` branch from all remotes (or as specified by arguments)
2. push `git-annex` branch back to remotes from (1)
3. If _content_ related flags in the style of arguments from `git-annex-sync` (e.g., `--content`) are passed, sync them around.
So the command I think I'm looking for is something like `git annex sync --no-commit --branch git-annex`, but since it's still in todo, I assume the `--branch git-annex` behavior is not yet implemented.
Moreover, it seems I can configure the `--no-commit` option to be the default by setting the `annex.autocommit` option to false (and this setting is handled by the `git-annex` branch, with options for local override via local gitconfig). If `--branch` gets implemented, I'd love for there to be a similar config-level option like `annex.synccurrentbranch` with true giving the current (default) behavior wherein the current branch is fetch/merge/pushed, and `annex.synccurrentbranch` giving an alternate behavior akin to the hypothetical `git annex sync --branch git-annex`.
Of course I think both features (adding `--branch` option to `git-annex-sync`; supporting `annex.synccurrentbranch` config) would be useful, but really just the latter would be enough for what I'm looking to do.
Thanks for your consideration and for such an excellent tool; it's really been a gamechanger for me.
"""]]