Merge branch 'master' into v8
This commit is contained in:
commit
029c883713
456 changed files with 6341 additions and 1085 deletions
|
@ -63,3 +63,4 @@ get R042/R042-2013-08-16/R042-2013-08-16-CSC01a.ncs get R042/R042-2013-08-16/R04
|
|||
[[!meta author=yoh]]
|
||||
[[!tag projects/datalad]]
|
||||
|
||||
> warning added; [[done]] --[[Joey]]
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
[[!comment format=mdwn
|
||||
username="joey"
|
||||
subject="""comment 4"""
|
||||
date="2020-01-23T15:51:46Z"
|
||||
content="""
|
||||
I notice that debug output has no BatchMode=true in any ssh call. But
|
||||
the version of git-annex you show always runs ssh with that when
|
||||
-J is used, unless sshcaching is disabled.
|
||||
|
||||
More evidence that sshcaching is disabled in your transcript is that when
|
||||
it does run ssh, it does not pass -S.
|
||||
|
||||
I think the repository must be on a crippled filesystem, on which
|
||||
git-annex can't do ssh connection caching, because the filesystem
|
||||
does not support unix sockets. (Or it potentially could be crippled in some
|
||||
other way.) So it ignores the annex.sshcaching setting.
|
||||
You could work around this by setting the (undocumented)
|
||||
GIT_ANNEX_TMP_DIR to some temporary directory on a non-crippled filesystem.
|
||||
|
||||
I'm going to add a warning message in this situation.
|
||||
"""]]
|
|
@ -0,0 +1,8 @@
|
|||
[[!comment format=mdwn
|
||||
username="yarikoptic"
|
||||
avatar="http://cdn.libravatar.org/avatar/f11e9c84cb18d26a1748c33b48c924b4"
|
||||
subject="comment 5"
|
||||
date="2020-01-23T17:51:58Z"
|
||||
content="""
|
||||
Thank you Joey! I can only confirm that the file system was likely a crippled/NFS one... So we would likely need to do some sensing on DataLad side and instruct git-annex. Will continue on our end at https://github.com/datalad/datalad/issues/4075
|
||||
"""]]
|
|
@ -0,0 +1,8 @@
|
|||
[[!comment format=mdwn
|
||||
username="joey"
|
||||
subject="""comment 6"""
|
||||
date="2020-01-01T17:41:13Z"
|
||||
content="""
|
||||
I've added git-annex add --force-large and --force-small, which would be
|
||||
good to use to avoid this kind of too-broad overriding problem in the future.
|
||||
"""]]
|
|
@ -194,3 +194,5 @@ Utility/DirWatcher/INotify.hs:130:50: error:
|
|||
### 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)
|
||||
|
||||
Yes!
|
||||
|
||||
> [[fixed|done]] a long time ago --[[Joey]]
|
||||
|
|
39
doc/bugs/Incorrect_install_dir_for_fish_completion.mdwn
Normal file
39
doc/bugs/Incorrect_install_dir_for_fish_completion.mdwn
Normal file
|
@ -0,0 +1,39 @@
|
|||
### Please describe the problem.
|
||||
|
||||
[git-annex Makefile: install-completions](http://source.git-annex.branchable.com/?p=source.git;a=blob;f=Makefile;h=965f53e1fc4a8f6d69041eabaccd759268f6490f;hb=HEAD#l87)
|
||||
|
||||
git-annex installs fish completions to the wrong directory. `$(SHAREDIR)/fish/completions` is the directory documented as being exclusive to completions which are shipped in the fish source code; third-party applications installing their own completions are intended to use `$(SHAREDIR)/fish/vendor_completions.d` instead.
|
||||
|
||||
See [https://fishshell.com/docs/current/index.html#completion-path](https://fishshell.com/docs/current/index.html#completion-path)
|
||||
|
||||
Note that this location can also be obtained in a similar manner to bash-completion:
|
||||
|
||||
```
|
||||
$ pkg-config bash-completion --variable=completionsdir
|
||||
/usr/share/bash-completion/completions
|
||||
```
|
||||
|
||||
```
|
||||
$ pkg-config fish --variable=completionsdir
|
||||
/usr/share/fish/vendor_completions.d
|
||||
```
|
||||
|
||||
### What steps will reproduce the problem?
|
||||
|
||||
Run "make install-completions", or install a linux distribution package of git-annex that builds with the current Makefile (Arch Linux or Debian will both show the same issue).
|
||||
|
||||
### What version of git-annex are you using? On what operating system?
|
||||
|
||||
Arch Linux
|
||||
|
||||
git-annex 7.20191230-7
|
||||
|
||||
### Please provide any additional information below.
|
||||
|
||||
Apparently this is a very common mistake :/ so far I've seen many more projects do this wrong than do it right.
|
||||
|
||||
### 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)
|
||||
|
||||
Not a user, just here to help improve cross-distro packaging. :)
|
||||
|
||||
> [[fixed|done]] --[[Joey]]
|
|
@ -0,0 +1,32 @@
|
|||
[[!comment format=mdwn
|
||||
username="Chel"
|
||||
avatar="http://cdn.libravatar.org/avatar/a42feb5169f70b3edf7f7611f7e3640c"
|
||||
subject="comment 1"
|
||||
date="2020-02-03T23:34:02Z"
|
||||
content="""
|
||||
I've got an error from `make install` on version 7.20200202.7:
|
||||
|
||||
~~~
|
||||
./git-annex --fish-completion-script git-annex 2>/dev/null \
|
||||
> dest/usr/local/share/fish/completions/git-annex.fish
|
||||
make: *** [Makefile:87: install-completions] Error 2
|
||||
~~~
|
||||
|
||||
I think there should be:
|
||||
|
||||
[[!format diff \"\"\"
|
||||
diff --git a/Makefile b/Makefile
|
||||
index eb3a34e6a..722921e00 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -86,7 +86,7 @@ install-completions: build
|
||||
> $(DESTDIR)$(ZSH_COMPLETIONS_PATH)/_git-annex
|
||||
install -d $(DESTDIR)$(PREFIX)/$(SHAREDIR)/fish/vendor_completions.d
|
||||
./git-annex --fish-completion-script git-annex 2>/dev/null \
|
||||
- > $(DESTDIR)$(PREFIX)/$(SHAREDIR)/fish/completions/git-annex.fish
|
||||
+ > $(DESTDIR)$(PREFIX)/$(SHAREDIR)/fish/vendor_completions.d/git-annex.fish
|
||||
|
||||
test: git-annex git-annex-shell
|
||||
./git-annex test
|
||||
\"\"\"]]
|
||||
"""]]
|
|
@ -0,0 +1,9 @@
|
|||
[[!comment format=mdwn
|
||||
username="eschwartz@5abb721e66990e478c7d1caf96beb4f9794eb168"
|
||||
nickname="eschwartz"
|
||||
avatar="http://cdn.libravatar.org/avatar/16ec8475b4e3507f8d1a71101c16b208"
|
||||
subject="Partial fix only."
|
||||
date="2020-02-03T23:47:35Z"
|
||||
content="""
|
||||
Looks like the install -d was changed to create the new directory, but the actual file write got left left out of the commit.
|
||||
"""]]
|
|
@ -0,0 +1,7 @@
|
|||
[[!comment format=mdwn
|
||||
username="joey"
|
||||
subject="""comment 3"""
|
||||
date="2020-02-04T16:09:04Z"
|
||||
content="""
|
||||
So it did. Fixed now. Thanks for checking.
|
||||
"""]]
|
|
@ -0,0 +1,149 @@
|
|||
### Please describe the problem.
|
||||
|
||||
If there are multiple files with the same keys in the repository and they are copied to bup special remote,
|
||||
then `git annex fsck --from=bup` with `--jobs=N` option (N >= 2) can show an error and remove these keys from bup.
|
||||
|
||||
Based on the error message (about locked .git/annex/tmp/ file), this problem is probably not specific to bup,
|
||||
but I tested it with bup only.
|
||||
|
||||
### What steps will reproduce the problem?
|
||||
|
||||
1. Configure a bup special remote.
|
||||
2. Add files with the same content to annex (and with the same backend).
|
||||
3. Copy these files to bup.
|
||||
4. Run `git annex fsck --from=bup -JN` several times, until it removes these keys from bup.
|
||||
|
||||
### What version of git-annex are you using? On what operating system?
|
||||
|
||||
git-annex 7.20191230-g985373f8e, build from source, on Debian GNU/Linux buster.
|
||||
|
||||
bup 0.29.3-2 from Debian sid. Also tried with bup 0.30, build from source.
|
||||
|
||||
### Please provide any additional information below.
|
||||
|
||||
[[!format txt """
|
||||
~ $ mkdir testdir
|
||||
~ $ cd testdir
|
||||
~/testdir $
|
||||
~/testdir $ git init
|
||||
Initialized empty Git repository in /home/test/testdir/.git/
|
||||
~/testdir $
|
||||
~/testdir $ git annex init testrepo
|
||||
init testrepo (scanning for unlocked files...)
|
||||
ok
|
||||
(recording state in git...)
|
||||
~/testdir $
|
||||
~/testdir $ ls ~/.bup/index-cache/
|
||||
~/testdir $
|
||||
~/testdir $ git annex initremote bup type=bup buprepo=~/testdir/.bup encryption=none
|
||||
initremote bup (bup init...)
|
||||
Reinitialized existing Git repository in /home/test/.bup/
|
||||
Initialized empty Git repository in /home/test/testdir/.bup/
|
||||
ok
|
||||
(recording state in git...)
|
||||
~/testdir $
|
||||
~/testdir $ ls ~/.bup/index-cache/
|
||||
None__home_test_testdir__bup
|
||||
~/testdir $
|
||||
~/testdir $ echo aaa >file1
|
||||
~/testdir $ echo aaa >file2
|
||||
~/testdir $
|
||||
~/testdir $ git annex add .
|
||||
add file1
|
||||
ok
|
||||
add file2
|
||||
ok
|
||||
(recording state in git...)
|
||||
~/testdir $
|
||||
~/testdir $ git commit -m files
|
||||
[master (root-commit) 7a03b66] files
|
||||
2 files changed, 2 insertions(+)
|
||||
create mode 120000 file1
|
||||
create mode 120000 file2
|
||||
~/testdir $
|
||||
~/testdir $ git -C .bup show-ref
|
||||
~/testdir $
|
||||
~/testdir $ git annex whereis
|
||||
whereis file1 (1 copy)
|
||||
5d9b0df2-000b-4273-bc4a-fb3b9d8319bd -- testrepo [here]
|
||||
ok
|
||||
whereis file2 (1 copy)
|
||||
5d9b0df2-000b-4273-bc4a-fb3b9d8319bd -- testrepo [here]
|
||||
ok
|
||||
~/testdir $
|
||||
~/testdir $ git annex copy --to=bup .
|
||||
copy file1 (to bup...)
|
||||
|
||||
bloom: creating from 1 file (3 objects).ing: 0 kbytes
|
||||
Receiving index from server: 1156/1156, done.
|
||||
bloom: creating from 1 file (3 objects).
|
||||
ok
|
||||
copy file2 ok
|
||||
(recording state in git...)
|
||||
~/testdir $
|
||||
~/testdir $ git annex lookupkey file1 file2
|
||||
SHA256E-s4--17e682f060b5f8e47ea04c5c4855908b0a5ad612022260fe50e11ecb0cc0ab76
|
||||
SHA256E-s4--17e682f060b5f8e47ea04c5c4855908b0a5ad612022260fe50e11ecb0cc0ab76
|
||||
~/testdir $
|
||||
~/testdir $ git -C .bup show-ref
|
||||
2076647ee23ad632c8cf96caf51febbd0604452c refs/heads/SHA256E-s4--17e682f060b5f8e47ea04c5c4855908b0a5ad612022260fe50e11ecb0cc0ab76
|
||||
~/testdir $
|
||||
~/testdir $ git annex fsck --from=bup
|
||||
fsck file1
|
||||
(checksum...) ok
|
||||
fsck file2
|
||||
(checksum...) ok
|
||||
(recording state in git...)
|
||||
~/testdir $
|
||||
~/testdir $ git -C .bup show-ref
|
||||
2076647ee23ad632c8cf96caf51febbd0604452c refs/heads/SHA256E-s4--17e682f060b5f8e47ea04c5c4855908b0a5ad612022260fe50e11ecb0cc0ab76
|
||||
"""]]
|
||||
|
||||
Now run `git annex fsck --from=bup -J2` multiple times, until it drops the key from bup...
|
||||
|
||||
[[!format txt """
|
||||
~/testdir $ git annex fsck --from=bup -J2
|
||||
fsck file1 fsck file2
|
||||
|
||||
100% 4 B 5 B/s 0s
|
||||
content cannot be completely removed from bup remote
|
||||
|
||||
file2: Bad file size (4 B smaller); dropped from bup
|
||||
(checksum...)
|
||||
git-annex: .git/annex/tmp/fsck14654.SHA256E-s4--17e682f060b5f8e47ea04c5c4855908b0a5ad612022260fe50e11ecb0cc0ab76: openBinaryFile: resource busy (file is locked)
|
||||
failed
|
||||
(fixing location log) (checksum...) ok
|
||||
(recording state in git...)
|
||||
git-annex: fsck: 1 failed
|
||||
~/testdir $
|
||||
~/testdir $ git -C .bup show-ref
|
||||
~/testdir $
|
||||
~/testdir $ git annex whereis
|
||||
whereis file1 (2 copies)
|
||||
5d9b0df2-000b-4273-bc4a-fb3b9d8319bd -- testrepo [here]
|
||||
88cc362a-f87a-43c7-b194-e79b2ee91828 -- [bup]
|
||||
ok
|
||||
whereis file2 (2 copies)
|
||||
5d9b0df2-000b-4273-bc4a-fb3b9d8319bd -- testrepo [here]
|
||||
88cc362a-f87a-43c7-b194-e79b2ee91828 -- [bup]
|
||||
ok
|
||||
~/testdir $
|
||||
~/testdir $ git annex fsck --from=bup
|
||||
fsck file1 (fixing location log)
|
||||
** Based on the location log, file1
|
||||
** was expected to be present, but its content is missing.
|
||||
failed
|
||||
fsck file2 ok
|
||||
(recording state in git...)
|
||||
git-annex: fsck: 1 failed
|
||||
~/testdir $
|
||||
~/testdir $ git annex whereis
|
||||
whereis file1 (1 copy)
|
||||
5d9b0df2-000b-4273-bc4a-fb3b9d8319bd -- testrepo [here]
|
||||
ok
|
||||
whereis file2 (1 copy)
|
||||
5d9b0df2-000b-4273-bc4a-fb3b9d8319bd -- testrepo [here]
|
||||
ok
|
||||
"""]]
|
||||
|
||||
> [[fixed|done]] --[[Joey]]
|
|
@ -0,0 +1,11 @@
|
|||
[[!comment format=mdwn
|
||||
username="joey"
|
||||
subject="""comment 1"""
|
||||
date="2020-02-14T18:49:07Z"
|
||||
content="""
|
||||
Ugh, I think this could potentially result in data loss. Not when using bup,
|
||||
but other special remotes.
|
||||
|
||||
I've fixed it in git and will think about moving the date of the next
|
||||
release up.
|
||||
"""]]
|
|
@ -0,0 +1,85 @@
|
|||
### Please describe the problem.
|
||||
When running `git annex testremote origin --test-readonly=filename` on a git http remote that supports git-annex, the `storeKey` test fails with error:
|
||||
|
||||
```
|
||||
storeKey: FAIL
|
||||
./Command/TestRemote.hs:277:
|
||||
(got: Left "copying to non-ssh repo not supported")
|
||||
```
|
||||
|
||||
(Full example output below)
|
||||
|
||||
|
||||
### What steps will reproduce the problem?
|
||||
|
||||
Using https://downloads.kitenet.net/.git/ as an example of a public repository with https git annex support:
|
||||
|
||||
```
|
||||
$ git clone https://downloads.kitenet.net/.git/
|
||||
Cloning into 'downloads.kitenet.net'...
|
||||
$ cd downloads.kitenet.net/debug-me/linux/current/
|
||||
$ git annex get debug-me-standalone-amd64.tar.gz
|
||||
get debug-me-standalone-amd64.tar.gz (from origin...)
|
||||
(checksum...) ok
|
||||
(recording state in git...)
|
||||
$ git annex testremote origin --test-readonly debug-me-standalone-amd64.tar.gz
|
||||
testremote origin Remote Tests
|
||||
unavailable remote
|
||||
removeKey: dropping from http remote not supported
|
||||
OK
|
||||
storeKey: FAIL
|
||||
./Command/TestRemote.hs:277:
|
||||
(got: Left "copying to non-ssh repo not supported")
|
||||
checkPresent: OK (0.02s)
|
||||
retrieveKeyFile: download failed: ConnectionFailure Network.Socket.getAddrInfo (called with preferred socket type/protocol: AddrInfo {addrFlags = [AI_ADDRCONFIG], addrFamily = AF_UNSPEC, addrSocketType = Stream, addrProtocol = 6, addrAddress = <assumed to be undefined>, addrCanonName = <assumed to be undefined>}, host name: Just "!dne!", service name: Just "443"): does not exist (Name or service not known)
|
||||
download failed: ConnectionFailure Network.Socket.getAddrInfo (called with preferred socket type/protocol: AddrInfo {addrFlags = [AI_ADDRCONFIG], addrFamily = AF_UNSPEC, addrSocketType = Stream, addrProtocol = 6, addrAddress = <assumed to be undefined>, addrCanonName = <assumed to be undefined>}, host name: Just "!dne!", service name: Just "443"): does not exist (Name or service not known)
|
||||
OK (0.01s)
|
||||
retrieveKeyFileCheap: OK
|
||||
key size Just 13600699; NoChunks; encryption none
|
||||
present True: OK (0.61s)
|
||||
retrieveKeyFile: OK (2.39s)
|
||||
fsck downloaded object: OK
|
||||
retrieveKeyFile resume from 33%: OK (1.95s)
|
||||
fsck downloaded object: OK
|
||||
retrieveKeyFile resume from 0: OK (1.94s)
|
||||
fsck downloaded object: OK
|
||||
retrieveKeyFile resume from end: OK (0.68s)
|
||||
fsck downloaded object: OK
|
||||
|
||||
1 out of 14 tests failed (7.61s)
|
||||
failed
|
||||
git-annex: testremote: 1 failed
|
||||
```
|
||||
|
||||
### What version of git-annex are you using? On what operating system?
|
||||
|
||||
```
|
||||
git-annex version: 7.20191230-g985373f8e
|
||||
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.26 DAV-1.3.4 feed-1.2.0.1 ghc-8.6.5 http-client-0.6.4 persistent-sqlite-2.10.5 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_224 SHA3_384E SHA3_384 SKEIN256E SKEIN256 SKEIN512E SKEIN512 BLAKE2B256E BLAKE2B256 BLAKE2B512E BLAKE2B512 BLAKE2B160E BLAKE2B160 BLAKE2B224E BLAKE2B224 BLAKE2B384E BLAKE2B384 BLAKE2BP512E BLAKE2BP512 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 git-lfs hook external
|
||||
operating system: linux x86_64
|
||||
supported repository versions: 7
|
||||
upgrade supported from repository versions: 0 1 2 3 4 5 6
|
||||
```
|
||||
|
||||
OS: Arch Linux (5.5.1-arch1-1)
|
||||
|
||||
### Please provide any additional information below.
|
||||
|
||||
I came across this while trying to make our hosted git and git-annex service (gin.g-node.org) open to public https git annex downloads. I was using the `testremote` command to make sure everything works as intended and saw the error thinking, at first, that the server was serving something incorrectly. The error message does clearly state that `copying to non-ssh repo not supported`, so I thought I'd try with kitenet to see if the same happens and it does.
|
||||
|
||||
I don't know if this is a bug or intentional—perhaps the test should be failing to indicate that the remote doesn't support `storeKey`? On the other hand, the `removeKey` test displays the "not supported" message and then passes, so maybe the `storeKey` test should behave the same way.
|
||||
|
||||
It's possible there's another issue here I'm not entirely aware of.
|
||||
|
||||
|
||||
### 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)
|
||||
|
||||
Of course! I use and rely on it daily :)
|
||||
|
||||
> This is not a bug in the test suite, it turns out, but in
|
||||
> git-annex's handling of a http remote. It was throwing fatal errors
|
||||
> rather than the correct behavior of displaying a warning. [[fixed|done]]
|
||||
> --[[Joey]]
|
|
@ -0,0 +1,29 @@
|
|||
I tried to use the S3 special remote to access DigitalOcean's Spaces API. [Their docs](https://developers.digitalocean.com/documentation/spaces/) suggest that this should be possible. However, it doesn't work.
|
||||
|
||||
The command I ran, with key removed:
|
||||
|
||||
git annex --debug initremote xamsi-everything type=S3 protocol=https host=sfo2.digitaloceanspaces.com datacenter=sfo2 chunk=64MiB encryption=hybrid keyid=XXX
|
||||
|
||||
The non-debug output, in full, with key removed:
|
||||
|
||||
initremote xamsi-everything (encryption setup) (to gpg keys: XXX) (checking bucket...) (creating bucket in sfo2...)
|
||||
git-annex: XmlException {xmlErrorMessage = "Missing error Message"}
|
||||
failed
|
||||
git-annex: initremote: 1 failed
|
||||
|
||||
The debug output of the part that breaks, again with key material removed:
|
||||
|
||||
(creating bucket in sfo2...) [2019-10-15 08:40:41.119524792] String to sign: "PUT\n\n\nTue, 15 Oct 2019 15:40:41 GMT\n/xamsi-everything-a36e2044-07ac-4d85-8450-e5760c897a9b/"
|
||||
[2019-10-15 08:40:41.119586065] Host: "xamsi-everything-a36e2044-07ac-4d85-8450-e5760c897a9b.sfo2.digitaloceanspaces.com"
|
||||
[2019-10-15 08:40:41.119639648] Path: "/"
|
||||
[2019-10-15 08:40:41.119683721] Query string: ""
|
||||
[2019-10-15 08:40:41.11972899] Header: [("Date","Tue, 15 Oct 2019 15:40:41 GMT"),("Authorization","AWS XXX")]
|
||||
[2019-10-15 08:40:41.119846915] Body: "<?xml version=\"1.0\" encoding=\"UTF-8\"?><CreateBucketConfiguration xmlns=\"http://s3.amazonaws.com/doc/2006-03-01/\"><LocationConstraint>sfo2</LocationConstraint></CreateBucketConfiguration>"
|
||||
[2019-10-15 08:40:41.174450718] Response status: Status {statusCode = 403, statusMessage = "Forbidden"}
|
||||
[2019-10-15 08:40:41.174566002] Response header 'Content-Length': '190'
|
||||
[2019-10-15 08:40:41.174627301] Response header 'x-amz-request-id': 'tx0000000000001c5b175eb-005da5e879-23e283-sfo2a'
|
||||
[2019-10-15 08:40:41.174685597] Response header 'Accept-Ranges': 'bytes'
|
||||
[2019-10-15 08:40:41.174730858] Response header 'Content-Type': 'application/xml'
|
||||
[2019-10-15 08:40:41.174776256] Response header 'Date': 'Tue, 15 Oct 2019 15:40:41 GMT'
|
||||
[2019-10-15 08:40:41.174821726] Response header 'Strict-Transport-Security': 'max-age=15552000; includeSubDomains; preload'
|
||||
[2019-10-15 08:40:41.174984394] Response metadata: S3: request ID=tx0000000000001c5b175eb-005da5e879-23e283-sfo2a, x-amz-id-2=<none>
|
|
@ -0,0 +1,20 @@
|
|||
[[!comment format=mdwn
|
||||
username="joey"
|
||||
subject="""comment 1"""
|
||||
date="2020-01-06T17:41:21Z"
|
||||
content="""
|
||||
This is either a bug in <http://hackage.haskell.org/package/aws> or
|
||||
Digital Ocean's implementation of the S3 protocol. I don't know which,
|
||||
but I do know it has to be fixed in one of those two place, and not
|
||||
in git-annex.
|
||||
|
||||
The fact that the aws library can't even parse an error message out of
|
||||
their response kind of says something.
|
||||
|
||||
But the real problem seems to
|
||||
While they claim to support V2 signatures,
|
||||
my guess is there's a problem with their support for V2, since they're
|
||||
mostly dealing with V4. The aws library's support for V4 is experimental
|
||||
and [apparently buggy](https://github.com/aristidb/aws/issues/262), but
|
||||
as git-annex uses it, it will only use V2.
|
||||
"""]]
|
|
@ -0,0 +1,9 @@
|
|||
[[!comment format=mdwn
|
||||
username="annex2384@290036d126d86bcec28ee2f2ead549de1f59e90e"
|
||||
nickname="annex2384"
|
||||
avatar="http://cdn.libravatar.org/avatar/ad36fdc55abd8b9913b774fcd0177709"
|
||||
subject="Using -o metadata?"
|
||||
date="2020-02-04T03:22:45Z"
|
||||
content="""
|
||||
I'm having the same issue, though I can add files if I set annex.addunlocked=true.
|
||||
"""]]
|
|
@ -9,3 +9,5 @@ Add a file to a fresh annex, observe it has no metadata.
|
|||
|
||||
### 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)
|
||||
Yes I love it! (Except for its spotty timestamp support)
|
||||
|
||||
> [[notabug|done]] --[[Joey]]
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
[[!comment format=mdwn
|
||||
username="Ilya_Shlyakhter"
|
||||
avatar="http://cdn.libravatar.org/avatar/1647044369aa7747829c38b9dcc84df0"
|
||||
subject="reasons not to have annex.genmetadata default to true"
|
||||
date="2020-02-10T18:40:52Z"
|
||||
content="""
|
||||
Some reasons `annex.genmetadata` should *not* default to true: (1) ordinary git does not preserve file modtimes, probably on purpose: if you have some kind of `make` process, you want `git update` to cause updated files to have updated modtimes, not the modtimes from when the files were added to git, so that `make` can detect the change and update downstream files; (2) as @joey noted, potentially wasteful bloat, especially for repos with many files; (3) two different copies of a file may have different modtimes, but all copies must have the same git-annex metadata, because metadata is attached to the [[key|backends]], which for most backends is computed from file contents.
|
||||
|
||||
The WOM backend stores the modtime in the key, but then does not store checksums. If [[todo/external_backends]] are implemented, you could make one that includes both the checksum and the modtime in the key.
|
||||
"""]]
|
|
@ -0,0 +1,16 @@
|
|||
[[!comment format=mdwn
|
||||
username="joey"
|
||||
subject="""comment 5"""
|
||||
date="2020-02-17T16:47:33Z"
|
||||
content="""
|
||||
I agree with Ilya's points.
|
||||
|
||||
And it's unresonable to characterize this as data loss, because git itself
|
||||
does not store file timestamp data. Making such mischaracterizations does,
|
||||
however, cause me, as the maintainer, to wonder if this is a feature that
|
||||
is worth keeping, since I have no interest in descending that rabbit hole
|
||||
or fighting such accusations. Generally, going to the strongest possible
|
||||
argument, when requesting a change, is not actually your best move.
|
||||
|
||||
Closing this bug report.
|
||||
"""]]
|
|
@ -78,3 +78,7 @@ note that there is no "(recording state in git...) ..." portion in the output!
|
|||
|
||||
[[!meta author=yoh]]
|
||||
[[!tag projects/datalad]]
|
||||
|
||||
> This was fixed by v7 mode, which no longer needs to deal with old-style
|
||||
> unlocked files and so is not impacted by git false indexes any longer.
|
||||
> I've verified the test case no longer reproduces. [[done]] --[[Joey]]
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
### Please describe the problem.
|
||||
|
||||
Once the assistant daemon is started, it won't notice updates to any gitignore files. This is probably because it spawns a long-lived `git check-ignore -z --stdin --verbose --non-matching` process which only reads gitignore files on startup.
|
||||
|
||||
### What steps will reproduce the problem?
|
||||
|
||||
- Start the assistant
|
||||
- Add a pattern to a relevant `.gitignore` or `.git/info/exclude`
|
||||
- (Just to be safe) wait for the assistant to commit and sync that change
|
||||
- Create a file matching the new ignore pattern
|
||||
- Observe the assistant committing the file to the repository despite it matching the new ignore pattern
|
||||
|
||||
### What version of git-annex are you using? On what operating system?
|
||||
|
||||
7.20191230-gef6d1e327 on openSUSE Leap 15.1
|
||||
|
||||
### Please provide any additional information below.
|
||||
|
||||
I assume that the obvious fix would be to watch for changes to gitignore files, and restart the `check-ignore` process accordingly.
|
||||
|
||||
A workaround is to restart the assistant. I've tested this and it works fine.
|
||||
|
||||
Unsurprisingly the daemon log just shows the normal behaviour so it's probably not very useful, but including anyway just in case:
|
||||
|
||||
[[!format sh """
|
||||
# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log
|
||||
Everything up-to-date
|
||||
[2020-01-06 15:40:21.863988735] Committer: Committing changes to git
|
||||
(recording state in git...)
|
||||
[2020-01-06 15:40:22.024703938] Pusher: Syncing with peer1
|
||||
[2020-01-06 15:40:23.025650786] Committer: Committing changes to git
|
||||
(recording state in git...)
|
||||
To tor-annex::<censored>.onion:5227
|
||||
841db50..d47d59e master -> synced/master
|
||||
|
||||
# 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)
|
||||
|
||||
Yes, worked great for many years, but struggling to get the assistant to a point I can use it. Main blockers are [[assistant_sometimes_removes_and_re-adds_whole_file]] and [[todo/wishlist__58___disable_automatic_commits]].
|
|
@ -0,0 +1,9 @@
|
|||
[[!comment format=mdwn
|
||||
username="joey"
|
||||
subject="""comment 2"""
|
||||
date="2020-01-23T19:20:47Z"
|
||||
content="""
|
||||
The bug I earlier hypothesized might be the same as this one has since been
|
||||
fixed. So it would be good to know if this bug is fixed. I do not think
|
||||
enough information was provided for me to be able to reproduce it.
|
||||
"""]]
|
50
doc/bugs/brew_install_git-annex_failed.mdwn
Normal file
50
doc/bugs/brew_install_git-annex_failed.mdwn
Normal file
|
@ -0,0 +1,50 @@
|
|||
### Please describe the problem.
|
||||
|
||||
brew install git-annex failed.
|
||||
|
||||
### What steps will reproduce the problem?
|
||||
|
||||
|
||||
### What version of git-annex are you using? On what operating system?
|
||||
Mac OS X 10.11 El Capitan
|
||||
|
||||
### Please provide any additional information below.
|
||||
|
||||
[[!format sh """
|
||||
95b3d57ce7--git-annex-7.20191230.tar.gz
|
||||
==> cabal v1-sandbox init
|
||||
==> cabal v1-update
|
||||
==> cabal v1-install --jobs=4 --max-backjumps=100000 alex
|
||||
==> cabal v1-install --jobs=4 --max-backjumps=100000 happy
|
||||
==> cabal v1-install --jobs=4 --max-backjumps=100000 c2hs
|
||||
==> cabal v1-install --jobs=4 --max-backjumps=100000 --only-dependencies --constraint http-conduit>=2.3 --constraint net
|
||||
==> cabal v1-configure --flags=s3 webapp
|
||||
==> cabal v1-install --jobs=4 --max-backjumps=100000 --prefix=/usr/local/Cellar/git-annex/7.20191230 --constraint http-c
|
||||
Last 15 lines from /Users/choi/Library/Logs/Homebrew/git-annex/08.cabal:
|
||||
StandaloneDeriving
|
||||
|
||||
Please enable the extensions by copy/pasting these lines into the top of your file:
|
||||
|
||||
{-# LANGUAGE DerivingStrategies #-}
|
||||
{-# LANGUAGE StandaloneDeriving #-}
|
||||
|
|
||||
31 | share [mkPersist sqlSettings, mkMigrate "migrateKeysDb"] [persistLowerCase|
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...
|
||||
cabal: Leaving directory '.'
|
||||
cabal: Error: some packages failed to install:
|
||||
git-annex-7.20191230-JGm7b2Gk5I8w0hi2BDCiw failed during the building phase.
|
||||
The exception was:
|
||||
ExitFailure 1
|
||||
|
||||
|
||||
Do not report this issue to Homebrew/brew or Homebrew/core!
|
||||
|
||||
These open issues may also help:
|
||||
git-annex-remote-rclone 0.6 (new formula) https://github.com/Homebrew/homebrew-core/pull/49468
|
||||
git-annex: add OBJC_DISABLE_INITIALIZE_FORK_SAFETY environment variable https://github.com/Homebrew/homebrew-core/pull/48411
|
||||
"""]]
|
||||
|
||||
### 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)
|
||||
|
||||
|
||||
> [[fixed|done]] in git-annex master --[[Joey]]
|
|
@ -0,0 +1,9 @@
|
|||
[[!comment format=mdwn
|
||||
username="nrg@bd619d1ebf16e6324c546adea8be8fe1cc2b4325"
|
||||
nickname="nrg"
|
||||
avatar="http://cdn.libravatar.org/avatar/428b6c95b52769cf9eecdd351018eacb"
|
||||
subject="Confirmed with macOS 10.14.6 building git-annex-7.20200202.7"
|
||||
date="2020-02-03T23:10:22Z"
|
||||
content="""
|
||||
The issue is also seen [here](https://github.com/Homebrew/homebrew-core/pull/49731).
|
||||
"""]]
|
|
@ -0,0 +1,9 @@
|
|||
[[!comment format=mdwn
|
||||
username="nrg@bd619d1ebf16e6324c546adea8be8fe1cc2b4325"
|
||||
nickname="nrg"
|
||||
avatar="http://cdn.libravatar.org/avatar/428b6c95b52769cf9eecdd351018eacb"
|
||||
subject="Change introduced by persistent-sqlite and persistent-template"
|
||||
date="2020-02-04T15:09:59Z"
|
||||
content="""
|
||||
The change was introduced [here](https://github.com/yesodweb/persistent/commit/6ca1c2401f228293c64ae05e6109d4936b98c4b9).
|
||||
"""]]
|
|
@ -0,0 +1,8 @@
|
|||
[[!comment format=mdwn
|
||||
username="joey"
|
||||
subject="""comment 3"""
|
||||
date="2020-02-04T15:56:00Z"
|
||||
content="""
|
||||
I think I've fixed this in master now, but have not been able to test the fix
|
||||
yet since I don't have the bandwidth to upgrade.
|
||||
"""]]
|
|
@ -0,0 +1,22 @@
|
|||
### Please describe the problem.
|
||||
|
||||
Full build logs are at http://neuro.debian.net/_files/_buildlogs/git-annex/7.20191230+git152-gefb981388
|
||||
|
||||
|
||||
|
||||
[[!format sh """
|
||||
...
|
||||
prop_read_write_transferinfo: FAIL
|
||||
*** Failed! Exception: 'recoverEncode: invalid argument (invalid character)' (after 1 test):
|
||||
Exception thrown while showing test case: 'recoverEncode: invalid argument (invalid character)'
|
||||
Use --quickcheck-replay=507010 to reproduce.
|
||||
|
||||
|
||||
"""]]
|
||||
|
||||
|
||||
|
||||
[[!meta author=yoh]]
|
||||
[[!tag projects/datalad]]
|
||||
|
||||
> [[fixed|done]] --[[Joey]]
|
|
@ -0,0 +1,31 @@
|
|||
[[!comment format=mdwn
|
||||
username="joey"
|
||||
subject="""comment 1"""
|
||||
date="2020-02-02T19:41:34Z"
|
||||
content="""
|
||||
Minimal reproducer:
|
||||
|
||||
bash$ LANG=C ghci Utility/FileSystemEncoding.hs
|
||||
ghci> useFileSystemEncoding
|
||||
ghci> toRawFilePath "\611584"
|
||||
"*** Exception: recoverEncode: invalid argument (invalid character)
|
||||
|
||||
No such problem in a unicode locale.
|
||||
|
||||
The problem does not, though, affect actually using git-annex in LANG=C
|
||||
with a filename with that in its name.
|
||||
|
||||
Odd because the filesystem encoding is supposed to round-tip well,
|
||||
anything, but here encoding a string with it is failing internally.
|
||||
Maybe the thing is, it's not really round-tripping? QuickCheck arbitrary
|
||||
magics up a FilePath that contains that, so it's starting in the middle and
|
||||
trying to convert it out.
|
||||
|
||||
[[!commit 70395659db9f662e61009d984fc9b0b2f24fdece]] introduced this while
|
||||
fixing another intermittent encoding test case failure.
|
||||
|
||||
ghci> Data.Char.generalCategory '\611584'
|
||||
NotAssigned
|
||||
|
||||
I think it would make sense to filter out NotAssigned and PrivateUse.
|
||||
"""]]
|
|
@ -42,3 +42,6 @@ apparently it is actually timing out on checking (I guess after chunk completion
|
|||
|
||||
|
||||
[[!meta author="yoh"]]
|
||||
|
||||
> I see that the bug in the DAV library has been fixed (in 2018),
|
||||
> so hopefully nothing more needs to be done. [[done]] --[[Joey]]
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
[[!comment format=mdwn
|
||||
username="joey"
|
||||
subject="""comment 1"""
|
||||
date="2020-01-23T19:26:20Z"
|
||||
content="""
|
||||
Looking in the git-annex branch of this repository, for information about
|
||||
a key such as MD5E-s10555001--f8bc87e8841634b3d2f9ac0ba85d0a83.nii.gz.log
|
||||
which is one of the files that fails to download, all there is is this:
|
||||
|
||||
joey@darkstar:/tmp/ds000248#git-annex>cat ./f0b/978/MD5E-s10555001--f8bc87e8841634b3d2f9ac0ba85d0a83.nii.gz.log
|
||||
1531766688.020213886s 1 82a4b182-753f-4d93-a59e-20cfdd4d4237
|
||||
1531766681.703832952s 1 e3612a8a-0c48-4374-9bfb-888f4010be54
|
||||
|
||||
So location log says it's in s3-PUBLIC, but in fact no S3 version id has been recorded.
|
||||
|
||||
And there were old bugs that prevented the recording of the S3 version id.
|
||||
Notably, it used to be possible to set versioning=yes on an existing S3
|
||||
remote, and the files already stored in it necessarily lacked version ids
|
||||
then. That has been fixed.
|
||||
|
||||
So, is it still possible to reproduce creating a repository with this problem?
|
||||
"""]]
|
50
doc/bugs/git-annex-repair_claims_success_then_failure.mdwn
Normal file
50
doc/bugs/git-annex-repair_claims_success_then_failure.mdwn
Normal file
|
@ -0,0 +1,50 @@
|
|||
Hello.
|
||||
|
||||
What does this log mean? It seems to tell" "success", then "openDirStream" fails, then "1 failed". What failed?
|
||||
|
||||
Context is in [todo/git annex repair: performance can be abysmal, huge improvements possible](https://git-annex.branchable.com/ikiwiki.cgi?do=goto&page=todo%2Fgit_annex_repair__58___performance_can_be_abysmal__44___huge_improvements_possible)
|
||||
|
||||
fatal: bad object refs/heads/git-annex
|
||||
fatal: bad object refs/heads/git-annex
|
||||
fatal: bad object refs/heads/git-annex
|
||||
error: Could not read somehashA
|
||||
fatal: Failed to traverse parents of commit somehashB
|
||||
error: Could not read somehashA
|
||||
fatal: Failed to traverse parents of commit somehashB
|
||||
error: Could not read somehashA
|
||||
fatal: Failed to traverse parents of commit somehashB
|
||||
error: Could not read somehashA
|
||||
fatal: Failed to traverse parents of commit somehashB
|
||||
Deleted these local branches, which could not be recovered due to missing objects:
|
||||
refs/heads/master
|
||||
refs/heads/git-annex
|
||||
You currently have refs/heads/master checked out. You may have staged changes in the index that can be committed to recover the lost state of this branch!
|
||||
Successfully recovered repository!
|
||||
Please carefully check that the changes mentioned above are ok..
|
||||
|
||||
git-annex: .git/annex/journal/: openDirStream: does not exist (No such file or directory)
|
||||
failed
|
||||
git-annex: repair: 1 failed
|
||||
|
||||
The fact is: this repo is a plain git clone of a git annex repository.
|
||||
|
||||
There is no `.git/annex` directory there before `git-annex-repair` is run.
|
||||
|
||||
After it ran, there is a `.git/annex` directory with that content:
|
||||
|
||||
total 24
|
||||
drwxrwxr-x 3 4096 Jul 22 15:41 .
|
||||
drwxrwxr-x 9 4096 Jul 23 07:24 ..
|
||||
-rw-rw-r-- 1 65 Jul 20 11:59 index
|
||||
-rw-rw-r-- 1 41 Jul 20 11:59 index.lck
|
||||
-rw-rw-r-- 1 0 Jul 22 15:41 journal.lck
|
||||
-rw-rw-r-- 1 211 Jul 20 11:59 mergedrefs
|
||||
drwxrwxr-x 2 4096 Jul 22 15:41 misctmp
|
||||
|
||||
Perhaps git-annex-repair gets confused when recovering a repository that is a plain git clone of a git annex repository?
|
||||
|
||||
I did that because annexed objects are 1.7TB big here, so I wanted a local copy of pure git part only to perform repair of the repo, and propagate things somehow the objects at a later stage.
|
||||
|
||||
I'll keep the repo lying around for a few days, maybe weeks, if some experiment or further feedback is needed.
|
||||
|
||||
Thank you for your attention.
|
|
@ -0,0 +1,91 @@
|
|||
### Please describe the problem.
|
||||
|
||||
git annex commands with `--all` option in tuned repository (with `annex.tune.branchhash1=true`) do not do anything.
|
||||
|
||||
### What steps will reproduce the problem?
|
||||
|
||||
1. Initialize a tuned annex repository with `git annex init -c annex.tune.branchhash1=true`.
|
||||
2. Add some files to annex.
|
||||
3. Now `git annex whereis --all` and `git annex fsck --all` (and maybe other commands) don't show/do anything.
|
||||
|
||||
### What version of git-annex are you using? On what operating system?
|
||||
|
||||
Version 7.20191230-g985373f8e, compiled from sources, on Debian buster 10.2.
|
||||
|
||||
### Please provide any additional information below.
|
||||
|
||||
[[!format txt """
|
||||
~ $ mkdir testdir
|
||||
~ $ cd testdir
|
||||
~/testdir $
|
||||
~/testdir $ git init
|
||||
Initialized empty Git repository in /home/test/testdir/.git/
|
||||
~/testdir $
|
||||
~/testdir $ git annex init -c annex.tune.branchhash1=true testrepo
|
||||
init testrepo (scanning for unlocked files...)
|
||||
ok
|
||||
(recording state in git...)
|
||||
~/testdir $
|
||||
~/testdir $ echo abcabc >file
|
||||
~/testdir $
|
||||
~/testdir $ git annex add file
|
||||
add file
|
||||
ok
|
||||
(recording state in git...)
|
||||
~/testdir $
|
||||
~/testdir $ git commit -m file
|
||||
[master (root-commit) b910684] file
|
||||
1 file changed, 1 insertion(+)
|
||||
create mode 120000 file
|
||||
~/testdir $
|
||||
~/testdir $ git annex whereis
|
||||
whereis file (1 copy)
|
||||
67d9c35f-e206-404f-a9da-6c94894a4f9f -- testrepo [here]
|
||||
ok
|
||||
~/testdir $
|
||||
~/testdir $ git annex whereis --all
|
||||
~/testdir $
|
||||
~/testdir $ git annex fsck
|
||||
fsck file (checksum...) ok
|
||||
(recording state in git...)
|
||||
~/testdir $
|
||||
~/testdir $ git annex fsck --all
|
||||
(recording state in git...)
|
||||
"""]]
|
||||
|
||||
But `--key` option works:
|
||||
|
||||
[[!format txt """
|
||||
~/testdir $ git annex lookupkey file
|
||||
SHA256E-s7--2ed91d820157c0530ffbae54122d998e0de6d958f266b682f7c528942f770470
|
||||
~/testdir $
|
||||
~/testdir $ git annex whereis --key SHA256E-s7--2ed91d820157c0530ffbae54122d998e0de6d958f266b682f7c528942f770470
|
||||
whereis SHA256E-s7--2ed91d820157c0530ffbae54122d998e0de6d958f266b682f7c528942f770470 (1 copy)
|
||||
67d9c35f-e206-404f-a9da-6c94894a4f9f -- testrepo [here]
|
||||
ok
|
||||
~/testdir $
|
||||
~/testdir $ git annex fsck --key SHA256E-s7--2ed91d820157c0530ffbae54122d998e0de6d958f266b682f7c528942f770470
|
||||
fsck SHA256E-s7--2ed91d820157c0530ffbae54122d998e0de6d958f266b682f7c528942f770470 (checksum...) ok
|
||||
(recording state in git...)
|
||||
"""]]
|
||||
|
||||
Repository status:
|
||||
|
||||
[[!format txt """
|
||||
~/testdir $ find .git/annex/objects/ -type f
|
||||
.git/annex/objects/J3/3f/SHA256E-s7--2ed91d820157c0530ffbae54122d998e0de6d958f266b682f7c528942f770470/SHA256E-s7--2ed91d820157c0530ffbae54122d998e0de6d958f266b682f7c528942f770470
|
||||
~/testdir $
|
||||
~/testdir $ git ls-tree -r git-annex
|
||||
100644 blob 20f9faf7ca569d23da5f106a445609d018fa221d activity.log
|
||||
100644 blob 71f3551b7119daa3c4679d2b790d72b6bc06cbb8 c34/SHA256E-s7--2ed91d820157c0530ffbae54122d998e0de6d958f266b682f7c528942f770470.log
|
||||
100644 blob d475e423f6fb4863559e8cca981ae8a433f68516 difference.log
|
||||
100644 blob bf91bd54df30e28f40b49670cf9c9c26ff600a22 uuid.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)
|
||||
|
||||
Of course, I love it! Great project, thanks, Joey!
|
||||
|
||||
However, /me always wants more features from it. It's great that git-annex continues to develop.
|
||||
|
||||
> [[fixed|done]] --[[Joey]]
|
|
@ -0,0 +1,18 @@
|
|||
[[!comment format=mdwn
|
||||
username="joey"
|
||||
subject="""comment 1"""
|
||||
date="2020-02-14T19:01:50Z"
|
||||
content="""
|
||||
Indeed this is a bug. Easy to see why, note that "3":
|
||||
|
||||
locationLogFileKey path
|
||||
-- Want only xx/yy/foo.log, not .log files in other places.
|
||||
| length (splitDirectories (fromRawFilePath path)) /= 3 = Nothing
|
||||
|
||||
So this also affected some other things that use that. Including `git-annex log`,
|
||||
potentially something to do with v2 upgrade (if a v2 repo could be tuned this way?),
|
||||
and handling transitions set up by `git annex forget`.
|
||||
|
||||
(I also checked if annex.tune.objecthash1 similarly broke stuff that
|
||||
enumerated .git/annex/objects, but that was handled ok already.)
|
||||
"""]]
|
|
@ -0,0 +1,21 @@
|
|||
I have a git repository with a webdav annex remote. I have used this remote to store a few large files, and transfer them to other computers.
|
||||
|
||||
I have done this on three Linux computers on different networks, and it works beautifully! Truly a life-saver!
|
||||
|
||||
However, I today tried setting up a macOS computer, and
|
||||
|
||||
git annex copy --from=myremote
|
||||
|
||||
fails with the simple error message "failed". It downloads about ten megabytes without issue before failing. It then continues with the next file and again downloads a bit (ca. 10 Mb), then fails. The JSON error message has an empty error message field, and the JSON progress messages only contain business-as-usual before the error.
|
||||
|
||||
On the computer that has this problem, I am running macOS 10.15.2 and git-annex 7.20191230.
|
||||
|
||||
I tried WiFi and wired network connections, which doesn't make a difference. The hard drive has enough space for the files. I tried manually selecting various annexed files, but all fail after 10 Mb.
|
||||
|
||||
The same command worked on the linux boxes I set up a few days ago.
|
||||
|
||||
The problem really is that I am getting no meaningful error message for triaging this problem.
|
||||
|
||||
Any help would be appreciated!
|
||||
|
||||
[[!tag moreinfo]]
|
|
@ -0,0 +1,10 @@
|
|||
[[!comment format=mdwn
|
||||
username="joey"
|
||||
subject="""comment 1"""
|
||||
date="2020-01-23T20:28:20Z"
|
||||
content="""
|
||||
Adding --debug might provide more information.
|
||||
|
||||
`git annex version` will certianly provide useful information, including
|
||||
the version of the DAV library git-annex was built with.
|
||||
"""]]
|
447
doc/bugs/git_config_merge.ff__61__only_breaks_sync.mdwn
Normal file
447
doc/bugs/git_config_merge.ff__61__only_breaks_sync.mdwn
Normal file
|
@ -0,0 +1,447 @@
|
|||
### Please describe the problem.
|
||||
|
||||
Having globally configured git-merge to only allow fast forward merges breaks git-annex's sync command.
|
||||
|
||||
### What steps will reproduce the problem?
|
||||
|
||||
Run the following script, beware it will change the global git config for `merge.ff`:
|
||||
|
||||
```
|
||||
#!/bin/sh
|
||||
repro() {
|
||||
rm -rf repo-a repo-b
|
||||
mkdir repo-a repo-b
|
||||
( cd repo-a; git init; git annex init; git remote add repo-b ../repo-b )
|
||||
( cd repo-b; git init; git annex init; git remote add repo-a ../repo-a )
|
||||
|
||||
# Setup an initial commit a0 in repo-a
|
||||
( cd repo-a
|
||||
touch a0
|
||||
git add a0
|
||||
git commit -m a0
|
||||
git annex sync
|
||||
)
|
||||
|
||||
# Pull a0 into repo-b and create commit 'b' on top of it
|
||||
( cd repo-b
|
||||
git annex sync
|
||||
touch b
|
||||
git add b
|
||||
git commit -m b
|
||||
)
|
||||
|
||||
# Back in repo-a create a diverging commit 'a1' and try to sync
|
||||
( cd repo-a
|
||||
touch a1
|
||||
git add a1
|
||||
git commit -m a1
|
||||
git annex sync -d
|
||||
)
|
||||
}
|
||||
|
||||
# First try without merge.ff=only
|
||||
git config --global --unset merge.ff
|
||||
repro; rv=$?
|
||||
|
||||
# Now with
|
||||
git config --global merge.ff only
|
||||
repro || echo "===== Breaks with merge.ff=only ====="
|
||||
[ $rv -eq 0 ] && echo "===== Works without merge.ff=only ====="
|
||||
```
|
||||
|
||||
### What version of git-annex are you using? On what operating system?
|
||||
|
||||
git-annex version 7.20190129-3 from Debian buster
|
||||
|
||||
```
|
||||
$ git annex version
|
||||
git-annex version: 7.20190129
|
||||
build flags: Assistant Webapp Pairing S3(multipartupload)(storageclasses) WebDAV Inotify DBus DesktopNotify TorrentParser MagicMime Feeds Testsuite
|
||||
dependency versions: aws-0.20 bloomfilter-2.0.1.0 cryptonite-0.25 DAV-1.3.3 feed-1.0.0.0 ghc-8.4.4 http-client-0.5.13.1 persistent-sqlite-2.8.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_224 SHA3_384E SHA3_384 SKEIN256E SKEIN256 SKEIN512E SKEIN512 BLAKE2B256E BLAKE2B256 BLAKE2B512E BLAKE2B512 BLAKE2B160E BLAKE2B160 BLAKE2B224E 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
|
||||
```
|
||||
|
||||
### Please provide any additional information below.
|
||||
|
||||
A run of the repro script above with `sh -x`:
|
||||
|
||||
[[!format sh """
|
||||
+ git config --global --unset merge.ff
|
||||
+ repro
|
||||
+ rm -rf repo-a repo-b
|
||||
+ mkdir repo-a repo-b
|
||||
+ cd repo-a
|
||||
+ git init
|
||||
Initialized empty Git repository in /tmp/repo-a/.git/
|
||||
+ git annex init
|
||||
init ok
|
||||
(recording state in git...)
|
||||
+ git remote add repo-b ../repo-b
|
||||
+ cd repo-b
|
||||
+ git init
|
||||
Initialized empty Git repository in /tmp/repo-b/.git/
|
||||
+ git annex init
|
||||
init ok
|
||||
(recording state in git...)
|
||||
+ git remote add repo-a ../repo-a
|
||||
+ cd repo-a
|
||||
+ touch a0
|
||||
+ git add a0
|
||||
+ git commit -m a0
|
||||
[master (root-commit) 6c82d47] a0
|
||||
1 file changed, 0 insertions(+), 0 deletions(-)
|
||||
create mode 100644 a0
|
||||
+ git annex sync
|
||||
commit
|
||||
On branch master
|
||||
nothing to commit, working tree clean
|
||||
ok
|
||||
pull repo-b
|
||||
remote: Enumerating objects: 4, done.
|
||||
remote: Counting objects: 100% (4/4), done.
|
||||
remote: Compressing objects: 100% (2/2), done.
|
||||
remote: Total 3 (delta 0), reused 0 (delta 0)
|
||||
Unpacking objects: 100% (3/3), done.
|
||||
From ../repo-b
|
||||
* [new branch] git-annex -> repo-b/git-annex
|
||||
ok
|
||||
(merging repo-b/git-annex into git-annex...)
|
||||
(recording state in git...)
|
||||
push repo-b
|
||||
Enumerating objects: 12, done.
|
||||
Counting objects: 100% (12/12), done.
|
||||
Delta compression using up to 8 threads
|
||||
Compressing objects: 100% (5/5), done.
|
||||
Writing objects: 100% (9/9), 805 bytes | 805.00 KiB/s, done.
|
||||
Total 9 (delta 1), reused 0 (delta 0)
|
||||
To ../repo-b
|
||||
* [new branch] git-annex -> synced/git-annex
|
||||
* [new branch] master -> synced/master
|
||||
ok
|
||||
+ cd repo-b
|
||||
+ git annex sync
|
||||
commit
|
||||
On branch master
|
||||
|
||||
Initial commit
|
||||
|
||||
nothing to commit
|
||||
ok
|
||||
fatal: ambiguous argument 'refs/heads/master..refs/heads/synced/master': unknown revision or path not in the working tree.
|
||||
Use '--' to separate paths from revisions, like this:
|
||||
'git <command> [<revision>...] -- [<file>...]'
|
||||
pull repo-a
|
||||
From ../repo-a
|
||||
* [new branch] git-annex -> repo-a/git-annex
|
||||
* [new branch] master -> repo-a/master
|
||||
* [new branch] synced/master -> repo-a/synced/master
|
||||
|
||||
|
||||
Already up to date.
|
||||
ok
|
||||
+ touch b
|
||||
+ git add b
|
||||
+ git commit -m b
|
||||
[master d3ecbbf] b
|
||||
1 file changed, 0 insertions(+), 0 deletions(-)
|
||||
create mode 100644 b
|
||||
+ cd repo-a
|
||||
+ touch a1
|
||||
+ git add a1
|
||||
+ git commit -m a1
|
||||
[master 7c4054b] a1
|
||||
1 file changed, 0 insertions(+), 0 deletions(-)
|
||||
create mode 100644 a1
|
||||
+ git annex sync -d
|
||||
[2020-01-21 12:41:12.808810342] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","show-ref","git-annex"]
|
||||
[2020-01-21 12:41:12.810537111] process done ExitSuccess
|
||||
[2020-01-21 12:41:12.810623305] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","show-ref","--hash","refs/heads/git-annex"]
|
||||
[2020-01-21 12:41:12.812254921] process done ExitSuccess
|
||||
[2020-01-21 12:41:12.812457308] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","log","refs/heads/git-annex..a2ceb59a5879cdf88bd33104c0ee8ac390b3f62e","--pretty=%H","-n1"]
|
||||
[2020-01-21 12:41:12.813939135] process done ExitSuccess
|
||||
[2020-01-21 12:41:12.814207234] chat: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","cat-file","--batch"]
|
||||
[2020-01-21 12:41:12.814533549] chat: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","cat-file","--batch-check=%(objectname) %(objecttype) %(objectsize)"]
|
||||
[2020-01-21 12:41:12.820975511] read: git ["config","--null","--list"]
|
||||
[2020-01-21 12:41:12.822586611] process done ExitSuccess
|
||||
commit
|
||||
[2020-01-21 12:41:12.823337737] call: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","commit","-a","-m","git-annex in dxld@Eli:/tmp/repo-a"]
|
||||
On branch master
|
||||
nothing to commit, working tree clean
|
||||
[2020-01-21 12:41:12.851712964] process done ExitFailure 1
|
||||
ok
|
||||
[2020-01-21 12:41:12.851809058] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","symbolic-ref","-q","HEAD"]
|
||||
[2020-01-21 12:41:12.852844432] process done ExitSuccess
|
||||
[2020-01-21 12:41:12.85289997] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","show-ref","refs/heads/master"]
|
||||
[2020-01-21 12:41:12.853966619] process done ExitSuccess
|
||||
[2020-01-21 12:41:12.854022004] call: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","show-ref","--verify","-q","refs/heads/synced/master"]
|
||||
[2020-01-21 12:41:12.85488393] process done ExitSuccess
|
||||
[2020-01-21 12:41:12.854935336] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","log","refs/heads/master..refs/heads/synced/master","--pretty=%H","-n1"]
|
||||
[2020-01-21 12:41:12.85636602] process done ExitSuccess
|
||||
pull repo-b
|
||||
[2020-01-21 12:41:12.85658479] call: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","fetch","repo-b"]
|
||||
remote: Enumerating objects: 3, done.
|
||||
remote: Counting objects: 100% (3/3), done.
|
||||
remote: Compressing objects: 100% (2/2), done.
|
||||
remote: Total 2 (delta 0), reused 0 (delta 0)
|
||||
Unpacking objects: 100% (2/2), done.
|
||||
From ../repo-b
|
||||
* [new branch] master -> repo-b/master
|
||||
[2020-01-21 12:41:12.869425035] process done ExitSuccess
|
||||
[2020-01-21 12:41:12.86951948] call: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","branch","-f","synced/master","refs/heads/master"]
|
||||
[2020-01-21 12:41:12.870907097] process done ExitSuccess
|
||||
[2020-01-21 12:41:12.870950213] call: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","show-ref","--verify","-q","refs/remotes/repo-b/master"]
|
||||
[2020-01-21 12:41:12.871908557] process done ExitSuccess
|
||||
[2020-01-21 12:41:12.871965108] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","log","refs/heads/master..refs/remotes/repo-b/master","--pretty=%H","-n1"]
|
||||
[2020-01-21 12:41:12.873517012] process done ExitSuccess
|
||||
[2020-01-21 12:41:12.873627395] call: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","show-ref","--verify","-q","refs/remotes/repo-b/synced/master"]
|
||||
[2020-01-21 12:41:12.874965525] process done ExitSuccess
|
||||
[2020-01-21 12:41:12.875039117] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","log","refs/heads/synced/master..refs/remotes/repo-b/synced/master","--pretty=%H","-n1"]
|
||||
[2020-01-21 12:41:12.876601605] process done ExitSuccess
|
||||
|
||||
[2020-01-21 12:41:12.876699748] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","show-ref","--hash","refs/heads/master"]
|
||||
[2020-01-21 12:41:12.878506453] process done ExitSuccess
|
||||
[2020-01-21 12:41:12.878622705] read: git ["--version"]
|
||||
[2020-01-21 12:41:12.879681841] process done ExitSuccess
|
||||
[2020-01-21 12:41:12.879787682] call: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","merge","--no-edit","refs/remotes/repo-b/master","--allow-unrelated-histories"]
|
||||
Merge made by the 'recursive' strategy.
|
||||
b | 0
|
||||
1 file changed, 0 insertions(+), 0 deletions(-)
|
||||
create mode 100644 b
|
||||
[2020-01-21 12:41:12.884914215] process done ExitSuccess
|
||||
ok
|
||||
[2020-01-21 12:41:12.885012011] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","show-ref","git-annex"]
|
||||
[2020-01-21 12:41:12.886558493] process done ExitSuccess
|
||||
[2020-01-21 12:41:12.88678805] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","show-ref","--hash","refs/heads/git-annex"]
|
||||
[2020-01-21 12:41:12.888312105] process done ExitSuccess
|
||||
[2020-01-21 12:41:12.888486534] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","log","refs/heads/git-annex..a2ceb59a5879cdf88bd33104c0ee8ac390b3f62e","--pretty=%H","-n1"]
|
||||
[2020-01-21 12:41:12.890100289] process done ExitSuccess
|
||||
[2020-01-21 12:41:12.890310425] call: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","branch","-f","synced/master","refs/heads/master"]
|
||||
[2020-01-21 12:41:12.892087109] process done ExitSuccess
|
||||
[2020-01-21 12:41:12.892162993] call: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","show-ref","--verify","-q","refs/remotes/repo-b/synced/master"]
|
||||
[2020-01-21 12:41:12.893271619] process done ExitSuccess
|
||||
[2020-01-21 12:41:12.893323578] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","log","refs/remotes/repo-b/synced/master..refs/heads/synced/master","--pretty=%H","-n1"]
|
||||
[2020-01-21 12:41:12.894429364] process done ExitSuccess
|
||||
push repo-b
|
||||
[2020-01-21 12:41:12.894494807] call: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","push","repo-b","+git-annex:synced/git-annex","master:synced/master"]
|
||||
Enumerating objects: 6, done.
|
||||
Counting objects: 100% (6/6), done.
|
||||
Delta compression using up to 8 threads
|
||||
Compressing objects: 100% (4/4), done.
|
||||
Writing objects: 100% (4/4), 472 bytes | 472.00 KiB/s, done.
|
||||
Total 4 (delta 1), reused 0 (delta 0)
|
||||
To ../repo-b
|
||||
6c82d47..40d7fc6 master -> synced/master
|
||||
[2020-01-21 12:41:12.939565851] process done ExitSuccess
|
||||
[2020-01-21 12:41:12.939790389] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","push","repo-b","git-annex"]
|
||||
[2020-01-21 12:41:12.945667784] process done ExitSuccess
|
||||
[2020-01-21 12:41:12.945804791] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","push","repo-b","master"]
|
||||
[2020-01-21 12:41:12.960382215] process done ExitFailure 1
|
||||
ok
|
||||
[2020-01-21 12:41:12.961199639] process done ExitSuccess
|
||||
[2020-01-21 12:41:12.961575886] process done ExitSuccess
|
||||
+ rv=0
|
||||
+ git config --global merge.ff only
|
||||
+ repro
|
||||
+ rm -rf repo-a repo-b
|
||||
+ mkdir repo-a repo-b
|
||||
+ cd repo-a
|
||||
+ git init
|
||||
Initialized empty Git repository in /tmp/repo-a/.git/
|
||||
+ git annex init
|
||||
init ok
|
||||
(recording state in git...)
|
||||
+ git remote add repo-b ../repo-b
|
||||
+ cd repo-b
|
||||
+ git init
|
||||
Initialized empty Git repository in /tmp/repo-b/.git/
|
||||
+ git annex init
|
||||
init ok
|
||||
(recording state in git...)
|
||||
+ git remote add repo-a ../repo-a
|
||||
+ cd repo-a
|
||||
+ touch a0
|
||||
+ git add a0
|
||||
+ git commit -m a0
|
||||
[master (root-commit) 250bdc3] a0
|
||||
1 file changed, 0 insertions(+), 0 deletions(-)
|
||||
create mode 100644 a0
|
||||
+ git annex sync
|
||||
commit
|
||||
On branch master
|
||||
nothing to commit, working tree clean
|
||||
ok
|
||||
pull repo-b
|
||||
warning: no common commits
|
||||
remote: Enumerating objects: 5, done.
|
||||
remote: Counting objects: 100% (5/5), done.
|
||||
remote: Compressing objects: 100% (3/3), done.
|
||||
remote: Total 5 (delta 1), reused 0 (delta 0)
|
||||
Unpacking objects: 100% (5/5), done.
|
||||
From ../repo-b
|
||||
* [new branch] git-annex -> repo-b/git-annex
|
||||
ok
|
||||
(merging repo-b/git-annex into git-annex...)
|
||||
(recording state in git...)
|
||||
push repo-b
|
||||
Enumerating objects: 13, done.
|
||||
Counting objects: 100% (13/13), done.
|
||||
Delta compression using up to 8 threads
|
||||
Compressing objects: 100% (6/6), done.
|
||||
Writing objects: 100% (11/11), 1023 bytes | 1023.00 KiB/s, done.
|
||||
Total 11 (delta 0), reused 0 (delta 0)
|
||||
To ../repo-b
|
||||
* [new branch] git-annex -> synced/git-annex
|
||||
* [new branch] master -> synced/master
|
||||
ok
|
||||
+ cd repo-b
|
||||
+ git annex sync
|
||||
commit
|
||||
On branch master
|
||||
|
||||
Initial commit
|
||||
|
||||
nothing to commit
|
||||
ok
|
||||
fatal: ambiguous argument 'refs/heads/master..refs/heads/synced/master': unknown revision or path not in the working tree.
|
||||
Use '--' to separate paths from revisions, like this:
|
||||
'git <command> [<revision>...] -- [<file>...]'
|
||||
pull repo-a
|
||||
From ../repo-a
|
||||
* [new branch] git-annex -> repo-a/git-annex
|
||||
* [new branch] master -> repo-a/master
|
||||
* [new branch] synced/master -> repo-a/synced/master
|
||||
|
||||
|
||||
Already up to date.
|
||||
ok
|
||||
+ touch b
|
||||
+ git add b
|
||||
+ git commit -m b
|
||||
[master af18b51] b
|
||||
1 file changed, 0 insertions(+), 0 deletions(-)
|
||||
create mode 100644 b
|
||||
+ cd repo-a
|
||||
+ touch a1
|
||||
+ git add a1
|
||||
+ git commit -m a1
|
||||
[master 91e5f6f] a1
|
||||
1 file changed, 0 insertions(+), 0 deletions(-)
|
||||
create mode 100644 a1
|
||||
+ git annex sync -d
|
||||
[2020-01-21 12:41:13.526664743] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","show-ref","git-annex"]
|
||||
[2020-01-21 12:41:13.52932842] process done ExitSuccess
|
||||
[2020-01-21 12:41:13.529400247] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","show-ref","--hash","refs/heads/git-annex"]
|
||||
[2020-01-21 12:41:13.530793109] process done ExitSuccess
|
||||
[2020-01-21 12:41:13.530950751] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","log","refs/heads/git-annex..4b03666eac77ff7f709a83289267cc1f28f80391","--pretty=%H","-n1"]
|
||||
[2020-01-21 12:41:13.532177334] process done ExitSuccess
|
||||
[2020-01-21 12:41:13.532400895] chat: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","cat-file","--batch"]
|
||||
[2020-01-21 12:41:13.532647616] chat: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","cat-file","--batch-check=%(objectname) %(objecttype) %(objectsize)"]
|
||||
[2020-01-21 12:41:13.538048182] read: git ["config","--null","--list"]
|
||||
[2020-01-21 12:41:13.539367779] process done ExitSuccess
|
||||
commit
|
||||
[2020-01-21 12:41:13.540002284] call: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","commit","-a","-m","git-annex in dxld@Eli:/tmp/repo-a"]
|
||||
On branch master
|
||||
nothing to commit, working tree clean
|
||||
[2020-01-21 12:41:13.568174475] process done ExitFailure 1
|
||||
ok
|
||||
[2020-01-21 12:41:13.568319083] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","symbolic-ref","-q","HEAD"]
|
||||
[2020-01-21 12:41:13.57005936] process done ExitSuccess
|
||||
[2020-01-21 12:41:13.5701439] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","show-ref","refs/heads/master"]
|
||||
[2020-01-21 12:41:13.571885769] process done ExitSuccess
|
||||
[2020-01-21 12:41:13.571979878] call: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","show-ref","--verify","-q","refs/heads/synced/master"]
|
||||
[2020-01-21 12:41:13.573389866] process done ExitSuccess
|
||||
[2020-01-21 12:41:13.573486391] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","log","refs/heads/master..refs/heads/synced/master","--pretty=%H","-n1"]
|
||||
[2020-01-21 12:41:13.575824245] process done ExitSuccess
|
||||
pull repo-b
|
||||
[2020-01-21 12:41:13.575950332] call: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","fetch","repo-b"]
|
||||
remote: Enumerating objects: 3, done.
|
||||
remote: Counting objects: 100% (3/3), done.
|
||||
remote: Compressing objects: 100% (2/2), done.
|
||||
remote: Total 2 (delta 0), reused 0 (delta 0)
|
||||
Unpacking objects: 100% (2/2), done.
|
||||
From ../repo-b
|
||||
* [new branch] master -> repo-b/master
|
||||
[2020-01-21 12:41:13.586295016] process done ExitSuccess
|
||||
[2020-01-21 12:41:13.586392073] call: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","branch","-f","synced/master","refs/heads/master"]
|
||||
[2020-01-21 12:41:13.587730993] process done ExitSuccess
|
||||
[2020-01-21 12:41:13.5877987] call: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","show-ref","--verify","-q","refs/remotes/repo-b/master"]
|
||||
[2020-01-21 12:41:13.588901362] process done ExitSuccess
|
||||
[2020-01-21 12:41:13.588969352] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","log","refs/heads/master..refs/remotes/repo-b/master","--pretty=%H","-n1"]
|
||||
[2020-01-21 12:41:13.5904904] process done ExitSuccess
|
||||
[2020-01-21 12:41:13.590563378] call: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","show-ref","--verify","-q","refs/remotes/repo-b/synced/master"]
|
||||
[2020-01-21 12:41:13.591686652] process done ExitSuccess
|
||||
[2020-01-21 12:41:13.591740872] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","log","refs/heads/synced/master..refs/remotes/repo-b/synced/master","--pretty=%H","-n1"]
|
||||
[2020-01-21 12:41:13.593110565] process done ExitSuccess
|
||||
|
||||
[2020-01-21 12:41:13.593182929] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","show-ref","--hash","refs/heads/master"]
|
||||
[2020-01-21 12:41:13.594562053] process done ExitSuccess
|
||||
[2020-01-21 12:41:13.594660841] read: git ["--version"]
|
||||
[2020-01-21 12:41:13.595595012] process done ExitSuccess
|
||||
[2020-01-21 12:41:13.59568225] call: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","merge","--no-edit","refs/remotes/repo-b/master","--allow-unrelated-histories"]
|
||||
fatal: Not possible to fast-forward, aborting.
|
||||
[2020-01-21 12:41:13.597312517] process done ExitFailure 128
|
||||
[2020-01-21 12:41:13.597552001] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","ls-files","--unmerged","-z","--","."]
|
||||
[2020-01-21 12:41:13.598903873] process done ExitSuccess
|
||||
[2020-01-21 12:41:13.598967865] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","ls-files","--deleted","-z","--","."]
|
||||
[2020-01-21 12:41:13.600107434] process done ExitSuccess
|
||||
failed
|
||||
[2020-01-21 12:41:13.600185848] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","show-ref","git-annex"]
|
||||
[2020-01-21 12:41:13.601485474] process done ExitSuccess
|
||||
[2020-01-21 12:41:13.601548875] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","show-ref","--hash","refs/heads/git-annex"]
|
||||
[2020-01-21 12:41:13.602954053] process done ExitSuccess
|
||||
[2020-01-21 12:41:13.603111747] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","log","refs/heads/git-annex..4b03666eac77ff7f709a83289267cc1f28f80391","--pretty=%H","-n1"]
|
||||
[2020-01-21 12:41:13.604578405] process done ExitSuccess
|
||||
[2020-01-21 12:41:13.60470379] call: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","branch","-f","synced/master","refs/heads/master"]
|
||||
[2020-01-21 12:41:13.606371207] process done ExitSuccess
|
||||
[2020-01-21 12:41:13.606457892] call: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","show-ref","--verify","-q","refs/remotes/repo-b/synced/master"]
|
||||
[2020-01-21 12:41:13.607658403] process done ExitSuccess
|
||||
[2020-01-21 12:41:13.607726481] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","log","refs/remotes/repo-b/synced/master..refs/heads/synced/master","--pretty=%H","-n1"]
|
||||
[2020-01-21 12:41:13.609097845] process done ExitSuccess
|
||||
push repo-b
|
||||
[2020-01-21 12:41:13.60918811] call: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","push","repo-b","+git-annex:synced/git-annex","master:synced/master"]
|
||||
Enumerating objects: 3, done.
|
||||
Counting objects: 100% (3/3), done.
|
||||
Delta compression using up to 8 threads
|
||||
Compressing objects: 100% (2/2), done.
|
||||
Writing objects: 100% (2/2), 231 bytes | 231.00 KiB/s, done.
|
||||
Total 2 (delta 0), reused 0 (delta 0)
|
||||
To ../repo-b
|
||||
250bdc3..91e5f6f master -> synced/master
|
||||
[2020-01-21 12:41:13.651508284] process done ExitSuccess
|
||||
[2020-01-21 12:41:13.651669133] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","push","repo-b","git-annex"]
|
||||
[2020-01-21 12:41:13.657342122] process done ExitSuccess
|
||||
[2020-01-21 12:41:13.657603861] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","push","repo-b","master"]
|
||||
[2020-01-21 12:41:13.663212647] process done ExitFailure 1
|
||||
To ../repo-b
|
||||
! [rejected] master -> master (non-fast-forward)
|
||||
error: failed to push some refs to '../repo-b'
|
||||
hint: Updates were rejected because the tip of your current branch is behind
|
||||
hint: its remote counterpart. Integrate the remote changes (e.g.
|
||||
hint: 'git pull ...') before pushing again.
|
||||
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
|
||||
ok
|
||||
[2020-01-21 12:41:13.663856234] process done ExitSuccess
|
||||
[2020-01-21 12:41:13.664249322] process done ExitSuccess
|
||||
git-annex: sync: 1 failed
|
||||
+ echo ===== Breaks with merge.ff=only =====
|
||||
===== Breaks with merge.ff=only =====
|
||||
+ [ 0 -eq 0 ]
|
||||
+ echo ===== Works without merge.ff=only =====
|
||||
===== Works without merge.ff=only =====
|
||||
# End of transcript or log.
|
||||
"""]]
|
||||
|
||||
Notice the call to git-merge, failing:
|
||||
|
||||
```
|
||||
[2020-01-21 12:41:13.59568225] call: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","merge","--no-edit","refs/remotes/repo-b/master","--allow-unrelated-histories"]
|
||||
fatal: Not possible to fast-forward, aborting.
|
||||
```
|
||||
|
||||
### 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)
|
||||
|
||||
Sure! Using git-annex to keep artifacts in development repos works great usually :)
|
|
@ -0,0 +1,18 @@
|
|||
[[!comment format=mdwn
|
||||
username="joey"
|
||||
subject="""comment 1"""
|
||||
date="2020-01-21T18:31:22Z"
|
||||
content="""
|
||||
I feel it's right for git-annex sync to honor git configs, so it's right
|
||||
for it to not merge origin/master. And, without that merge, it's right for
|
||||
it to fail to push master to origin. Since it does push synced/master, this
|
||||
does not prevent other clones of the repo, where git-annex sync is later
|
||||
ran, from getting the changes made by this sync.
|
||||
|
||||
That leaves only this ugly thing:
|
||||
|
||||
fatal: ambiguous argument 'refs/heads/master..refs/heads/synced/master': unknown revision or path not in the working tree.
|
||||
|
||||
Which comes from Git.Branch.changed, but I'm not clear how the fast forward
|
||||
configuration would prevent either of those refs from existing.
|
||||
"""]]
|
|
@ -0,0 +1,17 @@
|
|||
[[!comment format=mdwn
|
||||
username="dxld"
|
||||
avatar="http://cdn.libravatar.org/avatar/742547a848e15c9f7fb381191c239141"
|
||||
subject="comment 2"
|
||||
date="2020-01-21T19:28:29Z"
|
||||
content="""
|
||||
Honestly I feel like the (perceived) semantics of sync are broken by this behaviour. I would expect git-annex to do what it has to to make what I asked for happen.
|
||||
|
||||
I agree that in general it's a good thing not to needlessly override git settings but for the sync command I really don't see any way that not merging can be considered sensible behaviour. To me as a user it just feels like I changed a setting completely unrelated to git-annex-sync and suddenly sync broke.
|
||||
|
||||
Consider this: the git-annex-sync(1) man page never actually mentions that it will run git-merge. On the other hand git-pull(1) is very forthcoming with the fact that it's just a shorthand for `git fetch; git merge` so it's obvious to me that settings affecting merge will affect git-pull, not so for sync.
|
||||
|
||||
I've been unable to sync my git-annex repos for a couple of months now because of this issue so firmly believe this is a serious usabiliy issue.
|
||||
|
||||
At the very least we have a documentation issue here. Though I would still argue the behaviour is bonkers :)
|
||||
|
||||
"""]]
|
|
@ -0,0 +1,9 @@
|
|||
[[!comment format=mdwn
|
||||
username="t+gitannex@1d62779e8b54f30a854739f61542a6885167b01f"
|
||||
nickname="t+gitannex"
|
||||
avatar="http://cdn.libravatar.org/avatar/87c7f62c00e4a744aa500423e421120f"
|
||||
subject="comment 6"
|
||||
date="2020-02-06T11:07:34Z"
|
||||
content="""
|
||||
I'm able to reproduce this with git annex 7.20191230 and git 2.25.0 on Arch Linux, but I've had it on OSX in the past as well. The annex uses a v7 repository. I don't need to do anything besides unlocking some files and running git status. Unlocking 10 files, git status takes 3s and with 85 files it takes 20s, so it seems to scale linearly with the no of files. Happy to share more details about the repository if it's useful.
|
||||
"""]]
|
|
@ -1,3 +1,5 @@
|
|||
[[!meta title="http remotes that require authentication are not yet supported"]]
|
||||
|
||||
It is not a ground shaking issue, but probably would be best to handle it more gracefully.
|
||||
|
||||
Initially mentioned while doing install using datalad. Account/permission is required to access this particular repo, ask Canadians for access if you don't have it yet Joey. credentials I guess got asked for and cached by git upon initial invocation, so upon subsequent calls didn't ask for any:
|
||||
|
@ -143,4 +145,6 @@ git annex 7.20190819+git2-g908476a9b-1~ndall+1 and the same with bleeding edge 7
|
|||
[[!meta author=yoh]]
|
||||
[[!tag projects/dandi]]
|
||||
|
||||
|
||||
> [[done]]; the error message is improved and also git remotes that need
|
||||
> http basic auth to access will get password from `git credential`.
|
||||
> --[[Joey]]
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
[[!comment format=mdwn
|
||||
username="joey"
|
||||
subject="""comment 3"""
|
||||
date="2020-01-22T16:04:37Z"
|
||||
content="""
|
||||
git-annex could use `git credential` if the config download fails with
|
||||
401 unauthorized and then retry with the credentials. (The git-lfs special
|
||||
remote already does this.) And it would also need to do the same thing
|
||||
when getting a key from the remote.
|
||||
|
||||
But that would not help with the https://git.bic.mni.mcgill.ca example,
|
||||
apparently, because there's no 401, but a 302 redirect to a 200,
|
||||
that is indistingishable from a successful download.
|
||||
|
||||
Yeah, when git-annex expects a git config, if it doesn't parse as one,
|
||||
it could retry, asking for credentials.
|
||||
But that seems asking for trouble: what if it fails to parse for
|
||||
another reason, maybe the web server served up something other than the
|
||||
expected config, maybe a captive portal got in the way. There would be a
|
||||
username/password prompt that doesn't make sense to the user at all.
|
||||
|
||||
And if this happens in a key download, git-annex certianly has no way to
|
||||
tell that what it downloaded is not intended as the content of a key,
|
||||
short of verifying the content, and failure to verify certainly doesn't
|
||||
justify prompting for a username/password.
|
||||
|
||||
So, I am not comfortable with falling back to ask for credentials unless
|
||||
I've seen a http status code that indicates they are necessary.
|
||||
And IMHO gitlab's use of a 302 redirect to a login page is a bug in
|
||||
gitlab, and will need to be fixed there, or a better http server used.
|
||||
"""]]
|
|
@ -0,0 +1,10 @@
|
|||
[[!comment format=mdwn
|
||||
username="joey"
|
||||
subject="""re: related: shouldn't git annex try external remotes to download config?"""
|
||||
date="2020-01-22T16:31:16Z"
|
||||
content="""
|
||||
No, the external special remote protocol is not aimed at downloading git
|
||||
config files. Anyway, this code path is never involved with using
|
||||
special remotes; the uuid of a special remote is known and so there is no
|
||||
need to ever download a git config file to discover it.
|
||||
"""]]
|
|
@ -54,3 +54,7 @@ PS ignore "ignores --json-error-messages" part of the subject -- was detected in
|
|||
|
||||
[[!meta author=yoh]]
|
||||
[[!tag projects/datalad]]
|
||||
|
||||
> [[fixed|done]] what I consider to be the core issue in this bug report.
|
||||
> --[[Joey]]
|
||||
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
[[!comment format=mdwn
|
||||
username="joey"
|
||||
subject="""comment 1"""
|
||||
date="2020-01-22T15:11:05Z"
|
||||
content="""
|
||||
This error message is not specific to a particular file in the repository, so if
|
||||
git-annex get outputs it, it doesn't help for the error message to be
|
||||
wrapped up in json. The actual purpose of --json-error messages is being
|
||||
able to correlate a failure to eg, get a particular file with an error
|
||||
message related to that action. Not in avoiding all possible stderr.
|
||||
|
||||
The actual bug here is that it dumps git config to stderr at all.
|
||||
|
||||
----
|
||||
|
||||
The extra newlines are output to stdout, so not a problem WRT stderr.
|
||||
"""]]
|
|
@ -0,0 +1,7 @@
|
|||
[[!comment format=mdwn
|
||||
username="joey"
|
||||
subject="""comment 2"""
|
||||
date="2020-01-22T17:04:09Z"
|
||||
content="""
|
||||
Error message has been improved.
|
||||
"""]]
|
|
@ -48,3 +48,7 @@ as a less bad alternative. Still, I'd like to find a better one.
|
|||
--[[Joey]]
|
||||
|
||||
[[!tag confirmed]]
|
||||
|
||||
> [[done]], I think this was fixed long ago, git-annex no longer installs a
|
||||
> sigint handler and I interrupt it all the time and it behaves as I would
|
||||
> expect and not as shown here --[[Joey]]
|
||||
|
|
|
@ -44,3 +44,5 @@ $> git -C ~/proj/git-annex describe --contains 6.20180808-ga1327779a
|
|||
[[!meta author=yoh]]
|
||||
[[!tag projects/datalad]]
|
||||
|
||||
> I see no reason to have this open half a year and many many releases later, so
|
||||
> [[done]] --[[Joey]]
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
[[!comment format=mdwn
|
||||
username="joey"
|
||||
subject="""comment 1"""
|
||||
date="2020-01-23T18:59:53Z"
|
||||
content="""
|
||||
It kind of looks like this S3 remote is being used without login
|
||||
credentials. That's not clear, because you could have environment variables
|
||||
set or creds cached, or not.
|
||||
|
||||
Since it's "public: yes", it would fall back to the public url code path to
|
||||
get the file when there are no creds.
|
||||
|
||||
There are a lot of ways that could fail. Eg, perhaps no publicurl has been
|
||||
configured for the remote. But in that case (and many other cases),
|
||||
an exception should be thrown and displayed.
|
||||
|
||||
I think I need to know how to reproduce this to get any further.
|
||||
"""]]
|
59
doc/bugs/warning_about_ssh_caching_keeps_showing.mdwn
Normal file
59
doc/bugs/warning_about_ssh_caching_keeps_showing.mdwn
Normal file
|
@ -0,0 +1,59 @@
|
|||
### Please describe the problem.
|
||||
I keep getting the warning about ssh caching being disabled, even when I explicitly enable it.
|
||||
|
||||
### What steps will reproduce the problem?
|
||||
See log below
|
||||
|
||||
### What version of git-annex are you using? On what operating system?
|
||||
7.20200204 on Amazon Linux 2
|
||||
|
||||
### 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
|
||||
|
||||
(just-git-annex-env) 13:00 [viral-ngs-benchmarks] $ git annex sync -c annex.sshcaching=true
|
||||
On branch is-devel
|
||||
Your branch is up to date with 'origin/is-devel'.
|
||||
|
||||
|
||||
It took 8.50 seconds to enumerate untracked files. 'status -uno'
|
||||
may speed it up, but you have to be careful not to forget to add
|
||||
new files yourself (see 'git help status').
|
||||
nothing to commit, working tree clean
|
||||
commit ok
|
||||
pull origin
|
||||
You have enabled concurrency, but ssh connection caching is not enabled. This may result in multiple ssh processes prompting for pas\
|
||||
swords at the same time.
|
||||
ok
|
||||
|
||||
(just-git-annex-env) 13:00 [viral-ngs-benchmarks] $ uname -a
|
||||
Linux ip-172-31-86-201.ec2.internal 4.14.165-131.185.amzn2.x86_64 #1 SMP Wed Jan 15 14:19:56 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
|
||||
(just-git-annex-env) 13:02 [viral-ngs-benchmarks] $ git annex version
|
||||
git-annex version: 7.20200204-g4db801d
|
||||
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.6.5 http-client-0.5.14 persistent-sql\
|
||||
ite-2.9.3 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 BLAKE2BP512E BLAKE2BP512 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 git-lfs hook external
|
||||
operating system: linux x86_64
|
||||
supported repository versions: 7
|
||||
upgrade supported from repository versions: 0 1 2 3 4 5 6
|
||||
local repository version: 7
|
||||
|
||||
|
||||
|
||||
# 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)
|
||||
|
||||
I've been using git-annex for 1.5 years to manage bioinformatics analyses. It's a very versatile and well-designed tool. I've been able to adapt it to many use cases;
|
||||
the ability to easily write your own external backends has been especially helpful for that. The amount of work and thought that has gone into designing/building git-annex is
|
||||
enormous, and very much appreciated.
|
||||
|
||||
> [[done]]; see comment --[[Joey]]
|
|
@ -0,0 +1,25 @@
|
|||
[[!comment format=mdwn
|
||||
username="joey"
|
||||
subject="""comment 1"""
|
||||
date="2020-02-14T17:48:41Z"
|
||||
content="""
|
||||
It seems you must have annex.jobs set to something, since concurrency
|
||||
is enabled without any -J option, so the easy fix is just to unset that.
|
||||
|
||||
It kind of looks like your build of git-annex may have been made without
|
||||
ssh connection caching support, which would happen if its configure program
|
||||
detected at build time that ssh doesn't support it.
|
||||
|
||||
That would be unusual if so, all the builds of git-annex that I'm aware of
|
||||
are made with ssh that does support it.
|
||||
|
||||
There are a couple of even less likely scenarios, like
|
||||
`GIT_ANNEX_SSH_SOCKET_DIR` being set to a directory you can't write to.
|
||||
|
||||
I've changed the code to always say explicitly why ssh caching can't be
|
||||
enabled. I also let annex.sshcaching override the build-time detection.
|
||||
|
||||
I guess that's enough to close this, unless it turns out its
|
||||
reasons for not enabling it are not one of those I mentioned above, but
|
||||
something entirely bogus.
|
||||
"""]]
|
|
@ -0,0 +1,10 @@
|
|||
[[!comment format=mdwn
|
||||
username="Ilya_Shlyakhter"
|
||||
avatar="http://cdn.libravatar.org/avatar/1647044369aa7747829c38b9dcc84df0"
|
||||
subject="ssh caching"
|
||||
date="2020-02-14T20:53:27Z"
|
||||
content="""
|
||||
\"your build of git-annex may have been made without ssh connection caching support, which would happen if its configure program detected at build time that ssh doesn't support it\" -- yes, according to the [build log](https://dev.azure.com/conda-forge/84710dde-1620-425b-80d0-4cf5baca359d/_apis/build/builds/117561/logs/8). I can add an ssh dependency to the conda-forge git-annex recipe. It would be more flexible to not have that dependency and instead to have git-annex's behavior depend on the ssh available at runtime; but, I guess there's a reason it's a compile-time option?
|
||||
|
||||
Also, I don't have ssh prompting for passwords since I use ssh-agent, and having the warning shown every time is distracting. Maybe, a config option could be added to disable the warning?
|
||||
"""]]
|
|
@ -0,0 +1,8 @@
|
|||
[[!comment format=mdwn
|
||||
username="yarikoptic"
|
||||
avatar="http://cdn.libravatar.org/avatar/f11e9c84cb18d26a1748c33b48c924b4"
|
||||
subject="comment 3"
|
||||
date="2020-02-15T04:45:01Z"
|
||||
content="""
|
||||
Ilya, you wrote \"the ability to easily write your own external **backends** has been especially helpful\". Did you mean \"external **remotes**\"? since \"external backends\" are yet [TODO AFAIK](https://git-annex.branchable.com/todo/external_backends/)
|
||||
"""]]
|
|
@ -0,0 +1,8 @@
|
|||
[[!comment format=mdwn
|
||||
username="Ilya_Shlyakhter"
|
||||
avatar="http://cdn.libravatar.org/avatar/1647044369aa7747829c38b9dcc84df0"
|
||||
subject="comment 4"
|
||||
date="2020-02-16T04:05:11Z"
|
||||
content="""
|
||||
Yes, I meant external remotes.
|
||||
"""]]
|
|
@ -0,0 +1,21 @@
|
|||
[[!comment format=mdwn
|
||||
username="joey"
|
||||
subject="""comment 5"""
|
||||
date="2020-02-17T16:29:58Z"
|
||||
content="""
|
||||
I think the idea with detecting at build time is that if git-annex is being
|
||||
built on a platform where ssh doesn't support it, eg because it's not
|
||||
openssh but some other ssh implementation, it might as well compile out
|
||||
support rather than fail obscurely when it tries to use it. And it's
|
||||
uncommon for the systems where a program is built and used to have
|
||||
different ssh implementations, so runtime probing would only slow it
|
||||
down. (git-annex makes similar assumptions about eg, `cp --reflink` being
|
||||
supported or not, and I don't think it's very unusual to probe OS features
|
||||
at compile time.)
|
||||
|
||||
The warning seems useful, because here we've discovered that you have been
|
||||
building git-annex without support for ssh caching all along!
|
||||
|
||||
The way to disable the warning is to set annex.sshcaching=true
|
||||
(after [[!commit a4909470688287fc0009eaf82dab2e108bd214f1]]).
|
||||
"""]]
|
|
@ -0,0 +1,8 @@
|
|||
[[!comment format=mdwn
|
||||
username="Ilya_Shlyakhter"
|
||||
avatar="http://cdn.libravatar.org/avatar/1647044369aa7747829c38b9dcc84df0"
|
||||
subject="git-annex build-time dependencies"
|
||||
date="2020-02-18T19:33:32Z"
|
||||
content="""
|
||||
\"git-annex makes similar assumptions about eg, `cp --reflink` being supported or not, and I don't think it's very unusual to probe OS features at compile time\" -- this works well for package managers tied to specific distros. But consider something like [[install/conda]] that creates packages meant to be installed on a variety of systems. I can add a run-time dependency on `coreutils` to ensure that `cp --reflink` works, but I'm a bit wary about requiring git-annex users to replace all core utils with conda-forge ones. For one, these may be slower, being compiled for a generic architecture. For two, if they're not fully backwards-compatible, they make break some assumptions relied on by other parts of the distro.
|
||||
"""]]
|
4
doc/bugs/windows_autostart.mdwn
Normal file
4
doc/bugs/windows_autostart.mdwn
Normal file
|
@ -0,0 +1,4 @@
|
|||
I installed git-annex in windows using the file git-annex-installer.exe, and now each time I'm starting my computer I get a message telling me that "C:\Program Files\Git\cmd\git-annex-autostart.vbs" cannot be found.
|
||||
|
||||
This is very annoying and I don't need git-annex to be started at startup. I looked in msconfig.exe and I didn't find any entry for git-annex. Is there a way to disable this?
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
[[!comment format=mdwn
|
||||
username="jeanpmbox-456@7222359de8d1f37a7cf25a519e8faf90a9517b50"
|
||||
nickname="jeanpmbox-456"
|
||||
avatar="http://cdn.libravatar.org/avatar/164eb4254c5f83d95d3e0b810ff7aab9"
|
||||
subject="comment 1"
|
||||
date="2020-02-01T11:35:37Z"
|
||||
content="""
|
||||
I finally saw thanks to the file `Build/NullSoftInstaller.hs` and to NirSoft Program WhatInStartup that the startup script is located in `%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup`.
|
||||
|
||||
It would be nice to have an option to activate this or not in the installation.
|
||||
"""]]
|
Loading…
Add table
Add a link
Reference in a new issue