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

This commit is contained in:
Joey Hess 2016-11-14 16:50:14 -04:00
commit b9a68957cc
No known key found for this signature in database
GPG key ID: C910D9222512E3C7
6 changed files with 195 additions and 0 deletions

View file

@ -0,0 +1,53 @@
### Please describe the problem.
If a filename has a single space (and only one space), `git annex add` will fail out with the following message:
add one two git-annex: unknown response from git cat-file ("HEAD:./one two missing",Ref "HEAD:./one two")
CallStack (from HasCallStack):
error, called at ./Git/CatFile.hs:102:28 in main:Git.CatFile
### What steps will reproduce the problem?
Run the following:
git init .
git annex init
touch "one two"
# this will cause error
git annex add "one two"
touch "one two three"
# this is fine
git annex add "one two three"
### What version of git-annex are you using? On what operating system?
Output of `git annex version`
git-annex version: 6.20161027
build flags: Assistant Webapp Pairing Testsuite S3(multipartupload)(storageclasses) WebDAV Inotify DBus DesktopNotify XMPP ConcurrentOutput TorrentParser MagicMime Feeds Quvi
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 SHA1E SHA1 MD5E MD5 WORM URL
remote types: git gcrypt S3 bup directory rsync web bittorrent webdav tahoe glacier ddar hook external
local repository version: 5
supported repository versions: 3 5 6
upgrade supported from repository versions: 0 1 2 3 4 5
operating system: linux x86_64
Operating System: Linux (NixOS 16.09.909.238c7e0 (Flounder))
### Please provide any additional information below.
Maybe related to [https://git-annex.branchable.com/forum/unknown_response_from_git_cat-file/](https://git-annex.branchable.com/forum/unknown_response_from_git_cat-file/) or [https://git-annex.branchable.com/bugs/git_annex_import_fails_on_filenames_with_newlines_in_them/](https://git-annex.branchable.com/bugs/git_annex_import_fails_on_filenames_with_newlines_in_them/)?
EDIT: Somewhat surprisingly, if I build from source using `cabal`, everything works fine.
.cabal-sandbox/bin/git-annex version
git-annex version: 6.20161113-g1e88c12
build flags: Assistant Webapp Pairing Testsuite WebDAV Inotify ConcurrentOutput TorrentParser MagicMime Feeds Quvi
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 SHA1E SHA1 MD5E MD5 WORM URL
remote types: git gcrypt bup directory rsync web bittorrent webdav tahoe glacier ddar hook external
Not sure whether this means that this bug is actually fixed or whether it's an artifact of how things are built in Nix.
### 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)
Just starting out with it as a way of archiving some of my media seems to work great apart from this. Thanks a bunch!

View file

@ -0,0 +1,12 @@
[[!comment format=mdwn
username="gfa@1e86118cd41fbfea50004af221471ad97b55af18"
nickname="gfa"
avatar="http://cdn.libravatar.org/avatar/4678da4da55c67fa668e31ea0a76b201"
subject="same on Debian"
date="2016-11-14T09:13:19Z"
content="""
I face the same issue on Debian testing
git-annex 6.20161012-1
git 1:2.10.2-1
"""]]

View file

@ -0,0 +1,40 @@
### Please describe the problem.
```
> git annex get Narnia/
get Narnia/Course of a Generation/01 Sail Around the World.mp3 (from Seagate...)
SHA256E-s8395599--2fea961006a279f0765c45755b35a06f0a4fc6bfbab6118182ebc693d7b47a91.mp3
8,395,599 100% 29.65MB/s 0:00:00 (xfr#1, to-chk=0/1)
(checksum...) ^C⏎
```
```
> mpv ~/Music/sorted/Narnia/Course\ of\ a\ Generation/
Playing: /home/philip/Music/sorted/Narnia/Course of a Generation/
[file] This is a directory - adding to playlist.
Playing: /home/philip/Music/sorted/Narnia/Course of a Generation/01 Sail Around the World.mp3
Failed to recognize file format.
Playing: /home/philip/Music/sorted/Narnia/Course of a Generation/02 When the Stars Are Falling.mp3
```
```
> git annex version
git-annex version: 6.20161012
build flags: Assistant Webapp Pairing Testsuite S3(multipartupload)(storageclasses) WebDAV Inotify DBus DesktopNotify XMPP ConcurrentOutput TorrentParser MagicMime Feeds Quvi
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 SHA1E SHA1 MD5E MD5 WORM URL
remote types: git gcrypt S3 bup directory rsync web bittorrent webdav tahoe glacier ddar hook external
local repository version: 6
supported repository versions: 3 5 6
upgrade supported from repository versions: 0 1 2 3 4 5
operating system: linux x86_64
```
Any consecutive `git annex get` commands dont notice that the file is not completely transferred and leave it in a broken state.
`git annex get --failed` does not correct the problem.
### 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, it (kind of) works for keeping my music library in sync.

View file

@ -0,0 +1,52 @@
### Please describe the problem.
In my unlocked adjusted branch, I get a lot of errors during "git annex sync". It appears to work fine otherwise (the files actually get synced). Below is what I see on the terminal. The repository is otherwise clean (no local or remote changes).
This has started to happen around a month ago, though I cannot pinpoint the exact version. This is in the same repo you used to debug the disappearing files in direct mode recently (thanks a lot btw!).
### What version of git-annex are you using? On what operating system?
[[!format sh """
$ git annex version
git-annex version: 6.20161110-gd48f4ca
build flags: Assistant Webapp Pairing Testsuite S3(multipartupload)(storageclasses) WebDAV Inotify DBus DesktopNotify XMPP ConcurrentOutput TorrentParser MagicMime Feeds Quvi
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 SHA1E SHA1 MD5E MD5 WORM URL
remote types: git gcrypt S3 bup directory rsync web bittorrent webdav tahoe glacier ddar hook external
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 8.6 (jessie)
Release: 8.6
Codename: jessie
"""]]
### Please provide any additional information below.
[[!format sh """
$ git annex sync --content
commit
On branch adjusted/master(unlocked)
nothing to commit, working tree clean
ok
pull origin
remote: Counting objects: 113, done.
remote: Compressing objects: 100% (113/113), done.
remote: Total 113 (delta 112), reused 0 (delta 0)
Receiving objects: 100% (113/113), 7.16 KiB | 0 bytes/s, done.
Resolving deltas: 100% (112/112), completed with 112 local objects.
From /srv/annex/bilder
97a4806..78cb4ef git-annex -> origin/git-annex
ok
(merging origin/git-annex into git-annex...)
git-annex: fd:25: commitBuffer: invalid argument (invalid character)
failed
git-annex: fd:25: commitBuffer: invalid argument (invalid character)
failed
[...]
git-annex: fd:25: commitBuffer: invalid argument (invalid character)
failed
git-annex: sync: 2653 failed
"""]]

View file

@ -0,0 +1,11 @@
[[!comment format=mdwn
username="neocryptek@659edac901ffbc8e541a974f8f18987eeafc63bd"
nickname="neocryptek"
avatar="http://cdn.libravatar.org/avatar/d9bfdefa9b503f1ac4844a686618374e"
subject="comment 3"
date="2016-11-13T22:39:44Z"
content="""
Thanks, that makes sense.
All git annex repositories using the same branch will have the same (symlink) working directory right (assuming entire network has been synced eventually)?
"""]]

View file

@ -0,0 +1,27 @@
Right now I have separate "normal" Git repositories and separate Git annex repositories and I would love to have Git annex track and sync everything for me. The problem I have is I'd like to use "real" Git content tracking for some data (ex: text files) where I'd like to get normal Git features with (ex: diff). I'd like to combine normal Git content tracking with Git annex location tracking and syncing if possible. Ideally the cost (ex: increased git repo size and git slowdown) of content tracking would not need to be propagated across the entire git annex network, just on repos that want it (just like git annex only copies content to clients who want it and symlink the rest).
The largefiles config provides a mechanism to add content to git directly in git annex, but that cost would be applied across the entire network, not opt-in per client.
Ideally I'd like this situation:
1. Git annex tracking everything as symlinks. No content is checked into these git repos.
2. A subset of git annex content (ex: subfolder) synced to a normal remote non-annex git repository (ex: GitHub). This Git repo has content tracked in git itself.
And I could use the git annex repos to sync everything. Somehow the git annex repo would know that the #2 remote was a "special content git remote" and push any content updates as normal git content commits.
Or an adjusted branch that had the content tracked and I could sync that content branch around to only the remotes where I wanted the content history stored in git (since adjusted branches don't seem to annex sync by default). But master would just track the symlinks of those files and be synced around to all annexes.
Can adjusted branches do this somehow?
Some references:
* [[special_remotes/external]]
* [[design/adjusted_branches]]
* [[todo/hide_missing_files]]
* [[tips/largefiles]]
* [[submodules]]
* [[forum/git-subtree_support__63__]]
Thanks!
-neocryptek