Merge branch 'master' of ssh://git-annex.branchable.com
This commit is contained in:
commit
416d7a4707
8 changed files with 162 additions and 1 deletions
|
@ -42,4 +42,4 @@ Debian sid 5.20150812-2
|
||||||
# End of transcript or log.
|
# End of transcript or log.
|
||||||
"""]]
|
"""]]
|
||||||
|
|
||||||
> [[fixed|done]] --[[Joey]]
|
|
||||||
|
|
|
@ -0,0 +1,54 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="https://me.yahoo.com/a/EbvxpTI_xP9Aod7Mg4cwGhgjrCrdM5s-#7c0f4"
|
||||||
|
subject="I don't think it is fixed -- doesn't detect as crippled when ran as root (under sudo or su) with 5.20150826+gitg87972f5-1~ndall+1"
|
||||||
|
date="2015-09-02T17:12:48Z"
|
||||||
|
content="""
|
||||||
|
[[!format bash \"\"\"
|
||||||
|
$> git annex version
|
||||||
|
git-annex version: 5.20150826+gitg87972f5-1~ndall+1
|
||||||
|
build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA Database
|
||||||
|
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 version: 5
|
||||||
|
upgrade supported from repository versions: 0 1 2 4
|
||||||
|
\"\"\"]]
|
||||||
|
|
||||||
|
so if running as non-root, I can't indeed remove the file and annex doesn't detect it as crippled:
|
||||||
|
|
||||||
|
[[!format bash \"\"\"
|
||||||
|
$> bash -c \"rm -rf /tmp/123; mkdir /tmp/123; cd /tmp/123; git init; git annex init; echo 123 > 1.dat; git annex add 1.dat; git commit -m 'initial'; ls -l /tmp/123 ;readlink -f /tmp/123/1.dat | xargs rm; rm -rf /tmp/123; ls -l /tmp/123\"
|
||||||
|
rm: cannot remove ‘/tmp/123/.git/annex/objects/zk/71/SHA256E-s4--181210f8f9c779c26da1d9b2075bde0127302ee0e3fca38c9a83f5b1dd8e5d3b.dat/SHA256E-s4--181210f8f9c779c26da1d9b2075bde0127302ee0e3fca38c9a83f5b1dd8e5d3b.dat’: Permission denied
|
||||||
|
mkdir: cannot create directory ‘/tmp/123’: File exists
|
||||||
|
Initialized empty Git repository in /tmp/123/.git/
|
||||||
|
init ok
|
||||||
|
(recording state in git...)
|
||||||
|
add 1.dat ok
|
||||||
|
(recording state in git...)
|
||||||
|
[master (root-commit) b94089e] initial
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
create mode 120000 1.dat
|
||||||
|
total 4
|
||||||
|
lrwxrwxrwx 1 yoh yoh 186 Sep 2 13:06 1.dat -> .git/annex/objects/zk/71/SHA256E-s4--181210f8f9c779c26da1d9b2075bde0127302ee0e3fca38c9a83f5b1dd8e5d3b.dat/SHA256E-s4--181210f8f9c779c26da1d9b2075bde0127302ee0e3fca38c9a83f5b1dd8e5d3b.dat
|
||||||
|
rm: cannot remove ‘/tmp/123/.git/annex/objects/zk/71/SHA256E-s4--181210f8f9c779c26da1d9b2075bde0127302ee0e3fca38c9a83f5b1dd8e5d3b.dat/SHA256E-s4--181210f8f9c779c26da1d9b2075bde0127302ee0e3fca38c9a83f5b1dd8e5d3b.dat’: Permission denied
|
||||||
|
rm: cannot remove ‘/tmp/123/.git/annex/objects/zk/71/SHA256E-s4--181210f8f9c779c26da1d9b2075bde0127302ee0e3fca38c9a83f5b1dd8e5d3b.dat/SHA256E-s4--181210f8f9c779c26da1d9b2075bde0127302ee0e3fca38c9a83f5b1dd8e5d3b.dat’: Permission denied
|
||||||
|
total 0
|
||||||
|
\"\"\"]]
|
||||||
|
|
||||||
|
if ran under sudo or even straight root (via su) I can remove the file, and entire directory, and annex didn't detect it as crippled
|
||||||
|
|
||||||
|
[[!format bash \"\"\"
|
||||||
|
$> sudo -E bash -c \"rm -rf /tmp/123; mkdir /tmp/123; cd /tmp/123; git init; git annex init; echo 123 > 1.dat; git annex add 1.dat; git commit -m 'initial'; ls -l /tmp/123 ;readlink -f /tmp/123/1.dat | xargs rm; rm -rf /tmp/123; ls -l /tmp/123\"
|
||||||
|
Initialized empty Git repository in /tmp/123/.git/
|
||||||
|
init ok
|
||||||
|
(recording state in git...)
|
||||||
|
add 1.dat ok
|
||||||
|
(recording state in git...)
|
||||||
|
[master (root-commit) 44f142c] initial
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
create mode 120000 1.dat
|
||||||
|
total 4
|
||||||
|
lrwxrwxrwx 1 root root 186 Sep 2 13:06 1.dat -> .git/annex/objects/zk/71/SHA256E-s4--181210f8f9c779c26da1d9b2075bde0127302ee0e3fca38c9a83f5b1dd8e5d3b.dat/SHA256E-s4--181210f8f9c779c26da1d9b2075bde0127302ee0e3fca38c9a83f5b1dd8e5d3b.dat
|
||||||
|
ls: cannot access /tmp/123: No such file or directory
|
||||||
|
\"\"\"]]
|
||||||
|
"""]]
|
|
@ -0,0 +1,7 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="http://joeyh.name/"
|
||||||
|
subject="comment 3"
|
||||||
|
date="2015-09-02T18:54:23Z"
|
||||||
|
content="""
|
||||||
|
Of course root can delete anything no matter what git-annex does with directory permissions. This does not mean the FS is crippled; it's just an ability of the root user. I don't see any problem with the examples given above.
|
||||||
|
"""]]
|
|
@ -0,0 +1,72 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="https://me.yahoo.com/a/EbvxpTI_xP9Aod7Mg4cwGhgjrCrdM5s-#7c0f4"
|
||||||
|
subject="comment 4"
|
||||||
|
date="2015-09-02T19:14:18Z"
|
||||||
|
content="""
|
||||||
|
I am confused then. You said
|
||||||
|
|
||||||
|
> it does detect a crippled FS when run as root here.
|
||||||
|
|
||||||
|
which I took as the indication that on any FS if ran as root annex would detect it as \"crippled\" since then user (root) has ability to change even read only files/directories (thus removal was to demonstrate ability to overcome permissions protection). Was I wrong?
|
||||||
|
|
||||||
|
Here is redone script which instead of removing augments the file... and again annex doesn't consider file system crippled while I can augment file inplace
|
||||||
|
|
||||||
|
[[!format bash \"\"\"
|
||||||
|
$> cat /tmp/test-crippled.sh
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
rm -rf /tmp/123;
|
||||||
|
mkdir /tmp/123;
|
||||||
|
cd /tmp/123;
|
||||||
|
git init; git annex init;
|
||||||
|
echo 123 > 1.dat;
|
||||||
|
git annex add 1.dat;
|
||||||
|
git commit -m 'initial';
|
||||||
|
ls -l /tmp/123 ;
|
||||||
|
|
||||||
|
ff=$(readlink /tmp/123/1.dat)
|
||||||
|
echo cripple >> /tmp/123/1.dat && echo CRIPPLED
|
||||||
|
|
||||||
|
echo \"new content: \"
|
||||||
|
cat /tmp/123/1.dat
|
||||||
|
ls -l /tmp/123/1.dat
|
||||||
|
rm -rf /tmp/123
|
||||||
|
|
||||||
|
|
||||||
|
# sudo run
|
||||||
|
$> sudo /tmp/test-crippled.sh
|
||||||
|
Initialized empty Git repository in /tmp/123/.git/
|
||||||
|
init ok
|
||||||
|
(recording state in git...)
|
||||||
|
add 1.dat ok
|
||||||
|
(recording state in git...)
|
||||||
|
[master (root-commit) 01ffc3b] initial
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
create mode 120000 1.dat
|
||||||
|
total 4
|
||||||
|
lrwxrwxrwx 1 root root 186 Sep 2 15:10 1.dat -> .git/annex/objects/zk/71/SHA256E-s4--181210f8f9c779c26da1d9b2075bde0127302ee0e3fca38c9a83f5b1dd8e5d3b.dat/SHA256E-s4--181210f8f9c779c26da1d9b2075bde0127302ee0e3fca38c9a83f5b1dd8e5d3b.dat
|
||||||
|
CRIPPLED
|
||||||
|
new content:
|
||||||
|
123
|
||||||
|
cripple
|
||||||
|
lrwxrwxrwx 1 root root 186 Sep 2 15:10 /tmp/123/1.dat -> .git/annex/objects/zk/71/SHA256E-s4--181210f8f9c779c26da1d9b2075bde0127302ee0e3fca38c9a83f5b1dd8e5d3b.dat/SHA256E-s4--181210f8f9c779c26da1d9b2075bde0127302ee0e3fca38c9a83f5b1dd8e5d3b.dat
|
||||||
|
|
||||||
|
# normal run
|
||||||
|
$> /tmp/test-crippled.sh
|
||||||
|
Initialized empty Git repository in /tmp/123/.git/
|
||||||
|
init ok
|
||||||
|
(recording state in git...)
|
||||||
|
add 1.dat ok
|
||||||
|
(recording state in git...)
|
||||||
|
[master (root-commit) 74a1759] initial
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
create mode 120000 1.dat
|
||||||
|
total 4
|
||||||
|
lrwxrwxrwx 1 yoh yoh 186 Sep 2 15:10 1.dat -> .git/annex/objects/zk/71/SHA256E-s4--181210f8f9c779c26da1d9b2075bde0127302ee0e3fca38c9a83f5b1dd8e5d3b.dat/SHA256E-s4--181210f8f9c779c26da1d9b2075bde0127302ee0e3fca38c9a83f5b1dd8e5d3b.dat
|
||||||
|
/tmp/test-crippled.sh: line 13: /tmp/123/1.dat: Permission denied
|
||||||
|
new content:
|
||||||
|
123
|
||||||
|
lrwxrwxrwx 1 yoh yoh 186 Sep 2 15:10 /tmp/123/1.dat -> .git/annex/objects/zk/71/SHA256E-s4--181210f8f9c779c26da1d9b2075bde0127302ee0e3fca38c9a83f5b1dd8e5d3b.dat/SHA256E-s4--181210f8f9c779c26da1d9b2075bde0127302ee0e3fca38c9a83f5b1dd8e5d3b.dat
|
||||||
|
rm: cannot remove ‘/tmp/123/.git/annex/objects/zk/71/SHA256E-s4--181210f8f9c779c26da1d9b2075bde0127302ee0e3fca38c9a83f5b1dd8e5d3b.dat/SHA256E-s4--181210f8f9c779c26da1d9b2075bde0127302ee0e3fca38c9a83f5b1dd8e5d3b.dat’: Permission denied
|
||||||
|
\"\"\"]]
|
||||||
|
"""]]
|
|
@ -0,0 +1,7 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="http://joeyh.name/"
|
||||||
|
subject="comment 5"
|
||||||
|
date="2015-09-02T21:05:09Z"
|
||||||
|
content="""
|
||||||
|
Accidentially detecting a cripped FS when ran as root was a bug, which is why this bug report was filed. After reproducing it, I fixed it, in [[!commit c242e248e8ef350f7ab2474583b3f3d197c4ce4d]]
|
||||||
|
"""]]
|
|
@ -0,0 +1,12 @@
|
||||||
|
Total newbie here, so I apologize in advice for asking dumb questions. I did my best to look through the branchable docs, Google, etc to no avail.
|
||||||
|
I'm trying to use git-annex to manage my music collection (on Windows). I added and pushed 669 songs to GitLab from my desktop.
|
||||||
|
At this point, my music is on both the first folder and GitLab (worth noting that I still don't know where to find the binaries on GitLab...).
|
||||||
|
|
||||||
|
Then just as a test, tried to clone the repo and run `git annex sync --content`.
|
||||||
|
|
||||||
|
I get the following error:
|
||||||
|
`error: dst ref refs/heads/synced/git-annex receives from more than one src.`
|
||||||
|
`error: failed to push some refs to 'git@gitlab.com:repolocation/Songs.git'`
|
||||||
|
|
||||||
|
I figure it's because the files are both on GitLab and the other folder, but I'm not sure how to proceed.
|
||||||
|
Would appreciate any help, thanks!
|
1
doc/forum/test_whether_a_file_is_already_annexed.mdwn
Normal file
1
doc/forum/test_whether_a_file_is_already_annexed.mdwn
Normal file
|
@ -0,0 +1 @@
|
||||||
|
I am storing the pictures I took over the years with git-annex. Frequently I come across messy old directories with lots of pictures inside and I want to know which ones were already annexed - or which ones were not. Is there a quick way to test whether the content of a given file is already annexed? I mean computing the key (hash) of the given file and testing whether it is already present among the annex objects.
|
|
@ -0,0 +1,8 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="jpfeifer@4c6cf56b857caa324cbbc9f133705fb2fb3f9bef"
|
||||||
|
nickname="jpfeifer"
|
||||||
|
subject="Compatibility with recent version of Git for Windows"
|
||||||
|
date="2015-09-02T17:58:41Z"
|
||||||
|
content="""
|
||||||
|
Git for Windows now has a 64 bit version. Thus, the installation path must be adjusted accordingly. This page should note that git annex must be installed in the same folder as git itself.
|
||||||
|
"""]]
|
Loading…
Add table
Add a link
Reference in a new issue