Merge branch 'master' of ssh://git-annex.branchable.com
This commit is contained in:
commit
75627390cd
13 changed files with 190 additions and 0 deletions
16
doc/bugs/No_manual_page_on_prebuilt_linux_version.mdwn
Normal file
16
doc/bugs/No_manual_page_on_prebuilt_linux_version.mdwn
Normal file
|
@ -0,0 +1,16 @@
|
|||
### Please describe the problem, What steps will reproduce the problem?
|
||||
|
||||
$ which git-annex
|
||||
~/.local/bin/git-annex
|
||||
$ git help annex
|
||||
No manual entry for git-annex
|
||||
$ git annex --help
|
||||
No manual entry for git-annex
|
||||
|
||||
(either that or it display the manual of system-installed git-annex, not the locally installed one)
|
||||
|
||||
### What version of git-annex are you using? On what operating system?
|
||||
|
||||
Fedora 20
|
||||
|
||||
`git-annex --version` doesn't work and the webapp tells me Version: 5.20131130-gc25be33
|
|
@ -0,0 +1,8 @@
|
|||
[[!comment format=mdwn
|
||||
username="https://www.google.com/accounts/o8/id?id=AItOawmLdL4zLty4fsfaIXNtPMS5RXs4y8OAk0o"
|
||||
nickname="Marc"
|
||||
subject="comment 5"
|
||||
date="2013-12-13T15:43:46Z"
|
||||
content="""
|
||||
That's great, Joey, thanks a lot!
|
||||
"""]]
|
11
doc/forum/S3_Host_Question.mdwn
Normal file
11
doc/forum/S3_Host_Question.mdwn
Normal file
|
@ -0,0 +1,11 @@
|
|||
I have two machines A & B. Each have their our repository.
|
||||
|
||||
On machine A I have created a remotehost (S3) and have synced successfully.
|
||||
|
||||
I am trying to link machine B to the same remote host. I keep getting an error on the initremote command on machine B.
|
||||
|
||||
I tried using the same command as I did on A and it is not working. Is there a different command to link machine B to an existing remote repository?
|
||||
|
||||
Any help is appreciated.
|
||||
|
||||
Rob
|
|
@ -0,0 +1,11 @@
|
|||
[[!comment format=mdwn
|
||||
username="https://me.yahoo.com/a/FHnTlSBo1eCGJRwueeKeB6.RCaPbGMPr5jxx8A--#ce0d8"
|
||||
nickname="Hamza"
|
||||
subject="comment 1"
|
||||
date="2013-12-13T08:37:24Z"
|
||||
content="""
|
||||
On machine B you don't initremote you enableremote,
|
||||
|
||||
|
||||
git annex enableremote mys3
|
||||
"""]]
|
|
@ -0,0 +1,8 @@
|
|||
[[!comment format=mdwn
|
||||
username="https://www.google.com/accounts/o8/id?id=AItOawnKhw0-Tu5oHjeoz_gAP4Nu5V9uo8ta3hM"
|
||||
nickname="Robert"
|
||||
subject="unknown special remote"
|
||||
date="2013-12-13T15:12:37Z"
|
||||
content="""
|
||||
How does machine B know about the remote? Machines A & B are separate and don't share references. Am I missing a step?
|
||||
"""]]
|
|
@ -0,0 +1,8 @@
|
|||
[[!comment format=mdwn
|
||||
username="https://www.google.com/accounts/o8/id?id=AItOawk_bIB1Vadfc_GfPLKX_ScfWFCcaGyk8Ac"
|
||||
nickname="Rob"
|
||||
subject="Remove quotes"
|
||||
date="2013-12-13T04:44:22Z"
|
||||
content="""
|
||||
I tried the command with and without quotes it results in the same error. I think the issue is that the host is trying to resolve a concatenation of the hostname and amazon.com when in fact it should be resolving to the host name only.
|
||||
"""]]
|
|
@ -0,0 +1,14 @@
|
|||
[[!comment format=mdwn
|
||||
username="Renaud"
|
||||
ip="182.171.224.143"
|
||||
subject="comment 2"
|
||||
date="2013-12-13T06:16:12Z"
|
||||
content="""
|
||||
Thanks for the reply!
|
||||
|
||||
I tried to commit manually but I got confused by the (recently introduced?) annex/direct/master branch and I am not sure which branch I need to commit/merge/pull/push my changes to.
|
||||
I also got blocked when pulling from origin fail due to file changes needed to be overwritten.
|
||||
I see git-annex cleverly merges those in .git/annex/merge folder so I could try doing the same but I am not too confortable doing a large part of git-annex's job...
|
||||
|
||||
Is there a simpler way to sync with a remote repository?
|
||||
"""]]
|
|
@ -0,0 +1,10 @@
|
|||
[[!comment format=mdwn
|
||||
username="http://joeyh.name/"
|
||||
ip="209.250.56.87"
|
||||
subject="comment 5"
|
||||
date="2013-12-12T21:40:16Z"
|
||||
content="""
|
||||
Well, I was wrong, we don't know only one of the 2 has the problem. The other one will probably not have run ssh-keygen yet.
|
||||
|
||||
Can you run `/Applications/git-annex.app/Contents/MacOS/bundle/ssh-keygen --help` on both of them and see if it manages to print its help, or fails with an error?
|
||||
"""]]
|
|
@ -0,0 +1,17 @@
|
|||
[[!comment format=mdwn
|
||||
username="https://www.google.com/accounts/o8/id?id=AItOawnfC02DTOZygFDDvvg0maRciYYMhEIFgkw"
|
||||
nickname="Utku"
|
||||
subject="comment 6"
|
||||
date="2013-12-12T21:50:15Z"
|
||||
content="""
|
||||
ok so it is ok on my computer, but here is what I got on the other one :
|
||||
dyld: lazy symbol binding failed: Symbol not found: ___strlcpy_chk
|
||||
Referenced from: /Applications/git-annex.app/Contents/MacOS/bundle/ssh-keygen
|
||||
Expected in: /usr/lib/libSystem.B.dylib
|
||||
|
||||
dyld: Symbol not found: ___strlcpy_chk
|
||||
Referenced from: /Applications/git-annex.app/Contents/MacOS/bundle/ssh-keygen
|
||||
Expected in: /usr/lib/libSystem.B.dylib
|
||||
|
||||
Trace/BPT trap: 5
|
||||
"""]]
|
|
@ -0,0 +1,10 @@
|
|||
[[!comment format=mdwn
|
||||
username="http://joeyh.name/"
|
||||
ip="209.250.56.87"
|
||||
subject="comment 7"
|
||||
date="2013-12-12T21:53:56Z"
|
||||
content="""
|
||||
So it does only fail on one machine and not the other. I wonder what is different?
|
||||
|
||||
Can you also try running `/Volumes/git-annex/git-annex.app/Contents/MacOS/bundle/cp` on both? (I think it uses the same symbol.)
|
||||
"""]]
|
|
@ -0,0 +1,16 @@
|
|||
[[!comment format=mdwn
|
||||
username="https://www.google.com/accounts/o8/id?id=AItOawnfC02DTOZygFDDvvg0maRciYYMhEIFgkw"
|
||||
nickname="Utku"
|
||||
subject="comment 8"
|
||||
date="2013-12-12T22:03:54Z"
|
||||
content="""
|
||||
you mean /Applications/git-annex.app/Contents/MacOS/bundle/cp ?
|
||||
|
||||
on both computers it prints :
|
||||
usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file target_file
|
||||
cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file ... target_directory
|
||||
|
||||
|
||||
/Volumes/git-annex/git-annex.app/Contents/MacOS/bundle/cp doesn't work
|
||||
|
||||
"""]]
|
42
doc/todo/Improve_direct_mode_using_copy_on_write.mdwn
Normal file
42
doc/todo/Improve_direct_mode_using_copy_on_write.mdwn
Normal file
|
@ -0,0 +1,42 @@
|
|||
Direct mode is great because it removes symlinks. A must-have for directories like `~/Documents`. Unfortunately, it removes the possibility to use `git` commands other than `git-annex`. Also, it doen't preserve history of files.
|
||||
|
||||
I would be great to have a mode where:
|
||||
|
||||
- files are available in plain, not as sylinks
|
||||
- the repository could still be trusted to hold version of some files from other repositories
|
||||
- from a user point of view, the history of a file before the checkout would be preserved.
|
||||
|
||||
In feature rich file systems that have copy on write feature, it could be implemented by having the files in both places at the same time:
|
||||
|
||||
- the current version of a file would be in the working copy
|
||||
- the file in the working copy would be a copy-on-write of the file in the annex repository
|
||||
- when the file in the working copy changes, `git-annex` notices it and copy the file in the annex repository using copy-on-write semantic
|
||||
|
||||
If the file system do not support copy-on-write, it could be an option (do you want secure direct mode that takes twice the disk space or light direct mode that don't preserve the history of your files?)
|
||||
|
||||
This would make direct more much more robust.
|
||||
|
||||
copy on write is available using `cp --reflink=always`. It correspond to the following code ([coreutils src/copy.c line 224](http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/copy.c#n224)):
|
||||
|
||||
/* Perform the O(1) btrfs clone operation, if possible.
|
||||
Upon success, return 0. Otherwise, return -1 and set errno. */
|
||||
static inline int
|
||||
clone_file (int dest_fd, int src_fd)
|
||||
{
|
||||
#ifdef __linux__
|
||||
# undef BTRFS_IOCTL_MAGIC
|
||||
# define BTRFS_IOCTL_MAGIC 0x94
|
||||
# undef BTRFS_IOC_CLONE
|
||||
# define BTRFS_IOC_CLONE _IOW (BTRFS_IOCTL_MAGIC, 9, int)
|
||||
return ioctl (dest_fd, BTRFS_IOC_CLONE, src_fd);
|
||||
#else
|
||||
(void) dest_fd;
|
||||
(void) src_fd;
|
||||
errno = ENOTSUP;
|
||||
return -1;
|
||||
#endif
|
||||
}
|
||||
|
||||
Looking at the code it would be preferable to exec directly to `cp`, see [copy_range() on LWN](http://lwn.net/Articles/550621/) and this [more recent article about splice() on LWN](http://lwn.net/Articles/567086/)
|
||||
|
||||
Also, `cp --reflink` fall back to copy when copy-on-write is not available while `cp --reflink=always` do not.
|
|
@ -0,0 +1,19 @@
|
|||
Instead of changing the `PATH`, it should be possible to symlink the binaries to the `~/.local/bin` directory.
|
||||
|
||||
Here is a script I put on the prebuilt package (its basename is unimportant but it must be placed along with the git-annex script):
|
||||
|
||||
#!/bin/sh
|
||||
link="$(readlink "$0")"
|
||||
base="$(cd "$(dirname "$0")"; cd "$(dirname "$link")"; echo "$PWD")"
|
||||
name="$(basename "$0")"
|
||||
exec "$base/$name" "$@"
|
||||
|
||||
Symlink this script to `~/.local/bin/git-annex`, `~/.local/bin/git-annex-shell` and `~/.local/bin/git-annex-webapp`. on my system I have:
|
||||
|
||||
lrwxrwxrwx. 1 mildred mildred 36 Dec 13 12:12 git-annex -> ../opt/git-annex.linux/run-git-annex
|
||||
lrwxrwxrwx. 1 mildred mildred 36 Dec 13 12:12 git-annex-shell -> ../opt/git-annex.linux/run-git-annex
|
||||
lrwxrwxrwx. 1 mildred mildred 36 Dec 13 12:12 git-annex-webapp -> ../opt/git-annex.linux/run-git-annex
|
||||
|
||||
The script will detect the installation directory using `readlink`. Both absolute and relative links works. Then it starts the correct script depending on the basename of the link.
|
||||
|
||||
It should be possible to link the `git-annex`, `git-annex-webapp` and `git-annex-shell` scripts instead if they used `readlink` to find out the location of the prebuilt package.
|
Loading…
Add table
Reference in a new issue