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

This commit is contained in:
Joey Hess 2014-03-26 16:54:32 -04:00
commit 372adab812
9 changed files with 190 additions and 0 deletions

View file

@ -0,0 +1,10 @@
[[!comment format=mdwn
username="http://joeyh.name/"
ip="209.250.56.41"
subject="comment 5"
date="2014-03-26T18:56:30Z"
content="""
@Matthias you need to install git-annex 4.20130709 or newer. Then `git-annex merge` will do what you want. As I said before.
As for committing the merge, you can always adjust the result after the fact and use `git commit --amend`.
"""]]

View file

@ -0,0 +1,10 @@
[[!comment format=mdwn
username="http://joeyh.name/"
ip="209.250.56.41"
subject="comment 1"
date="2014-03-26T20:50:55Z"
content="""
That's a fairly old version of git-annex, so you could try upgrading.
This might happen if your shell environment you're using to run git-annex does not have either USERPROFILE or HOME envorironment variable set, or does not have one of USERNAME, USER, and LOGNAME set.
"""]]

View file

@ -0,0 +1,88 @@
### Please describe the problem.
For an example I wanted to add different metadata to some test files,
but the outcome is that the last metadata gets applied to all three files. see transcript below.
### What steps will reproduce the problem?
1. Create a git annex repository
2. add a few files
3. add some metadata to the files, same keys, differnt values
4. watch the metadata, only the last added one is shown for all files
### What version of git-annex are you using? On what operating system?
$cat /etc/debian_version; uname -a; git annex version
7.4
Linux jupiter 3.13.0ct #33 SMP PREEMPT Tue Jan 21 05:04:01 CET 2014 x86_64 GNU/Linux
git-annex version: 5.20140306~bpo70+1
build flags: Assistant Webapp Pairing S3 Inotify DBus XMPP Feeds Quvi TDFA
key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SHA256 SHA1 SHA512 SHA224 SHA384 WORM URL
remote types: git gcrypt S3 bup directory rsync web tahoe glacier hook external
local repository version: 5
supported repository version: 5
upgrade supported from repository versions: 0 1 2 4
### Please provide any additional information below.
Debian/Wheezy with git annex from backports. The test was done in /tmp which is a tmpfs.
[[!format sh """
$export LC_ALL=C
$mkdir /tmp/annextest
$cd /tmp/annextest
$git init
Initialized empty Git repository in /tmp/annextest/.git/
$git annex init
init ok
(Recording state in git...)
$touch a.txt b.txt c.txt
$git annex add a.txt b.txt c.txt
add a.txt ok
add b.txt ok
add c.txt ok
(Recording state in git...)
$git commit -m init
[master (root-commit) 5470bdb] init
3 files changed, 3 insertions(+)
create mode 120000 a.txt
create mode 120000 b.txt
create mode 120000 c.txt
$git annex metadata a.txt -s foo=bar -s num=1
metadata a.txt
foo=bar
num=1
ok
(Recording state in git...)
$git annex metadata b.txt -s foo=baz -s num=2
metadata b.txt
foo=baz
num=2
ok
(Recording state in git...)
$git annex metadata c.txt -s foo=barf -s num=3
metadata c.txt
foo=barf
num=3
ok
(Recording state in git...)
$git annex metadata
metadata a.txt
foo=barf
num=3
ok
metadata b.txt
foo=barf
num=3
ok
metadata c.txt
foo=barf
num=3
ok
"""]]

View file

@ -0,0 +1,8 @@
[[!comment format=mdwn
username="https://www.google.com/accounts/o8/id?id=AItOawkvN0eFnwvgw2JyTSSHw0QouytcxtPLln8"
nickname="Stein Roald"
subject="No success"
date="2014-03-26T19:43:24Z"
content="""
Thank you, Charl, for your suggestion. I've tried it, without success. (It doesn't seem like that change changed anything on the encrypted ssh-server.)
"""]]

View file

@ -0,0 +1,8 @@
[[!comment format=mdwn
username="http://joeyh.name/"
ip="209.250.56.41"
subject="comment 4"
date="2014-03-26T18:31:30Z"
content="""
I didn't. I removed the --json options from commands that didn't necessarily output valid json when used with it. There are numerous commands that support --json (find, whereis, info, status, metadata, examinekey), and I'm open to adding it to other commands -- but it's probably not feasible to make commands like `get` output json, since their output includes progress info printed by rsync etc.
"""]]

View file

@ -0,0 +1,12 @@
[[!comment format=mdwn
username="http://joeyh.name/"
ip="209.250.56.41"
subject="comment 3"
date="2014-03-26T19:09:07Z"
content="""
1. This followup question seems to have nothing to do with the original question. (The aswer to the original question was `git annex fsck --fast`.)
2. I find it hard to believe that a crashing terminal emulator will create a lot of folders.
3. You show 36k subdirectories in .git/annex/objects. If I make a *tiny* 100 mb ext2 filesystem, it has 26k inodes. A 200 mb filesystem has 50k. So we're talking about a number of directories that is only large when using hardware from 1996.
I'm not convinced yet that anything is wrong, or that there's anything you can do to improve matters. In any case, see [[todo/wishlist:_pack_metadata_in_direct_mode]].
"""]]

View file

@ -0,0 +1,13 @@
[[!comment format=mdwn
username="cehteh"
ip="217.8.62.137"
subject="comment 3"
date="2014-03-26T18:55:41Z"
content="""
I'm a little bit worried about the potential to reinvent SQL, badly. ;)
As shown in your example, once you have ranges, it's natural to also want disjunctions, and then probably parenthesized expressions, and suddenly things are very complicated.
Also, it's important that views remain reversable, so that committing a moved file in a view can unambiguously calculate the new metadata for it. I think that quickly becomes hard when adding these complications.
"""]]

View file

@ -0,0 +1,28 @@
[[!comment format=mdwn
username="cehteh"
ip="217.8.62.137"
subject="comment 4"
date="2014-03-26T20:03:51Z"
content="""
I agree with you that things must stay simple. All what should be done is having the same effects like normal globs but adding arithmetic comparisons to it (could you think about a globbing extension over numeric values?). Then the generated views will have the same properties/semnatic as the normal glob'ed views without other side effects (if you want to go that far, this would even hold true for disjunct, parenthesized and otherwise complex expression).
Example (how it should work, except my bug report 'set metadata on wrong files')
git annex metadata a.txt -s foo=bar -s num=1
git annex metadata b.txt -s foo=baz -s num=2
git annex metadata c.txt -s foo=barf -s num=3
git annex view foo=bar* num=* -ne 2
should give
./bar/1/a.txt ./barf/3/c.txt
am I right now than one could
mkdir -p ./baz/2
mv /bar/1/a.txt ./baz/2
to change the metadata of a.txt, despite the foo=baz and num=2 fields where initially filtered out when creating the view?
If this assumption is true then having arithmetic filters, no matter how complex they are won't change the existing semantics over what globs do.
"""]]

View file

@ -0,0 +1,13 @@
[[!comment format=mdwn
username="http://joeyh.name/"
ip="209.250.56.41"
subject="comment 20"
date="2014-03-26T18:24:30Z"
content="""
@Adrian, that's good news. It would be helpful if someone could update the top of this page to document how to use git-annex with the new version of gitolite.
This is a wiki..
You're not supposed to need to use initremote when dealing with normal git remotes. It seems that something got lost that automatically initialize the remote repository in this situation. I've fixed it so that it will be set up when `git-annex-shell configlist` is run.
(@wayne, this fixes the problem you reported too..)
"""]]