Merge branch 'master' of ssh://git-annex.branchable.com
This commit is contained in:
commit
2a82567b6e
11 changed files with 277 additions and 1 deletions
|
@ -0,0 +1,8 @@
|
|||
[[!comment format=mdwn
|
||||
username="https://www.google.com/accounts/o8/id?id=AItOawkdiXn5s1wX2Zncy1S7_h-yPTv2gt0bmmY"
|
||||
nickname="Jacob"
|
||||
subject="Same problem on ubuntu"
|
||||
date="2013-12-15T14:22:55Z"
|
||||
content="""
|
||||
Same problem, I even manually setup ssh keys between the two servers but it just loops and keeps asking for a password every sync.
|
||||
"""]]
|
11
doc/bugs/OSX_build_broken.mdwn
Normal file
11
doc/bugs/OSX_build_broken.mdwn
Normal file
|
@ -0,0 +1,11 @@
|
|||
### Please describe the problem.
|
||||
|
||||
The OSX webapp doesn't start on the current OSX 10.7.5 builds.
|
||||
|
||||
### What steps will reproduce the problem?
|
||||
|
||||
Download git-annex from http://downloads.kitenet.net/git-annex/OSX/current/10.7.5_Lion/git-annex.dmg and install it by copying it to Application. Try to launch it then. The result is a message in the system log saying "git-annex unknown command webapp" and then the usage information.
|
||||
|
||||
### What version of git-annex are you using? On what operating system?
|
||||
|
||||
The current version as downloaded from http://downloads.kitenet.net/git-annex/OSX/current/10.7.5_Lion/git-annex.dmg on OSX 10.7.5
|
|
@ -0,0 +1,132 @@
|
|||
### Please describe the problem.
|
||||
|
||||
Since I last tested git-annex (version 4.20130516.1) my setup seems to no longer work in current versions (5.20131130)
|
||||
|
||||
### What steps will reproduce the problem?
|
||||
|
||||
[[!format sh """
|
||||
$ mkdir 1 2
|
||||
$ cd 1; git init; git-annex init; git annex direct; echo "file added to 1" > file_from_1; cd ..
|
||||
Initialized empty Git repository in /home/pedrocr/testannexbug/1/.git/
|
||||
init ok
|
||||
(Recording state in git...)
|
||||
commit
|
||||
# On branch master
|
||||
#
|
||||
# Initial commit
|
||||
#
|
||||
nothing to commit (create/copy files and use "git add" to track)
|
||||
ok
|
||||
direct ok
|
||||
$ cd 2; git init; git-annex init; git annex direct; echo "file added to 2" > file_from_2; cd ..
|
||||
Initialized empty Git repository in /home/pedrocr/testannexbug/2/.git/
|
||||
init ok
|
||||
(Recording state in git...)
|
||||
commit
|
||||
# On branch master
|
||||
#
|
||||
# Initial commit
|
||||
#
|
||||
nothing to commit (create/copy files and use "git add" to track)
|
||||
ok
|
||||
direct ok
|
||||
$ cd 1; git remote add 2 ssh://localhost/~pedrocr/Hacks/test-git-annex/2; git annex assistant; cd ..
|
||||
$ cd 2; git remote add 1 ssh://localhost/~pedrocr/Hacks/test-git-annex/1; git annex assistant; cd ..
|
||||
$ ls -la 1
|
||||
total 20
|
||||
drwxrwxr-x 3 pedrocr pedrocr 4096 Dec 15 11:33 .
|
||||
drwxrwxr-x 4 pedrocr pedrocr 4096 Dec 15 11:33 ..
|
||||
-rw-rw-r-- 1 pedrocr pedrocr 16 Dec 15 11:33 file_from_1
|
||||
-rw-r--r-- 1 pedrocr pedrocr 16 Dec 15 11:33 file_from_2
|
||||
drwxrwxr-x 9 pedrocr pedrocr 4096 Dec 15 11:33 .git
|
||||
$ ls -la 2
|
||||
total 20
|
||||
drwxrwxr-x 3 pedrocr pedrocr 4096 Dec 15 11:33 .
|
||||
drwxrwxr-x 4 pedrocr pedrocr 4096 Dec 15 11:33 ..
|
||||
-rw-r--r-- 1 pedrocr pedrocr 16 Dec 15 11:33 file_from_1
|
||||
-rw-rw-r-- 1 pedrocr pedrocr 16 Dec 15 11:33 file_from_2
|
||||
drwxrwxr-x 9 pedrocr pedrocr 4096 Dec 15 11:33 .git
|
||||
"""]]
|
||||
|
||||
so far so good
|
||||
|
||||
[[!format sh """
|
||||
$ date | tee 1/file_from_1
|
||||
Sun Dec 15 11:53:18 WET 2013
|
||||
$ date | tee 2/file_from_2
|
||||
Sun Dec 15 11:53:22 WET 2013
|
||||
$ cat 1/*
|
||||
Sun Dec 15 11:53:18 WET 2013
|
||||
file added to 2
|
||||
$ cat 2/*
|
||||
file added to 1
|
||||
Sun Dec 15 11:53:22 WET 2013
|
||||
$
|
||||
"""]]
|
||||
|
||||
But then syncing doesn't work. There doesn't seem to be anything special in the logs
|
||||
|
||||
[[!format sh """
|
||||
$ tail -n 20 1/.git/annex/daemon.log
|
||||
(Recording state in git...)
|
||||
add file_from_1 (checksum...) [2013-12-15 11:53:18 WET] Committer: Committing changes to git
|
||||
[2013-12-15 11:53:18 WET] Pusher: Syncing with 2
|
||||
|
||||
file_from_1
|
||||
29 100% 0.00kB/s 0:00:00 (xfer#1, to-check=0/1)
|
||||
|
||||
sent 104 bytes received 31 bytes 270.00 bytes/sec
|
||||
total size is 29 speedup is 0.21
|
||||
[2013-12-15 11:53:18 WET] Transferrer: Uploaded file_from_1
|
||||
Already up-to-date.
|
||||
To ssh://localhost/~pedrocr/Hacks/test-git-annex/2
|
||||
f025062..431ac37 git-annex -> synced/git-annex
|
||||
d393bb3..fef60ca annex/direct/master -> synced/master
|
||||
Already up-to-date.
|
||||
[2013-12-15 11:53:21 WET] Pusher: Syncing with 2
|
||||
To ssh://localhost/~pedrocr/Hacks/test-git-annex/2
|
||||
431ac37..3cc7045 git-annex -> synced/git-annex
|
||||
|
||||
|
||||
$ tail -n 20 2/.git/annex/daemon.log
|
||||
(Recording state in git...)
|
||||
add file_from_2 (checksum...) [2013-12-15 11:53:22 WET] Committer: Committing changes to git
|
||||
[2013-12-15 11:53:22 WET] Pusher: Syncing with 1
|
||||
|
||||
file_from_2
|
||||
29 100% 0.00kB/s 0:00:00 (xfer#1, to-check=0/1)
|
||||
Already up-to-date.
|
||||
|
||||
sent 104 bytes received 31 bytes 270.00 bytes/sec
|
||||
total size is 29 speedup is 0.21
|
||||
[2013-12-15 11:53:22 WET] Transferrer: Uploaded file_from_2
|
||||
To ssh://localhost/~pedrocr/Hacks/test-git-annex/1
|
||||
ebbcd4c..dae7a77 git-annex -> synced/git-annex
|
||||
ffd5a90..67ad7c1 annex/direct/master -> synced/master
|
||||
Already up-to-date.
|
||||
[2013-12-15 11:53:25 WET] Pusher: Syncing with 1
|
||||
To ssh://localhost/~pedrocr/Hacks/test-git-annex/1
|
||||
dae7a77..976c899 git-annex -> synced/git-annex
|
||||
"""]]
|
||||
|
||||
|
||||
|
||||
### What version of git-annex are you using? On what operating system?
|
||||
|
||||
I'm running git-annex from the Ubuntu PPA on Ubuntu 12.04 LTS.
|
||||
|
||||
[[!format sh """
|
||||
$ lsb_release -v
|
||||
No LSB modules are available.
|
||||
$ lsb_release -a
|
||||
No LSB modules are available.
|
||||
Distributor ID: Ubuntu
|
||||
Description: Ubuntu 12.04.3 LTS
|
||||
Release: 12.04
|
||||
Codename: precise
|
||||
$ git annex version
|
||||
git-annex version: 5.20131130
|
||||
build flags: Assistant Webapp Pairing S3 WebDAV 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 webdav glacier hook
|
||||
"""]]
|
|
@ -0,0 +1,27 @@
|
|||
[[!comment format=mdwn
|
||||
username="TroisSinges"
|
||||
ip="82.227.207.5"
|
||||
subject="Almost done"
|
||||
date="2013-12-15T10:13:50Z"
|
||||
content="""
|
||||
Hi!
|
||||
|
||||
Thank you for the fix, it's much better now. However, in some case, it doesn't work. For example, when I try to add inject a file in the direct repository (rm symlinkedFile ; mv /tmp/myFile symlinkedFile ; git annex add symlinkedFile), it tries to map each file in memory (which takes a very long time through the network).
|
||||
|
||||
# git annex add bigFile --debug
|
||||
[2013-12-15 11:00:00 CET] read: git [\"--git-dir=/Volumes/Video/Annex/.git\",\"--work-tree=/Volumes/Video/Annex\",\"-c\",\"core.bare=false\",\"ls-files\",\"--others\",\"--exclude-standard\",\"-z\",\"--\",\"bigFile\"]
|
||||
[2013-12-15 11:00:00 CET] read: git [\"--git-dir=/Volumes/Video/Annex/.git\",\"--work-tree=/Volumes/Video/Annex\",\"-c\",\"core.bare=false\",\"ls-files\",\"--modified\",\"-z\",\"--\",\"bigFile\"]
|
||||
|
||||
If I use lsof, each another file in repository is mapped in memory:
|
||||
|
||||
# lsof -p 30130
|
||||
git 30130 troissinges 3r REG 46,11 4519526640 3093837953332665982 /Volumes/Video/Annex/AnotherBigFile
|
||||
|
||||
My version of software:
|
||||
|
||||
git annex version
|
||||
git-annex version: 5.20131213
|
||||
build flags: Assistant Webapp Pairing Testsuite S3 WebDAV FsEvents XMPP DNS Feeds Quvi TDFA CryptoHash
|
||||
key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL
|
||||
remote types: git gcrypt S3 bup directory rsync web webdav glacier hook
|
||||
"""]]
|
27
doc/bugs/feature_request:_addhash.mdwn
Normal file
27
doc/bugs/feature_request:_addhash.mdwn
Normal file
|
@ -0,0 +1,27 @@
|
|||
### Use case 1
|
||||
|
||||
I have a big repo using a SHA256E back-end. Along comes a new shiny SKEIN512E back-end and I would like to transition to using that, because it's faster and moves from ridiculously to ludicrously low risk of collisions.
|
||||
|
||||
I can set `.gitattributes` to use the new back-end for any new files added, but then I when I import some arbitrary mix of existing and new files to the repo it will not deduplicate any more, it will add all the files under the new hash scheme.
|
||||
|
||||
### Use case 2
|
||||
|
||||
I have a big repo of files I have added using `addurl --fast`. I download the files, and they are in the repo.
|
||||
|
||||
- I cannot verify later that none of them have been damaged.
|
||||
- If I come across an offline collection of some of the files, I cannot easily get them into the annex by a simple import.
|
||||
|
||||
### Workaround
|
||||
|
||||
In both these cases, what I can do is unlock (maybe?) or unannex (definitely) all of the files, and then re-add them using the new hash. In both cases this means I now risk having duplicates in various clones of the repo, and would have to clean them up with `drop-unused` -- after first having re-copied them from a repo that has them under the new hash. I also lose the continuity of the history of that object.
|
||||
|
||||
In use case 2 I also lose the URLs of the files and would have to re-add them using `addurl`.
|
||||
|
||||
... which brings me to the proposed feature.
|
||||
|
||||
### addhash
|
||||
|
||||
Symmetrical to `addurl`, which in one form can take an existing hashed (or URL-sourced) file and add an URL source to it, `addhash` can take an existing URL-sourced (or hashed) file and add a hash reference to it (given that the file is in the annex so that the hash may be calculated) -- an alias under which it may also be identified, in addition to the existing URL or hash.
|
||||
|
||||
- Any file added to the annex after `addhash` will use the symlink name of the original hash if their hash matches the `addhash`ed one.
|
||||
- An `fsck` run will use one of the available hashes to verify the integrity of the file, maybe according to some internal order of preference, or possibly a configurable one.
|
|
@ -0,0 +1,32 @@
|
|||
### Please describe the problem.
|
||||
git annex get fileName- should perform a hash check on the file content before adding to the local repository
|
||||
|
||||
|
||||
### What steps will reproduce the problem?
|
||||
Two scenarios:
|
||||
1) Malicious user and owner of repository being pulled from can edit his/her local .git/annex/objects directory
|
||||
to alter the file content. For src code, this could be to insert a bug, insert a backdoor, or for example
|
||||
to replace an image file artifact for a website, with a pornographic image.
|
||||
The user pulling the file content with "git annex get fileName" might not be aware of the file contents
|
||||
until they actually examine the file or perform an fsck or commit locally.
|
||||
In the meantime a kiddy porn image could be sitting in their repository or a src code backdoor can get incorporated and deployed etc.
|
||||
2) a file could also simply get corrupted during download. An inherent hash check during the 'annex get' would
|
||||
point out the problem immediately.
|
||||
To reproduce: create repoNum1, and clone it to create repoNum2. manual edit/replace content in repoNum1/.git/annex/objects/...
|
||||
then perform a 'git annex get <fileName>' from repoNum2 on the file that has been manipulated
|
||||
|
||||
|
||||
### What version of git-annex are you using? On what operating system?
|
||||
3.2012112ubuntu2 on running linux mint
|
||||
|
||||
|
||||
### Please provide any additional information below.
|
||||
|
||||
Aside: Thanks Joey - this is fantastic work you are doing. You have really improved git. The ability to checkout
|
||||
an entire tree - but selectively get only the content actually needed is a real killer feature.
|
||||
Kudos and again many many thanks
|
||||
M.
|
||||
|
||||
|
||||
# End of transcript or log.
|
||||
"""]]
|
|
@ -0,0 +1,8 @@
|
|||
[[!comment format=mdwn
|
||||
username="https://www.google.com/accounts/o8/id?id=AItOawniayrgSdVLUc3c6bf93VbO-_HT4hzxmyo"
|
||||
nickname="Tobias"
|
||||
subject="comment 8"
|
||||
date="2013-12-14T13:15:13Z"
|
||||
content="""
|
||||
The master branch was checkout out (I don't know why). Checking out the mentioned branch fixed the syncing issue: `git checkout annex/direct/master`
|
||||
"""]]
|
|
@ -0,0 +1,8 @@
|
|||
[[!comment format=mdwn
|
||||
username="https://me.yahoo.com/a/FHnTlSBo1eCGJRwueeKeB6.RCaPbGMPr5jxx8A--#ce0d8"
|
||||
nickname="Hamza"
|
||||
subject="comment 3"
|
||||
date="2013-12-14T09:05:26Z"
|
||||
content="""
|
||||
remote info is recorded in git once you clone the git repo it knows about machine a and s3 repo.
|
||||
"""]]
|
|
@ -0,0 +1,15 @@
|
|||
[[!comment format=mdwn
|
||||
username="https://www.google.com/accounts/o8/id?id=AItOawnfC02DTOZygFDDvvg0maRciYYMhEIFgkw"
|
||||
nickname="Utku"
|
||||
subject="comment 10"
|
||||
date="2013-12-15T09:51:28Z"
|
||||
content="""
|
||||
unfortunately, it is not working on the computer where ssh was not working
|
||||
I click an got annex and nothing seems to open
|
||||
I try to go on the system logs but I see nothing really obvious. The only log that may be related would be :
|
||||
15/12/13 10:46:23,230 Dock[166]: find_shared_window: WID 21425
|
||||
15/12/13 10:46:23,230 Dock[166]: CGSGetWindowTags: Invalid window 0x53b1
|
||||
|
||||
if you tell me where to look at I can give you something more useful.
|
||||
|
||||
"""]]
|
|
@ -0,0 +1,8 @@
|
|||
[[!comment format=mdwn
|
||||
username="http://joeyh.name/"
|
||||
ip="209.250.56.87"
|
||||
subject="comment 9"
|
||||
date="2013-12-13T18:52:40Z"
|
||||
content="""
|
||||
As a workaround, I have removed ssh-keygen and ssh from the OSX DMG. AIUI, OSX ships ssh by default anyway.
|
||||
"""]]
|
|
@ -34,7 +34,7 @@ the app for OSX Lion.
|
|||
|
||||
<pre>
|
||||
brew update
|
||||
brew install haskell-platform git ossp-uuid md5sha1sum coreutils libgsasl gnutls libidn libgsasl pkg-config libxml2
|
||||
brew install haskell-platform git ossp-uuid md5sha1sum coreutils gnutls libidn gsasl pkg-config libxml2
|
||||
brew link libxml2 --force
|
||||
cabal update
|
||||
mkdir $HOME/bin
|
||||
|
|
Loading…
Reference in a new issue