From bc6ba0cbebf8adef55f7d6104c828e56c9e2d1ca Mon Sep 17 00:00:00 2001 From: "http://claimid.com/strager" Date: Fri, 17 Aug 2012 15:59:49 +0000 Subject: [PATCH 01/15] Added a comment --- .../comment_1_0c1e2d69496473e7e4a2956a2814f5dd._comment | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 doc/design/assistant/blog/day_59__dinner/comment_1_0c1e2d69496473e7e4a2956a2814f5dd._comment diff --git a/doc/design/assistant/blog/day_59__dinner/comment_1_0c1e2d69496473e7e4a2956a2814f5dd._comment b/doc/design/assistant/blog/day_59__dinner/comment_1_0c1e2d69496473e7e4a2956a2814f5dd._comment new file mode 100644 index 0000000000..1e10549d37 --- /dev/null +++ b/doc/design/assistant/blog/day_59__dinner/comment_1_0c1e2d69496473e7e4a2956a2814f5dd._comment @@ -0,0 +1,9 @@ +[[!comment format=mdwn + username="http://claimid.com/strager" + ip="173.228.13.253" + subject="comment 1" + date="2012-08-17T15:59:49Z" + content=""" +It was fun to have you here! =] + +"""]] From 45fd6e294ab1ac8b395cbea80b5af8977011d780 Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawlu7K3h7Ry1uDAU_ERYGuqt0LoGNJqGuRo" Date: Sat, 18 Aug 2012 00:31:57 +0000 Subject: [PATCH 02/15] Add description of file name related bug. --- ...rgument___40__invalid_character__41__.mdwn | 79 +++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 doc/bugs/commitBuffer:_invalid_argument___40__invalid_character__41__.mdwn diff --git a/doc/bugs/commitBuffer:_invalid_argument___40__invalid_character__41__.mdwn b/doc/bugs/commitBuffer:_invalid_argument___40__invalid_character__41__.mdwn new file mode 100644 index 0000000000..9126bee643 --- /dev/null +++ b/doc/bugs/commitBuffer:_invalid_argument___40__invalid_character__41__.mdwn @@ -0,0 +1,79 @@ +What steps will reproduce the problem? + + $ git init a.git + Initialized empty Git repository in /var/tmp/git-annex-bug/a.git/.git/ + $ cd a.git + $ git annex init a + init a ok + (Recording state in git...) + $ touch Ren$'\351' + $ git annex add Ren$'\351' + add René (checksum...) ok + (Recording state in git...) + $ git ci -m "Added Rene'." + [master (root-commit) a61b796] Added Rene'. + 1 files changed, 1 insertions(+), 0 deletions(-) + create mode 120000 "Ren\351" + $ cd .. + $ git clone -o a a.git b.git + Cloning into b.git... + remote: Counting objects: 13, done. + remote: Compressing objects: 100% (9/9), done. + remote: Total 13 (delta 1), reused 0 (delta 0) + Receiving objects: 100% (13/13), done. + Resolving deltas: 100% (1/1), done. + $ cd b.git + $ git annex copy --from=a --fast -v + (merging a/git-annex into git-annex...) + copy René + git-annex: /var/tmp/git-annex-bug/b.git/.git/annex/transfer/download/7c5ee764-e8c6-11e1-b0c5-67c6ec1236d6/SHA256-s0--e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855: commitBuffer: invalid argument (invalid character) + failed + (Recording state in git...) + git-annex: copy: 1 failed + +What is the expected output? What do you see instead? + +Expect that files will be copied, but they are not. + +What version of git-annex are you using? On what operating system? + + $ echo $LANG + en_US.UTF-8 + $ lsb_release -a + No LSB modules are available. + Distributor ID: Ubuntu + Description: Ubuntu 11.10 + Release: 11.10 + Codename: oneiric + $ uname -a + Linux pdx-desktop 3.0.0-23-generic #39-Ubuntu SMP Thu Jul 19 19:18:53 UTC 2012 i686 i686 i386 GNU/Linux + $ bash --version + GNU bash, version 4.2.10(1)-release (i686-pc-linux-gnu) + Copyright (C) 2011 Free Software Foundation, Inc. + License GPLv3+: GNU GPL version 3 or later + + This is free software; you are free to change and redistribute it. + There is NO WARRANTY, to the extent permitted by law. + $ ghc --version + The Glorious Glasgow Haskell Compilation System, version 7.4.2 + $ git annex version + git-annex version: 3.20120807 + local repository version: 3 + default repository version: 3 + supported repository versions: 3 + upgrade supported from repository versions: 0 1 2 + +Please provide any additional information below. + +The problem is related to weird characters in file names. In the +above example, the "weird character" is an accented 'e' (entered with +$'\351' in bash and zsh). I am able to add the files with weird +characters in their name to one annex, but I cannot copy them to other +annexes using `git annex copy`. + +The above example is a simplification of a real problem I am +experiencing. In my real scenario, the file is not empty. See the +attachment for some variations, including with non-empty files. + +May be related to these (long-ago fixed) bugs: +http://git-annex.branchable.com/todo/support-non-utf8-locales/ From fb8f75c2d7ca8542d6288193c37e792f4471e54c Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawlu7K3h7Ry1uDAU_ERYGuqt0LoGNJqGuRo" Date: Sat, 18 Aug 2012 00:35:46 +0000 Subject: [PATCH 03/15] Fail to add attachment. --- ...rgument___40__invalid_character__41__.mdwn | 148 +++++++++++++++++- 1 file changed, 147 insertions(+), 1 deletion(-) diff --git a/doc/bugs/commitBuffer:_invalid_argument___40__invalid_character__41__.mdwn b/doc/bugs/commitBuffer:_invalid_argument___40__invalid_character__41__.mdwn index 9126bee643..ab5a2e9ee5 100644 --- a/doc/bugs/commitBuffer:_invalid_argument___40__invalid_character__41__.mdwn +++ b/doc/bugs/commitBuffer:_invalid_argument___40__invalid_character__41__.mdwn @@ -73,7 +73,153 @@ annexes using `git annex copy`. The above example is a simplification of a real problem I am experiencing. In my real scenario, the file is not empty. See the -attachment for some variations, including with non-empty files. +attachment for some variations, including with non-empty +files. UPDATE: I'm not allowed to add attachments. See below. May be related to these (long-ago fixed) bugs: http://git-annex.branchable.com/todo/support-non-utf8-locales/ + + +"Attachment": Here are my notes, including more examples: + + Programs I'm using: + + $ echo $LANG + en_US.UTF-8 + $ lsb_release -a + No LSB modules are available. + Distributor ID: Ubuntu + Description: Ubuntu 11.10 + Release: 11.10 + Codename: oneiric + $ uname -a + Linux pdx-desktop 3.0.0-23-generic #39-Ubuntu SMP Thu Jul 19 19:18:53 UTC 2012 i686 i686 i386 GNU/Linux + $ bash --version + GNU bash, version 4.2.10(1)-release (i686-pc-linux-gnu) + Copyright (C) 2011 Free Software Foundation, Inc. + License GPLv3+: GNU GPL version 3 or later + + This is free software; you are free to change and redistribute it. + There is NO WARRANTY, to the extent permitted by law. + $ ghc --version + The Glorious Glasgow Haskell Compilation System, version 7.4.2 + $ git annex version + git-annex version: 3.20120807 + local repository version: 3 + default repository version: 3 + supported repository versions: 3 + upgrade supported from repository versions: 0 1 2 + + + Simplest way to see problem: one empty file with weird character + (accented e: $'\351') in name: + + $ git init a.git + Initialized empty Git repository in /var/tmp/git-annex-bug/a.git/.git/ + $ cd a.git + $ git annex init a + init a ok + (Recording state in git...) + $ touch Ren$'\351' + $ git annex add Ren$'\351' + add René (checksum...) ok + (Recording state in git...) + $ git ci -m "Added Rene'." + [master (root-commit) a61b796] Added Rene'. + 1 files changed, 1 insertions(+), 0 deletions(-) + create mode 120000 "Ren\351" + $ cd .. + $ git clone -o a a.git b.git + Cloning into b.git... + remote: Counting objects: 13, done. + remote: Compressing objects: 100% (9/9), done. + remote: Total 13 (delta 1), reused 0 (delta 0) + Receiving objects: 100% (13/13), done. + Resolving deltas: 100% (1/1), done. + $ cd b.git + $ git annex copy --from=a --fast -v + (merging a/git-annex into git-annex...) + copy René + git-annex: /var/tmp/git-annex-bug/b.git/.git/annex/transfer/download/7c5ee764-e8c6-11e1-b0c5-67c6ec1236d6/SHA256-s0--e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855: commitBuffer: invalid argument (invalid character) + failed + (Recording state in git...) + git-annex: copy: 1 failed + + + Problem disappears with two empty files: + + $ cd .. + $ git init a2.git + Initialized empty Git repository in /var/tmp/git-annex-bug/a2.git/.git/ + $ cd a2.git + $ git annex init a2 + init a2 ok + (Recording state in git...) + $ touch Ren$'\351' + $ git annex add Ren$'\351' + add René (checksum...) ok + (Recording state in git...) + $ git ci -m "Add Ren$'\351'." + [master (root-commit) 62ac1c8] Add Ren$'\351'. + 1 files changed, 1 insertions(+), 0 deletions(-) + create mode 120000 "Ren\351" + $ touch Rene + $ git annex add Rene + add Rene (checksum...) ok + (Recording state in git...) + $ git ci -m "Add Rene." + [master c455523] Add Rene. + 1 files changed, 1 insertions(+), 0 deletions(-) + create mode 120000 Rene + $ cd .. + $ git clone -o a2 a2.git b2.git + Cloning into b2.git... + done. + $ cd b2.git + $ git annex copy --from=a2 --fast -v + (merging a2/git-annex into git-annex...) + copy Rene (from a2...) ok + (Recording state in git...) + + + Problem returns with two non-empty files: + + $ cd .. + $ git init a4.git + Initialized empty Git repository in /var/tmp/git-annex-bug/a4.git/.git/ + $ cd a4.git + $ git annex init a4 + init a4 ok + (Recording state in git...) + $ touch Ren$'\351' + $ rm Ren$'\351' + $ ls + $ echo "some content" > Ren$'\351' + $ git annex add Ren$'\351' + add René (checksum...) ok + (Recording state in git...) + $ git ci -m "Add Ren$'\351'." + [master (root-commit) f090d90] Add Ren$'\351'. + 1 files changed, 1 insertions(+), 0 deletions(-) + create mode 120000 "Ren\351" + $ echo "some other content" > Rene + $ git annex add Rene + add Rene (checksum...) ok + (Recording state in git...) + $ git ci -m "Add Rene." + [master 97c20cd] Add Rene. + 1 files changed, 1 insertions(+), 0 deletions(-) + create mode 120000 Rene + $ cd .. + $ git clone -o a4 a4.git b4.git + Cloning into b4.git... + done. + $ cd b4.git + $ git annex copy --from=a4 --fast -v + (merging a4/git-annex into git-annex...) + copy Rene (from a4...) ok + copy René + git-annex: /var/tmp/git-annex-bug/b4.git/.git/annex/transfer/download/a5fcd0d4-e8c8-11e1-bb41-43ce1cb9a9f1/SHA256-s13--1c87b6727f523662df714f06a94ea27fa4d9050c38f4f7712bd4663ffbfdfa01: commitBuffer: invalid argument (invalid character) + failed + (Recording state in git...) + git-annex: copy: 1 failed From 773a06fce6870e8dc48d9f1f4aa2e2fd0a9a80d0 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sun, 19 Aug 2012 20:14:34 -0400 Subject: [PATCH 04/15] updates --- doc/design/assistant/configurators.mdwn | 2 +- doc/design/assistant/leftovers.mdwn | 2 +- doc/design/assistant/webapp.mdwn | 33 +++++++++++++------------ 3 files changed, 19 insertions(+), 18 deletions(-) diff --git a/doc/design/assistant/configurators.mdwn b/doc/design/assistant/configurators.mdwn index e0e938efdd..b6aaa1cb65 100644 --- a/doc/design/assistant/configurators.mdwn +++ b/doc/design/assistant/configurators.mdwn @@ -9,7 +9,7 @@ through setting up common use cases. * Create a repository (run when the web app is started without a configured repository too). -* Clone this repo to a USB drive. +* Clone this repo to a USB drive or other removable drive. **done** * Clone this repo to another host. (Needs [[pairing]]) * Set up Amazon S3. * Set up rsync remote. diff --git a/doc/design/assistant/leftovers.mdwn b/doc/design/assistant/leftovers.mdwn index c322a27812..f6cb15c950 100644 --- a/doc/design/assistant/leftovers.mdwn +++ b/doc/design/assistant/leftovers.mdwn @@ -1,6 +1,6 @@ Things that don't fit anywhere else: -* Automatically start daemon on boot or when user logs in. +* Automatically start daemon on boot or when user logs in. **done** * Somehow get content that is unavailable. This is problematic with inotify, since we only get an event once the user has tried (and failed) to read from the file. This is only needed if all the files in the directory diff --git a/doc/design/assistant/webapp.mdwn b/doc/design/assistant/webapp.mdwn index ddcc661536..82d180af20 100644 --- a/doc/design/assistant/webapp.mdwn +++ b/doc/design/assistant/webapp.mdwn @@ -1,27 +1,14 @@ The webapp is a web server that displays a shiny interface. -## security - -* Listen only to localhost. **done** -* Instruct the user's web browser to open an url that contains a secret - token. This guards against other users on the same system. **done** - (I would like to avoid passwords or other authentication methods, - it's your local system.) -* Don't pass the url with secret token directly to the web browser, - as that exposes it to `ps`. Instead, write a html file only the user can read, - that redirects to the webapp. **done** -* Alternative for Linux at least would be to write a small program using - GTK+ Webkit, that runs the webapp, and can know what user ran it, avoiding - needing authentication. - ## interface * list of files uploading and downloading **done** * button to open file browser on repo (`xdg-open $DIR`) **done** * progress bars for each file (see [[progressbars]]) * drag and drop to reorder -* cancel and pause -* keep it usable w/o javascript, and accessible to blind, etc +* cancel, pause, and resume **done** +* keep it usable w/o javascript **done** +* keep it accessible to blind, etc ## other features @@ -42,3 +29,17 @@ The webapp is a web server that displays a shiny interface. * record repository that was made, and use it next time run **done** * write a pid file, to prevent more than one first-start process running at once **done** + +## security **acceptable/done** + +* Listen only to localhost. **done** +* Instruct the user's web browser to open an url that contains a secret + token. This guards against other users on the same system. **done** + (I would like to avoid passwords or other authentication methods, + it's your local system.) +* Don't pass the url with secret token directly to the web browser, + as that exposes it to `ps`. Instead, write a html file only the user can read, + that redirects to the webapp. **done** +* Alternative for Linux at least would be to write a small program using + GTK+ Webkit, that runs the webapp, and can know what user ran it, avoiding + needing authentication. From c94b21ffd5f94c0795ea3cdce6c27846fd7cd70c Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sun, 19 Aug 2012 21:18:21 -0400 Subject: [PATCH 05/15] add svg versions of the git-annex logo, in color and black and white This is a simple application of inkscape's rather amazing tracing capabilities. --- debian/copyright | 2 +- doc/logo-bw.svg | 60 +++++++++++++++++++++++++++++++++++++ doc/logo.svg | 77 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 138 insertions(+), 1 deletion(-) create mode 100644 doc/logo-bw.svg create mode 100644 doc/logo.svg diff --git a/debian/copyright b/debian/copyright index de1e08e1cd..199a2cb728 100644 --- a/debian/copyright +++ b/debian/copyright @@ -8,7 +8,7 @@ License: GPL-3+ this package's source, or in /usr/share/common-licenses/GPL-3 on Debian systems. -Files: doc/logo.png doc/logo_small.png doc/favicon.png +Files: doc/logo* doc/favicon.png Copyright: 2007 Henrik Nyh 2010 Joey Hess License: other diff --git a/doc/logo-bw.svg b/doc/logo-bw.svg new file mode 100644 index 0000000000..11d362e5f1 --- /dev/null +++ b/doc/logo-bw.svg @@ -0,0 +1,60 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/doc/logo.svg b/doc/logo.svg new file mode 100644 index 0000000000..5741ffeb5b --- /dev/null +++ b/doc/logo.svg @@ -0,0 +1,77 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + From 81cdfe98a666ebee328c8a4a1d62675c2abbfd5b Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawla3gLc6_rHuggFfy7o7eGMPvPztFZTrUQ" Date: Mon, 20 Aug 2012 10:49:41 +0000 Subject: [PATCH 06/15] --- ...ld_leave_file_in_place_on_checksum_mismatch.mdwn | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 doc/bugs/reinject_should_leave_file_in_place_on_checksum_mismatch.mdwn diff --git a/doc/bugs/reinject_should_leave_file_in_place_on_checksum_mismatch.mdwn b/doc/bugs/reinject_should_leave_file_in_place_on_checksum_mismatch.mdwn new file mode 100644 index 0000000000..d7eaa7d1b5 --- /dev/null +++ b/doc/bugs/reinject_should_leave_file_in_place_on_checksum_mismatch.mdwn @@ -0,0 +1,13 @@ +What steps will reproduce the problem? + +Run git annex reinject source dest with a file that has the wrong content and thus a wrong checksum. + +What is the expected output? What do you see instead? + +The file should stay in it's original location. Currently it's moved to .git/annex/bad with a mangled filename. + +What version of git-annex are you using? On what operating system? + +git-annex version: 3.20120807 +Ubuntu 12.04 updated on Aug 20th +annex was installed via cabal on Aug 20th, all other packages are from ubuntu. From 833fbd8ff21c40fb94df5dcd7a77aa0d4dff41df Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawla3gLc6_rHuggFfy7o7eGMPvPztFZTrUQ" Date: Mon, 20 Aug 2012 11:28:25 +0000 Subject: [PATCH 07/15] --- ...sck_thinks_file_content_is_bad_when_it_isn__39__t.mdwn | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 doc/bugs/fsck_thinks_file_content_is_bad_when_it_isn__39__t.mdwn diff --git a/doc/bugs/fsck_thinks_file_content_is_bad_when_it_isn__39__t.mdwn b/doc/bugs/fsck_thinks_file_content_is_bad_when_it_isn__39__t.mdwn new file mode 100644 index 0000000000..a676551e84 --- /dev/null +++ b/doc/bugs/fsck_thinks_file_content_is_bad_when_it_isn__39__t.mdwn @@ -0,0 +1,8 @@ +What steps will reproduce the problem? +What is the expected output? What do you see instead? + +I can reproduce it locally, but don't know what's causing it. The file content is the same, I checked with md5sum and sha512sum. But fsck still thinks the content is different. Are there other factors I could check which fsck looks at? I'm using SHA512E backend. + +What version of git-annex are you using? On what operating system? + +git-annex version: 3.20120807 Ubuntu 12.04 updated on Aug 20th annex was installed via cabal on Aug 20th, all other packages are from ubuntu. From 0a6da4f6332b5c4e0c24dcaacb5a22bafbf4a2a4 Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawkS6aFVrEwOrDuQBTMXxtGHtueA69NS_jo" Date: Mon, 20 Aug 2012 14:27:47 +0000 Subject: [PATCH 08/15] Added a comment: error: unknown option `no-edit' --- ..._2f06268709880ce09148e6465bda3fea._comment | 358 ++++++++++++++++++ 1 file changed, 358 insertions(+) create mode 100644 doc/sync/comment_2_2f06268709880ce09148e6465bda3fea._comment diff --git a/doc/sync/comment_2_2f06268709880ce09148e6465bda3fea._comment b/doc/sync/comment_2_2f06268709880ce09148e6465bda3fea._comment new file mode 100644 index 0000000000..3a72108ad5 --- /dev/null +++ b/doc/sync/comment_2_2f06268709880ce09148e6465bda3fea._comment @@ -0,0 +1,358 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawkS6aFVrEwOrDuQBTMXxtGHtueA69NS_jo" + nickname="Hans" + subject="error: unknown option `no-edit'" + date="2012-08-20T14:27:47Z" + content=""" +This might be a bug, or just me not understanding how to operate git-annex + +I'm on git-annex version: 3.20120629~bpo60+1 + + +Two computers will be used in the following hans-vita and ij + +At hans-vita + + mkdir test + cd test + git init + git annex init \"my laptop\" + echo \"some data\" > my.file + git annex add my.file + +At ij I now clone hans-vita + + git clone ssh://hans-vita/home/hans/test ~/test + Cloning into /home/hans/test... + remote: Counting objects: 10, done. + remote: Compressing objects: 100% (7/7), done. + remote: Total 10 (delta 1), reused 0 (delta 0) + Receiving objects: 100% (10/10), done. + Resolving deltas: 100% (1/1), done. + warning: remote HEAD refers to nonexistent ref, unable to checkout. + +Should I worry about that warning? + +Continuing, inspite of the warning, at ij + + cd ~/test + git annex init \"my desktop\" + init my desktop ok + (Recording state in git...) + +The contents of .git/config at ij is now + + cat .git/config + [core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true + [remote \"origin\"] + fetch = +refs/heads/*:refs/remotes/origin/* + url = ssh://hans-vita/home/hans/test + [annex] + uuid = 415c56ba-eac9-11e1-b0a2-27785ae2fd77 + version = 3 + +hans-vita needs to be informed about ij, so it has something to sync against + + git remote add ij ssh://ij/home/hans/test + +Which makes .git/config at hans-vita look as: + + [core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true + [annex] + uuid = 76804bf4-eac8-11e1-8c9b-078f858a8817 + version = 3 + [remote \"ij\"] + url = ssh://ij/home/hans/test + fetch = +refs/heads/*:refs/remotes/ij/* + +git-annex status on hans-vita says + + git-annex status + supported backends: SHA256 SHA1 SHA512 SHA224 SHA384 SHA256E SHA1E SHA512E SHA224E SHA384E WORM URL + supported remote types: git bup directory rsync web hook + trusted repositories: (merging origin/git-annex into git-annex...) + 0 + semitrusted repositories: 3 + 00000000-0000-0000-0000-000000000001 -- web + 415c56ba-eac9-11e1-b0a2-27785ae2fd77 -- here (my desktop) + 76804bf4-eac8-11e1-8c9b-078f858a8817 -- origin (my laptop) + untrusted repositories: 0 + dead repositories: 0 + available local disk space: 369 gigabytes (+1 megabyte reserved) + local annex keys: 0 + local annex size: 0 bytes + known annex keys: 0 + known annex size: 0 bytes + backend usage: + +And on ij, it says + + git-annex status + supported backends: SHA256 SHA1 SHA512 SHA224 SHA384 SHA256E SHA1E SHA512E SHA224E SHA384E WORM URL + supported remote types: git bup directory rsync web hook + trusted repositories: (merging origin/git-annex into git-annex...) + 0 + semitrusted repositories: 3 + 00000000-0000-0000-0000-000000000001 -- web + 415c56ba-eac9-11e1-b0a2-27785ae2fd77 -- here (my desktop) + 76804bf4-eac8-11e1-8c9b-078f858a8817 -- origin (my laptop) + untrusted repositories: 0 + dead repositories: 0 + available local disk space: 369 gigabytes (+1 megabyte reserved) + local annex keys: 0 + local annex size: 0 bytes + known annex keys: 0 + known annex size: 0 bytes + backend usage: + +OK, let's try to sync, start at hans-vita + + git-annex sync + commit + fatal: No HEAD commit to compare with (yet) + fatal: No HEAD commit to compare with (yet) + [master (root-commit) 6fdc775] git-annex automatic sync + 1 files changed, 1 insertions(+), 0 deletions(-) + create mode 120000 my.file + ok + pull ij + remote: Counting objects: 10, done. + remote: Compressing objects: 100% (6/6), done. + remote: Total 8 (delta 2), reused 1 (delta 0) + Unpacking objects: 100% (8/8), done. + From ssh://ij/home/hans/test + * [new branch] git-annex -> ij/git-annex + ok + (merging ij/git-annex into git-annex...) + push ij + Counting objects: 3, done. + Delta compression using up to 2 threads. + Compressing objects: 100% (2/2), done. + Writing objects: 100% (3/3), 319 bytes, done. + Total 3 (delta 0), reused 0 (delta 0) + To ssh://ij/home/hans/test + * [new branch] master -> synced/master + ok + +Got two errors, but I guess that is because ij never have run git-annex sync, so there are missing branches. + +Try, for the first time ever, git-annex sync from ij: + + git-annex sync + commit + fatal: No HEAD commit to compare with (yet) + fatal: No HEAD commit to compare with (yet) + # On branch master + # + # Initial commit + # + nothing to commit (create/copy files and use \"git add\" to track) + ok + fatal: ambiguous argument 'refs/heads/master..refs/heads/synced/master': unknown revision or path not in the working tree. + Use '--' to separate paths from revisions + pull origin + From ssh://hans-vita/home/hans/test + bd89f87..9c983a5 git-annex -> origin/git-annex + * [new branch] master -> origin/master + * [new branch] synced/master -> origin/synced/master + fatal: ambiguous argument 'refs/heads/master..refs/remotes/origin/master': unknown revision or path not in the working tree. + Use '--' to separate paths from revisions + ok + fatal: Not a valid object name: 'master'. + git-annex: failed to update refs/heads/synced/master + +No joy. + +What is missing? Some branch? hans-vita has + + git branch + git-annex + * master + synced/master + + git branch + git-annex + synced/master + +Does ij need a master of its own? The walkthrough was not enough here for me to understand the requirement, but made me believe that + +I need to do this from ij: + + git fetch + git merge/master + +So I did that, and tried again with git-annex sync from ij + + git-annex sync + commit + # On branch master + nothing to commit (working directory clean) + ok + pull origin + ok + +Great, now, what happens when hans-vita tries to sync? + + git-annex sync + commit + # On branch master + nothing to commit (working directory clean) + ok + pull ij + From ssh://ij/home/hans/test + * [new branch] master -> ij/master + ok + +It picks up the new branch at ij, good. + +But after I add a file at ij, hans-vita will not sync again. First, here is how I add the file from ij: + + cp ../qog.tex . + git-annex add . + add qog.tex (checksum...) ok + (Recording state in git...) + git-annex sync + commit + [master 25e00c5] git-annex automatic sync + Committer: Hans Ekbrand + 1 files changed, 1 insertions(+), 0 deletions(-) + create mode 120000 qog.tex + ok + pull origin + ok + push origin + Counting objects: 10, done. + Delta compression using up to 2 threads. + Compressing objects: 100% (7/7), done. + Writing objects: 100% (8/8), 868 bytes, done. + Total 8 (delta 0), reused 0 (delta 0) + To ssh://hans-vita/home/hans/test + 9c983a5..19b0a0c git-annex -> git-annex + 6fdc775..25e00c5 master -> synced/master + ok + +Now, from hans-vita I try git-annex sync + + git-annex sync + commit + # On branch master + nothing to commit (working directory clean) + ok + merge synced/master + error: unknown option `no-edit' + usage: git merge [options] ... + or: git merge [options] HEAD + + -n do not show a diffstat at the end of the merge + --stat show a diffstat at the end of the merge + --summary (synonym to --stat) + --log add list of one-line log to merge commit message + --squash create a single commit instead of doing a merge + --commit perform a commit if the merge succeeds (default) + --ff allow fast-forward (default) + --ff-only abort if fast-forward is not possible + --rerere-autoupdate update the index with reused conflict resolution if possible + -s, --strategy + merge strategy to use + -X, --strategy-option + option for selected merge strategy + -m, --message + message to be used for the merge commit (if any) + -v, --verbose be more verbose + -q, --quiet be more quiet + + # On branch master + nothing to commit (working directory clean) + ok + pull ij + From ssh://ij/home/hans/test + 9c983a5..19b0a0c git-annex -> ij/git-annex + 6fdc775..25e00c5 master -> ij/master + 6fdc775..25e00c5 synced/master -> ij/synced/master + + error: unknown option `no-edit' + usage: git merge [options] ... + or: git merge [options] HEAD + + -n do not show a diffstat at the end of the merge + --stat show a diffstat at the end of the merge + --summary (synonym to --stat) + --log add list of one-line log to merge commit message + --squash create a single commit instead of doing a merge + --commit perform a commit if the merge succeeds (default) + --ff allow fast-forward (default) + --ff-only abort if fast-forward is not possible + --rerere-autoupdate update the index with reused conflict resolution if possible + -s, --strategy + merge strategy to use + -X, --strategy-option + option for selected merge strategy + -m, --message + message to be used for the merge commit (if any) + -v, --verbose be more verbose + -q, --quiet be more quiet + + # On branch master + nothing to commit (working directory clean) + ok + +I can get the change with pure git, though: + + git fetch ij + git merge ij/master + Updating 6fdc775..25e00c5 + Fast-forward + qog.tex | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + create mode 120000 qog.tex + +but git-annex sync no longer works from hans-vita + + git-annex sync + commit + # On branch master + nothing to commit (working directory clean) + ok + pull ij + + error: unknown option `no-edit' + usage: git merge [options] ... + or: git merge [options] HEAD + + -n do not show a diffstat at the end of the merge + --stat show a diffstat at the end of the merge + --summary (synonym to --stat) + --log add list of one-line log to merge commit message + --squash create a single commit instead of doing a merge + --commit perform a commit if the merge succeeds (default) + --ff allow fast-forward (default) + --ff-only abort if fast-forward is not possible + --rerere-autoupdate update the index with reused conflict resolution if possible + -s, --strategy + merge strategy to use + -X, --strategy-option + option for selected merge strategy + -m, --message + message to be used for the merge commit (if any) + -v, --verbose be more verbose + -q, --quiet be more quiet + + # On branch master + nothing to commit (working directory clean) + ok + +What did I do wrong? + + + + + +"""]] From 0237d7707196c5f85bd9df077d2f21b5b0853453 Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawkS6aFVrEwOrDuQBTMXxtGHtueA69NS_jo" Date: Mon, 20 Aug 2012 14:44:08 +0000 Subject: [PATCH 09/15] removed --- ..._2f06268709880ce09148e6465bda3fea._comment | 358 ------------------ 1 file changed, 358 deletions(-) delete mode 100644 doc/sync/comment_2_2f06268709880ce09148e6465bda3fea._comment diff --git a/doc/sync/comment_2_2f06268709880ce09148e6465bda3fea._comment b/doc/sync/comment_2_2f06268709880ce09148e6465bda3fea._comment deleted file mode 100644 index 3a72108ad5..0000000000 --- a/doc/sync/comment_2_2f06268709880ce09148e6465bda3fea._comment +++ /dev/null @@ -1,358 +0,0 @@ -[[!comment format=mdwn - username="https://www.google.com/accounts/o8/id?id=AItOawkS6aFVrEwOrDuQBTMXxtGHtueA69NS_jo" - nickname="Hans" - subject="error: unknown option `no-edit'" - date="2012-08-20T14:27:47Z" - content=""" -This might be a bug, or just me not understanding how to operate git-annex - -I'm on git-annex version: 3.20120629~bpo60+1 - - -Two computers will be used in the following hans-vita and ij - -At hans-vita - - mkdir test - cd test - git init - git annex init \"my laptop\" - echo \"some data\" > my.file - git annex add my.file - -At ij I now clone hans-vita - - git clone ssh://hans-vita/home/hans/test ~/test - Cloning into /home/hans/test... - remote: Counting objects: 10, done. - remote: Compressing objects: 100% (7/7), done. - remote: Total 10 (delta 1), reused 0 (delta 0) - Receiving objects: 100% (10/10), done. - Resolving deltas: 100% (1/1), done. - warning: remote HEAD refers to nonexistent ref, unable to checkout. - -Should I worry about that warning? - -Continuing, inspite of the warning, at ij - - cd ~/test - git annex init \"my desktop\" - init my desktop ok - (Recording state in git...) - -The contents of .git/config at ij is now - - cat .git/config - [core] - repositoryformatversion = 0 - filemode = true - bare = false - logallrefupdates = true - [remote \"origin\"] - fetch = +refs/heads/*:refs/remotes/origin/* - url = ssh://hans-vita/home/hans/test - [annex] - uuid = 415c56ba-eac9-11e1-b0a2-27785ae2fd77 - version = 3 - -hans-vita needs to be informed about ij, so it has something to sync against - - git remote add ij ssh://ij/home/hans/test - -Which makes .git/config at hans-vita look as: - - [core] - repositoryformatversion = 0 - filemode = true - bare = false - logallrefupdates = true - [annex] - uuid = 76804bf4-eac8-11e1-8c9b-078f858a8817 - version = 3 - [remote \"ij\"] - url = ssh://ij/home/hans/test - fetch = +refs/heads/*:refs/remotes/ij/* - -git-annex status on hans-vita says - - git-annex status - supported backends: SHA256 SHA1 SHA512 SHA224 SHA384 SHA256E SHA1E SHA512E SHA224E SHA384E WORM URL - supported remote types: git bup directory rsync web hook - trusted repositories: (merging origin/git-annex into git-annex...) - 0 - semitrusted repositories: 3 - 00000000-0000-0000-0000-000000000001 -- web - 415c56ba-eac9-11e1-b0a2-27785ae2fd77 -- here (my desktop) - 76804bf4-eac8-11e1-8c9b-078f858a8817 -- origin (my laptop) - untrusted repositories: 0 - dead repositories: 0 - available local disk space: 369 gigabytes (+1 megabyte reserved) - local annex keys: 0 - local annex size: 0 bytes - known annex keys: 0 - known annex size: 0 bytes - backend usage: - -And on ij, it says - - git-annex status - supported backends: SHA256 SHA1 SHA512 SHA224 SHA384 SHA256E SHA1E SHA512E SHA224E SHA384E WORM URL - supported remote types: git bup directory rsync web hook - trusted repositories: (merging origin/git-annex into git-annex...) - 0 - semitrusted repositories: 3 - 00000000-0000-0000-0000-000000000001 -- web - 415c56ba-eac9-11e1-b0a2-27785ae2fd77 -- here (my desktop) - 76804bf4-eac8-11e1-8c9b-078f858a8817 -- origin (my laptop) - untrusted repositories: 0 - dead repositories: 0 - available local disk space: 369 gigabytes (+1 megabyte reserved) - local annex keys: 0 - local annex size: 0 bytes - known annex keys: 0 - known annex size: 0 bytes - backend usage: - -OK, let's try to sync, start at hans-vita - - git-annex sync - commit - fatal: No HEAD commit to compare with (yet) - fatal: No HEAD commit to compare with (yet) - [master (root-commit) 6fdc775] git-annex automatic sync - 1 files changed, 1 insertions(+), 0 deletions(-) - create mode 120000 my.file - ok - pull ij - remote: Counting objects: 10, done. - remote: Compressing objects: 100% (6/6), done. - remote: Total 8 (delta 2), reused 1 (delta 0) - Unpacking objects: 100% (8/8), done. - From ssh://ij/home/hans/test - * [new branch] git-annex -> ij/git-annex - ok - (merging ij/git-annex into git-annex...) - push ij - Counting objects: 3, done. - Delta compression using up to 2 threads. - Compressing objects: 100% (2/2), done. - Writing objects: 100% (3/3), 319 bytes, done. - Total 3 (delta 0), reused 0 (delta 0) - To ssh://ij/home/hans/test - * [new branch] master -> synced/master - ok - -Got two errors, but I guess that is because ij never have run git-annex sync, so there are missing branches. - -Try, for the first time ever, git-annex sync from ij: - - git-annex sync - commit - fatal: No HEAD commit to compare with (yet) - fatal: No HEAD commit to compare with (yet) - # On branch master - # - # Initial commit - # - nothing to commit (create/copy files and use \"git add\" to track) - ok - fatal: ambiguous argument 'refs/heads/master..refs/heads/synced/master': unknown revision or path not in the working tree. - Use '--' to separate paths from revisions - pull origin - From ssh://hans-vita/home/hans/test - bd89f87..9c983a5 git-annex -> origin/git-annex - * [new branch] master -> origin/master - * [new branch] synced/master -> origin/synced/master - fatal: ambiguous argument 'refs/heads/master..refs/remotes/origin/master': unknown revision or path not in the working tree. - Use '--' to separate paths from revisions - ok - fatal: Not a valid object name: 'master'. - git-annex: failed to update refs/heads/synced/master - -No joy. - -What is missing? Some branch? hans-vita has - - git branch - git-annex - * master - synced/master - - git branch - git-annex - synced/master - -Does ij need a master of its own? The walkthrough was not enough here for me to understand the requirement, but made me believe that - -I need to do this from ij: - - git fetch - git merge/master - -So I did that, and tried again with git-annex sync from ij - - git-annex sync - commit - # On branch master - nothing to commit (working directory clean) - ok - pull origin - ok - -Great, now, what happens when hans-vita tries to sync? - - git-annex sync - commit - # On branch master - nothing to commit (working directory clean) - ok - pull ij - From ssh://ij/home/hans/test - * [new branch] master -> ij/master - ok - -It picks up the new branch at ij, good. - -But after I add a file at ij, hans-vita will not sync again. First, here is how I add the file from ij: - - cp ../qog.tex . - git-annex add . - add qog.tex (checksum...) ok - (Recording state in git...) - git-annex sync - commit - [master 25e00c5] git-annex automatic sync - Committer: Hans Ekbrand - 1 files changed, 1 insertions(+), 0 deletions(-) - create mode 120000 qog.tex - ok - pull origin - ok - push origin - Counting objects: 10, done. - Delta compression using up to 2 threads. - Compressing objects: 100% (7/7), done. - Writing objects: 100% (8/8), 868 bytes, done. - Total 8 (delta 0), reused 0 (delta 0) - To ssh://hans-vita/home/hans/test - 9c983a5..19b0a0c git-annex -> git-annex - 6fdc775..25e00c5 master -> synced/master - ok - -Now, from hans-vita I try git-annex sync - - git-annex sync - commit - # On branch master - nothing to commit (working directory clean) - ok - merge synced/master - error: unknown option `no-edit' - usage: git merge [options] ... - or: git merge [options] HEAD - - -n do not show a diffstat at the end of the merge - --stat show a diffstat at the end of the merge - --summary (synonym to --stat) - --log add list of one-line log to merge commit message - --squash create a single commit instead of doing a merge - --commit perform a commit if the merge succeeds (default) - --ff allow fast-forward (default) - --ff-only abort if fast-forward is not possible - --rerere-autoupdate update the index with reused conflict resolution if possible - -s, --strategy - merge strategy to use - -X, --strategy-option - option for selected merge strategy - -m, --message - message to be used for the merge commit (if any) - -v, --verbose be more verbose - -q, --quiet be more quiet - - # On branch master - nothing to commit (working directory clean) - ok - pull ij - From ssh://ij/home/hans/test - 9c983a5..19b0a0c git-annex -> ij/git-annex - 6fdc775..25e00c5 master -> ij/master - 6fdc775..25e00c5 synced/master -> ij/synced/master - - error: unknown option `no-edit' - usage: git merge [options] ... - or: git merge [options] HEAD - - -n do not show a diffstat at the end of the merge - --stat show a diffstat at the end of the merge - --summary (synonym to --stat) - --log add list of one-line log to merge commit message - --squash create a single commit instead of doing a merge - --commit perform a commit if the merge succeeds (default) - --ff allow fast-forward (default) - --ff-only abort if fast-forward is not possible - --rerere-autoupdate update the index with reused conflict resolution if possible - -s, --strategy - merge strategy to use - -X, --strategy-option - option for selected merge strategy - -m, --message - message to be used for the merge commit (if any) - -v, --verbose be more verbose - -q, --quiet be more quiet - - # On branch master - nothing to commit (working directory clean) - ok - -I can get the change with pure git, though: - - git fetch ij - git merge ij/master - Updating 6fdc775..25e00c5 - Fast-forward - qog.tex | 1 + - 1 files changed, 1 insertions(+), 0 deletions(-) - create mode 120000 qog.tex - -but git-annex sync no longer works from hans-vita - - git-annex sync - commit - # On branch master - nothing to commit (working directory clean) - ok - pull ij - - error: unknown option `no-edit' - usage: git merge [options] ... - or: git merge [options] HEAD - - -n do not show a diffstat at the end of the merge - --stat show a diffstat at the end of the merge - --summary (synonym to --stat) - --log add list of one-line log to merge commit message - --squash create a single commit instead of doing a merge - --commit perform a commit if the merge succeeds (default) - --ff allow fast-forward (default) - --ff-only abort if fast-forward is not possible - --rerere-autoupdate update the index with reused conflict resolution if possible - -s, --strategy - merge strategy to use - -X, --strategy-option - option for selected merge strategy - -m, --message - message to be used for the merge commit (if any) - -v, --verbose be more verbose - -q, --quiet be more quiet - - # On branch master - nothing to commit (working directory clean) - ok - -What did I do wrong? - - - - - -"""]] From 76b9ca0799f999a7379cdf1458f50ee48ddef885 Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawlup4hyZo4eCjF8T85vfRXMKBxGj9bMdl0" Date: Mon, 20 Aug 2012 17:25:36 +0000 Subject: [PATCH 10/15] --- ...e_install_can__39__t_be_used_with_sudo.mdwn | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 doc/bugs/make_install_can__39__t_be_used_with_sudo.mdwn diff --git a/doc/bugs/make_install_can__39__t_be_used_with_sudo.mdwn b/doc/bugs/make_install_can__39__t_be_used_with_sudo.mdwn new file mode 100644 index 0000000000..6cb1365868 --- /dev/null +++ b/doc/bugs/make_install_can__39__t_be_used_with_sudo.mdwn @@ -0,0 +1,18 @@ +What steps will reproduce the problem? +In the git-annex tree, + + $ make + $ sudo make install + +What is the expected output? What do you see instead? + +One would expect git-annex to be installed in the configured prefix. Unfortunately, make tries to rebuild the "all" target before "install". This fails (presumably) due to incorrect environment state, + + ghc -O2 -Wall -ignore-package monads-fd -ignore-package monads-tf -outputdir tmp -IUtility -DWITH_ASSISTANT -DWITH_S3 -DWITH_INOTIFY --make git-annex Utility/libdiskfree.o + + Utility/FileSystemEncoding.hs:17:8: + Could not find module `Data.Bits.Utils': + Use -v to see a list of the files searched for. + make: *** [git-annex] Error 1 + +Removing "all" from the dependencies of "install" allows the process to run to completion, although this is clearly not a satisfactory solution. From 12165b739b7b66779ceb6df2bb9132766a40b3cd Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 20 Aug 2012 13:53:01 -0400 Subject: [PATCH 11/15] thank rsync.net for providing me with a free account there --- doc/assistant/thanks.mdwn | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/assistant/thanks.mdwn b/doc/assistant/thanks.mdwn index 35ee653208..871e99ea08 100644 --- a/doc/assistant/thanks.mdwn +++ b/doc/assistant/thanks.mdwn @@ -225,6 +225,8 @@ Cisneros, Mike Skoglund, Kristy Carey * The Git developers, for obvious reasons. * All of git-annex's early adopters, who turned it from a personal toy project into something much more, and showed me the interest was there. +* Rsync.net, for providing me a free account so I can make sure git-annex + works well with it. * Anna and Mark, for the loan of the video camera; as well as the rest of my family, for your support. Even when I couldn't explain what I was working on. From 0d721c8d6db3c0d54badb36359142322375c3c9e Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 20 Aug 2012 15:28:37 -0400 Subject: [PATCH 12/15] blog for the day --- .../assistant/blog/day_60__taking_stock.mdwn | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 doc/design/assistant/blog/day_60__taking_stock.mdwn diff --git a/doc/design/assistant/blog/day_60__taking_stock.mdwn b/doc/design/assistant/blog/day_60__taking_stock.mdwn new file mode 100644 index 0000000000..040d0cd7c1 --- /dev/null +++ b/doc/design/assistant/blog/day_60__taking_stock.mdwn @@ -0,0 +1,40 @@ +As I prepare to dive back into development, now is a good time to review +what I've built so far, and how well I'm keeping up with my planned +[[roadmap|assistant]]. + +I started working two and a half months ago, so am nearing the end of +the three months I originally asked to be funded for on Kickstarter. + +I've built much of what I planned to build in the first three months -- +[[inotify]] is done (and kqueue is basically working, but needs scalability +work), local [[syncing]] is done, the [[webapp]] works, and I've built some +of the first [[configurators]]. It's all functional in a narrow use case +involving syncing to removable drives. + +[[progressbars]] still need to be dealt with, and network syncing needs to +be revisited soon, so that I can start building easy configurators for +further use cases, like using the cloud, or another machine on the local +network. + +I think I'm a little behind my original schedule, but not too bad, +and at the same time, I think I've built things rather more solidly than I +expected them to be at this point. I'm particularly happy with how well +the inotify code works, no matter what is thrown at it, and how nice +the UI in the webapp is shaping up to be. + +---- + +I also need to get started on fulfilling my Kickstarter rewards, and +I was happy to spend some time in the airport working on the main +blocker toward that, a lack of a scalable git-annex logo, which is needed +for printing on swag. + +Turns out that inkscape has some amazing bitmap tracing capabilities. +I was able to come up with this scalable logo in short order, it +actually took longer to add back the colors, as the tracer generated a +black and white version. + +With that roadblock out of the way, I am moving toward ordering large +quantities of usb drives, etc. + +[[logo.svg]] From 0b495e3b8140d17de2b7f52dddd3ac9f4a15584d Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 20 Aug 2012 15:51:03 -0400 Subject: [PATCH 13/15] response --- .../fsck_thinks_file_content_is_bad_when_it_isn__39__t.mdwn | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/bugs/fsck_thinks_file_content_is_bad_when_it_isn__39__t.mdwn b/doc/bugs/fsck_thinks_file_content_is_bad_when_it_isn__39__t.mdwn index a676551e84..32f045bdf8 100644 --- a/doc/bugs/fsck_thinks_file_content_is_bad_when_it_isn__39__t.mdwn +++ b/doc/bugs/fsck_thinks_file_content_is_bad_when_it_isn__39__t.mdwn @@ -6,3 +6,5 @@ I can reproduce it locally, but don't know what's causing it. The file content i What version of git-annex are you using? On what operating system? git-annex version: 3.20120807 Ubuntu 12.04 updated on Aug 20th annex was installed via cabal on Aug 20th, all other packages are from ubuntu. + +> What is the error message from fsck? --[[Joey]] From db960871fd56176dcf6d6bb5f09b31c8dad8eed8 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 20 Aug 2012 16:02:41 -0400 Subject: [PATCH 14/15] use a stamp file to avoid running ghc in make install That fails when make install is run sudoed, but cabal has been used to install dependencies in a user's home directory. --- Makefile | 7 ++++--- doc/bugs/make_install_can__39__t_be_used_with_sudo.mdwn | 2 ++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 9997ed3a03..4dc28e9291 100644 --- a/Makefile +++ b/Makefile @@ -38,7 +38,8 @@ ifdef VIM all=fast endif -all: $(all) +build: $(all) + touch build-stamp sources: $(sources) @@ -74,7 +75,7 @@ install-docs: docs install-mans rsync -a --delete html/ $(DESTDIR)$(PREFIX)/share/doc/git-annex/html/; \ fi -install: all install-docs +install: build-stamp install-docs install -d $(DESTDIR)$(PREFIX)/bin install $(bins) $(DESTDIR)$(PREFIX)/bin ln -sf git-annex $(DESTDIR)$(PREFIX)/bin/git-annex-shell @@ -115,7 +116,7 @@ docs: $(mans) clean: rm -rf tmp $(bins) $(mans) test configure *.tix .hpc $(sources) \ - doc/.ikiwiki html dist $(clibs) + doc/.ikiwiki html dist $(clibs) build-stamp sdist: clean $(mans) ./make-sdist.sh diff --git a/doc/bugs/make_install_can__39__t_be_used_with_sudo.mdwn b/doc/bugs/make_install_can__39__t_be_used_with_sudo.mdwn index 6cb1365868..c43075e58c 100644 --- a/doc/bugs/make_install_can__39__t_be_used_with_sudo.mdwn +++ b/doc/bugs/make_install_can__39__t_be_used_with_sudo.mdwn @@ -16,3 +16,5 @@ One would expect git-annex to be installed in the configured prefix. Unfortunate make: *** [git-annex] Error 1 Removing "all" from the dependencies of "install" allows the process to run to completion, although this is clearly not a satisfactory solution. + +> [[fixed|done]] using an ugly stamp file. --[[Joey]] From 08db0b9fa3cbf49d465479fabfab0c8f1b521b1c Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 20 Aug 2012 16:03:47 -0400 Subject: [PATCH 15/15] ignore build-stamp --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index afb5f314e4..d9b1ad5fd8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ tmp test configure +build-stamp Build/SysConfig.hs git-annex git-annex.1