From 192120ffb79d72f4c717b56c2e43752190c20824 Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawktbkKjilg70XC9XBFpIgVhtfLYH-0UMHY" Date: Mon, 27 Oct 2014 21:27:49 +0000 Subject: [PATCH 1/7] --- doc/forum/Using_git-annex.mdwn | 41 ++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 doc/forum/Using_git-annex.mdwn diff --git a/doc/forum/Using_git-annex.mdwn b/doc/forum/Using_git-annex.mdwn new file mode 100644 index 0000000000..e9f49adc5a --- /dev/null +++ b/doc/forum/Using_git-annex.mdwn @@ -0,0 +1,41 @@ +Hi, + +I have created a git annex repo, added data. I then went to check it out in another location in the following way (my goal is to checkout origin, add a test file, push it back to origin). + git clone ../test_repo/ + 282 17:19 cd test_repo/ + 283 17:19 ls + 284 17:19 git status + 285 17:22 git annex init DEV + 286 17:22 touch test.txt + 287 17:22 vi test.txt + 288 17:22 git annex merge + 289 17:22 git annex add test.txt + 290 17:22 git commit -am "test" + 291 17:23 git push origin master git-annex + +However I am getting the following error + +Counting objects: 3, done. +Delta compression using up to 48 threads. +Compressing objects: 100% (3/3), done. +Writing objects: 100% (3/3), 364 bytes | 0 bytes/s, done. +Total 3 (delta 1), reused 0 (delta 0) +remote: error: refusing to update checked out branch: refs/heads/master +remote: error: By default, updating the current branch in a non-bare repository +remote: error: is denied, because it will make the index and work tree inconsistent +remote: error: with what you pushed, and will require 'git reset --hard' to match +remote: error: the work tree to HEAD. +remote: error: +remote: error: You can set 'receive.denyCurrentBranch' configuration variable to +remote: error: 'ignore' or 'warn' in the remote repository to allow pushing into +remote: error: its current branch; however, this is not recommended unless you +remote: error: arranged to update its work tree to match what you pushed in some +remote: error: other way. +remote: error: +remote: error: To squelch this message and still keep the default behaviour, set +remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'. +To /test_repo/ + ! [remote rejected] master -> master (branch is currently checked out) +error: failed to push some refs to '/test_repo/' + +What am I missing? From 287e961e08f50c26fc07ecebefa1050af4f5a6f8 Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawktbkKjilg70XC9XBFpIgVhtfLYH-0UMHY" Date: Mon, 27 Oct 2014 21:31:40 +0000 Subject: [PATCH 2/7] --- doc/forum/Using_git-annex.mdwn | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/doc/forum/Using_git-annex.mdwn b/doc/forum/Using_git-annex.mdwn index e9f49adc5a..0e2be4e81b 100644 --- a/doc/forum/Using_git-annex.mdwn +++ b/doc/forum/Using_git-annex.mdwn @@ -2,40 +2,72 @@ Hi, I have created a git annex repo, added data. I then went to check it out in another location in the following way (my goal is to checkout origin, add a test file, push it back to origin). git clone ../test_repo/ + 282 17:19 cd test_repo/ + 283 17:19 ls + 284 17:19 git status + 285 17:22 git annex init DEV + 286 17:22 touch test.txt + 287 17:22 vi test.txt + 288 17:22 git annex merge + 289 17:22 git annex add test.txt + 290 17:22 git commit -am "test" + 291 17:23 git push origin master git-annex However I am getting the following error Counting objects: 3, done. + Delta compression using up to 48 threads. + Compressing objects: 100% (3/3), done. + Writing objects: 100% (3/3), 364 bytes | 0 bytes/s, done. + Total 3 (delta 1), reused 0 (delta 0) + remote: error: refusing to update checked out branch: refs/heads/master + remote: error: By default, updating the current branch in a non-bare repository + remote: error: is denied, because it will make the index and work tree inconsistent + remote: error: with what you pushed, and will require 'git reset --hard' to match + remote: error: the work tree to HEAD. + remote: error: + remote: error: You can set 'receive.denyCurrentBranch' configuration variable to + remote: error: 'ignore' or 'warn' in the remote repository to allow pushing into + remote: error: its current branch; however, this is not recommended unless you + remote: error: arranged to update its work tree to match what you pushed in some + remote: error: other way. + remote: error: + remote: error: To squelch this message and still keep the default behaviour, set + remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'. + To /test_repo/ + ! [remote rejected] master -> master (branch is currently checked out) + error: failed to push some refs to '/test_repo/' + What am I missing? From f586507026c31384ad2075c2ce2a6eb967d2d19b Mon Sep 17 00:00:00 2001 From: aardo Date: Tue, 28 Oct 2014 08:12:02 +0000 Subject: [PATCH 3/7] --- doc/forum/Deduplication_in_direct_mode.mdwn | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 doc/forum/Deduplication_in_direct_mode.mdwn diff --git a/doc/forum/Deduplication_in_direct_mode.mdwn b/doc/forum/Deduplication_in_direct_mode.mdwn new file mode 100644 index 0000000000..076d0ab5a2 --- /dev/null +++ b/doc/forum/Deduplication_in_direct_mode.mdwn @@ -0,0 +1,18 @@ +Hi, + +I'm using git-annex across a number of (indirect) repositories, making heavy use of deduplication for organizing files according to various different aspects. + +Now I want to keep part of the files also on a VFAT device, which doesn't let me use indirect mode. In direct mode, however, git-annex "get" or "copy" places a separate copy of each file in the repository, whereas in indirect mode, it would just keep a single copy and maintain a number of (inexpensive) symbolic links. Since space on the VFAT drive is limited, I would like to just keep one, specific copy, not caring about the others. If I "drop" an unneeded copy of the file, it also gets replaced by the ASCII "link" in all other places that contained the same file. Therefore, I can either have multiple copies of the same data or none at all. + +Imagine you have a bunch of photos sorted into a directories in meant to make it easy to find them (same file name means same file content): + +./photo1.jpg +./photo2.jpg +./by-date/2014-10-27/photo1.jpg +./by-date/2014-10-28/photo2.jpg +./by-event/holiday-by-the-sea/photo1.jpg +./by-event/her-birthday/photo2.jpg + +I want to keep a copy of ./photo?.jpg in the VFAT repository, but not the other (identical) files. How do I do that? Or is there really no way of doing this? + +Thanks. From 31a1bb31bfb38c239277decce439e5926745d731 Mon Sep 17 00:00:00 2001 From: "http://alerque.com/" Date: Tue, 28 Oct 2014 10:58:38 +0000 Subject: [PATCH 4/7] the plain git-annex package does not work ATM, has a 0 release number, and is not the recomended install method on Arch, use git-annex-bin unless you know what you are doing (I'm the maintainer of both packages) --- doc/install.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/install.mdwn b/doc/install.mdwn index 478044593b..618f32dfaf 100644 --- a/doc/install.mdwn +++ b/doc/install.mdwn @@ -10,7 +10,7 @@ detailed instructions | quick install   [[Ubuntu]] | `apt-get install git-annex`   [[Fedora]] | `yum install git-annex`   [[FreeBSD]] | `pkg_add -r hs-git-annex` -  [[ArchLinux]] | `yaourt -Sy git-annex` +  [[ArchLinux]] | `yaourt -Sy git-annex-bin`   [[NixOS]] | `nix-env -i git-annex`   [[Gentoo]] | `emerge git-annex`   [[ScientificLinux5]] | From c6df013e6602232113b66ffa533faab9473ee8da Mon Sep 17 00:00:00 2001 From: "http://alerque.com/" Date: Tue, 28 Oct 2014 10:59:27 +0000 Subject: [PATCH 5/7] removed --- ...comment_5_cbc960cd78bf5b90e3bb6cb605d6d970._comment | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 doc/install/ArchLinux/comment_5_cbc960cd78bf5b90e3bb6cb605d6d970._comment diff --git a/doc/install/ArchLinux/comment_5_cbc960cd78bf5b90e3bb6cb605d6d970._comment b/doc/install/ArchLinux/comment_5_cbc960cd78bf5b90e3bb6cb605d6d970._comment deleted file mode 100644 index b3ed0846b6..0000000000 --- a/doc/install/ArchLinux/comment_5_cbc960cd78bf5b90e3bb6cb605d6d970._comment +++ /dev/null @@ -1,10 +0,0 @@ -[[!comment format=mdwn - username="http://alerque.com/" - nickname="Caleb" - subject="Out of date" - date="2013-12-28T22:04:24Z" - content=""" -The AUR package you reference is woefully out of date. I have updated the standalone variant so it might be worth using that until the maintainer catches up. - - yaourt -Sy git-annex-standalone -"""]] From b8c33a4caa0d95f8674d1b459eb09561fbd8c18f Mon Sep 17 00:00:00 2001 From: "http://alerque.com/" Date: Tue, 28 Oct 2014 10:59:44 +0000 Subject: [PATCH 6/7] removed --- .../comment_1_da5919c986d2ae187bc2f73de9633978._comment | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 doc/install/ArchLinux/comment_1_da5919c986d2ae187bc2f73de9633978._comment diff --git a/doc/install/ArchLinux/comment_1_da5919c986d2ae187bc2f73de9633978._comment b/doc/install/ArchLinux/comment_1_da5919c986d2ae187bc2f73de9633978._comment deleted file mode 100644 index d4db232922..0000000000 --- a/doc/install/ArchLinux/comment_1_da5919c986d2ae187bc2f73de9633978._comment +++ /dev/null @@ -1,8 +0,0 @@ -[[!comment format=mdwn - username="https://www.google.com/accounts/o8/id?id=AItOawlwYMdU0H7P7MMlD0v_BcczO-ZkYHY4zuY" - nickname="Morris" - subject="Arch Linux" - date="2012-10-17T13:21:24Z" - content=""" -For Arch Linux there should be the AUR package [git-annex-bin](https://aur.archlinux.org/packages.php?ID=63503) mentioned, because it's easier to install (no haskell dependencies to be installed) and is based on the prebuild linux binary tarball. -"""]] From 96434881069d4a285a7b356ffcf2300570a48358 Mon Sep 17 00:00:00 2001 From: "http://alerque.com/" Date: Tue, 28 Oct 2014 11:14:58 +0000 Subject: [PATCH 7/7] update notes on install methods --- doc/install/ArchLinux.mdwn | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/doc/install/ArchLinux.mdwn b/doc/install/ArchLinux.mdwn index 3dd7271c44..43b7d132e7 100644 --- a/doc/install/ArchLinux.mdwn +++ b/doc/install/ArchLinux.mdwn @@ -1,10 +1,10 @@ -There are three non non-official packages for git-annex in the Archlinux User Repository. Any of these may be installed manually per [AUR guidelines](https://wiki.archlinux.org/index.php/AUR_User_Guidelines#Installing_packages) or using a wrapper such as [`yaourt`](https://wiki.archlinux.org/index.php/yaourt) shown below. +There are four non non-official packages for git-annex in the Arch Linux User Repository. Any of these may be installed manually per [AUR guidelines](https://wiki.archlinux.org/index.php/AUR_User_Guidelines#Installing_packages) or using a wrapper such as [`yaourt`](https://wiki.archlinux.org/index.php/yaourt) shown below. 1. The simplest method is to use the [git-annex-bin](https://aur.archlinux.org/packages/git-annex-bin/) package based on the [prebuilt Linux tarballs](http://downloads.kitenet.net/git-annex/linux/current/). This package includes many of the binary shims from the pre-built package. Although common Linux system utilities have been stripped in favor of normal dependencies, the pre-configured Haskell libraries included out of the box make this an easy install. The disadvantage is the resulting installation is a bit on the heavy side at nearly 100M. $ yaourt -Sy git-annex-bin -2. A more traditional source package is available at [git-annex](https://aur.archlinux.org/packages/git-annex/). This depends on a large number of Haskell packages available from a third party repository or through Cabal. This has been historically a bit problematic and the package frequently sits flagged out of date. The state of dependencies also varies, so some intervention may be required to get this option to work. +2. A more traditional source package is available at [git-annex](https://aur.archlinux.org/packages/git-annex/). This depends on a large number of Haskell packages available from a third party repository or through Cabal. You must either enable a 3rd party repo that has the dependencies or have a working Cabal installation. Unless you know what you are doing this is a bit problematic and some intervention may be required to get this option to work. The state of available dependency versions also varies so this may not work at all times. $ yaourt -Sy git-annex @@ -12,7 +12,11 @@ There are three non non-official packages for git-annex in the Archlinux User Re $ yaourt -Sy git-annex-git -Finally you may choose to forgo the Archlinux package system and install git-annex directly through cabal. +4. A Cabal sandbox build is also available + + $ yaourt -Sy git-annex-cabal + +Finally you may choose to forgo the Arch Linux package system entirely and install git-annex directly through cabal. $ pacman -S git rsync curl wget gnupg openssh cabal-install $ cabal update