From 09d798f620e8968f2be57652216964c5497a0c39 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 10 May 2013 18:37:51 -0400 Subject: [PATCH 01/60] blog for the day --- .../day_260__Windows_dev_environment.mdwn | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 doc/design/assistant/blog/day_260__Windows_dev_environment.mdwn diff --git a/doc/design/assistant/blog/day_260__Windows_dev_environment.mdwn b/doc/design/assistant/blog/day_260__Windows_dev_environment.mdwn new file mode 100644 index 0000000000..4fa2ccf5a6 --- /dev/null +++ b/doc/design/assistant/blog/day_260__Windows_dev_environment.mdwn @@ -0,0 +1,46 @@ +Set up my Windows development environment. For future reference, I've +installed: + +* haskell platform for windows +* cygwin +* gcc and a full C toolchain in cygwin +* git from upstream (probably git-annex will use this) +* git in cygwin (the other git was not visible inside cygwin) +* vim in cygwin +* vim from upstream, as the cygwin vim is not very pleasant to use +* openssh in cygwin (seems to be missing a ssh server) +* rsync in cygwin +* Everything that `cabal install git-annex` is able to install successfully. + This includes all the libraries needed to build regular git-annex, + but not the webapp. Good start though. + +Result basically feels like a linux system that can't decide which way +slashes in paths go. :P I've never used Cygwin before (I last used a +Windows machine in 2003 for that matter), and it's a fairly impressive hack. + +---- + +Fixed up git-annex's configure program to run on Windows (or, at least, in +Cygwin), and have started getting git-annex to build. + +For now, I'm mostly stubbing out functions that use unix stuff. Gotten the +first 44 of 300 source files to build this way. + +Once I get it to build, if only with stubs, I'll have a good +idea about all the things I need to find Windows equivilants of. +Hopefully most of it will be provided by +. + +---- + +So that's the plan. There is a possible shortcut, rather than doing a full +port. It seems like it would probably not be too hard to rebuild ghc inside +Cygwin, and the resulting ghc would probably have a full POSIX emulation +layer going through cygwin. From ghc's documentation, it looks like that's +how ghc used to be built at some point in the past, so it would probably +not be too hard to build it that way. With such a cygwin ghc, git-annex +would probably build with little or no changes. However, it would be a +git-annex targeting Cygwin, and not really a native Windows port. So +it'd see Cygwin's emulated POSIX filesystem paths, etc. That +seems probably not ideal for most windows users.. but if I get really stuck +I may go back and try this method. From 3d29f50415c918c127ad5bf2b0470065974fc452 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 10 May 2013 15:36:31 -0500 Subject: [PATCH 02/60] only update version in cabal file on release builds This was being very annoying in windows. (cherry picked from commit 07b0bf4cee80cca9c0c6b666af3c67289ad5d072) --- Build/Configure.hs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/Build/Configure.hs b/Build/Configure.hs index 46a3a2452a..a448c5f020 100644 --- a/Build/Configure.hs +++ b/Build/Configure.hs @@ -9,6 +9,7 @@ import Control.Applicative import System.FilePath import System.Environment import Data.Maybe +import Control.Monad.IfElse import Build.TestConfig import Utility.SafeCommand @@ -81,19 +82,21 @@ testCp k option = TestCase cmd $ testCmd k cmdline cmd = "cp " ++ option cmdline = cmd ++ " " ++ testFile ++ " " ++ testFile ++ ".new" +{- For release builds, VERSION_FROM_CHANGELOG makes it use just the most + - recent version from the changelog. -} +isReleaseBuild :: IO Bool +isReleaseBuild = isJust <$> catchMaybeIO (getEnv "VERSION_FROM_CHANGELOG") + {- Version is usually based on the major version from the changelog, - plus the date of the last commit, plus the git rev of that commit. - This works for autobuilds, ad-hoc builds, etc. - - - For official builds, VERSION_FROM_CHANGELOG makes it use just the most - - recent version from the changelog. - - - If git or a git repo is not available, or something goes wrong, - just use the version from the changelog. -} getVersion :: Test getVersion = do changelogversion <- getChangelogVersion - version <- ifM (isJust <$> catchMaybeIO (getEnv "VERSION_FROM_CHANGELOG")) + version <- ifM (isReleaseBuild) ( return changelogversion , catchDefaultIO changelogversion $ do let major = takeWhile (/= '.') changelogversion @@ -160,7 +163,8 @@ run ts = do then writeSysConfig $ androidConfig config else writeSysConfig config cleanup - cabalSetup + whenM (isReleaseBuild) $ + cabalSetup {- Hard codes some settings to cross-compile for Android. -} androidConfig :: [Config] -> [Config] From 629dd2767c648b69235d97e42f8f3db807bc2cc1 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 10 May 2013 18:52:35 -0400 Subject: [PATCH 03/60] rename var --- Build/Configure.hs | 6 ++---- debian/rules | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/Build/Configure.hs b/Build/Configure.hs index a448c5f020..b269bc460b 100644 --- a/Build/Configure.hs +++ b/Build/Configure.hs @@ -82,17 +82,15 @@ testCp k option = TestCase cmd $ testCmd k cmdline cmd = "cp " ++ option cmdline = cmd ++ " " ++ testFile ++ " " ++ testFile ++ ".new" -{- For release builds, VERSION_FROM_CHANGELOG makes it use just the most - - recent version from the changelog. -} isReleaseBuild :: IO Bool -isReleaseBuild = isJust <$> catchMaybeIO (getEnv "VERSION_FROM_CHANGELOG") +isReleaseBuild = isJust <$> catchMaybeIO (getEnv "RELEASE_BUILD") {- Version is usually based on the major version from the changelog, - plus the date of the last commit, plus the git rev of that commit. - This works for autobuilds, ad-hoc builds, etc. - - If git or a git repo is not available, or something goes wrong, - - just use the version from the changelog. -} + - or this is a release build, just use the version from the changelog. -} getVersion :: Test getVersion = do changelogversion <- getChangelogVersion diff --git a/debian/rules b/debian/rules index da55968715..3a0511fa67 100755 --- a/debian/rules +++ b/debian/rules @@ -4,7 +4,7 @@ export CABAL=./Setup # Do use the changelog's version number, rather than making one up. -export VERSION_FROM_CHANGELOG=1 +export RELEASE_BUILD=1 %: dh $@ From e50c52d50c9d6d4f4ace9f17279fd81a13f7ac2c Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawkGCmVc5qIJaQQgG82Hc5zzBdAVdhe2JEM" Date: Fri, 10 May 2013 23:52:43 +0000 Subject: [PATCH 04/60] Added a comment --- ...comment_1_0b4a6e4893b0157e4768b46468dbbb87._comment | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 doc/design/assistant/blog/day_259__Android_dominos_toppling/comment_1_0b4a6e4893b0157e4768b46468dbbb87._comment diff --git a/doc/design/assistant/blog/day_259__Android_dominos_toppling/comment_1_0b4a6e4893b0157e4768b46468dbbb87._comment b/doc/design/assistant/blog/day_259__Android_dominos_toppling/comment_1_0b4a6e4893b0157e4768b46468dbbb87._comment new file mode 100644 index 0000000000..9e1f666aa1 --- /dev/null +++ b/doc/design/assistant/blog/day_259__Android_dominos_toppling/comment_1_0b4a6e4893b0157e4768b46468dbbb87._comment @@ -0,0 +1,10 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawkGCmVc5qIJaQQgG82Hc5zzBdAVdhe2JEM" + nickname="Bruno" + subject="comment 1" + date="2013-05-10T23:52:43Z" + content=""" +I have a 'Connection timed out' when I try to set-up my Gtalk account on my Nexus 4 (4.2.2). I tested it at home without a web proxy. + +Here's a screen capture: [http://i.imgur.com/RBcNjSv.png](http://i.imgur.com/RBcNjSv.png). +"""]] From 9d6bc8b8cd5c4c6c95a0d2bd990043c276a0e9ee Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawm5iosFbL2By7UFeViqkc6v-hoAtqILeDA" Date: Sat, 11 May 2013 05:36:49 +0000 Subject: [PATCH 05/60] Added a comment --- ..._ab4cb6eefd279e6c1f229e089f703581._comment | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 doc/bugs/Stress_test/comment_11_ab4cb6eefd279e6c1f229e089f703581._comment diff --git a/doc/bugs/Stress_test/comment_11_ab4cb6eefd279e6c1f229e089f703581._comment b/doc/bugs/Stress_test/comment_11_ab4cb6eefd279e6c1f229e089f703581._comment new file mode 100644 index 0000000000..05c409a514 --- /dev/null +++ b/doc/bugs/Stress_test/comment_11_ab4cb6eefd279e6c1f229e089f703581._comment @@ -0,0 +1,25 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawm5iosFbL2By7UFeViqkc6v-hoAtqILeDA" + nickname="Laszlo" + subject="comment 11" + date="2013-05-11T05:36:48Z" + content=""" +rechecksuming: it seem like it is indeed fixed in the newest (2013.05.01) version downloaded from here: +http://downloads.kitenet.net/git-annex/linux/ + +I tried to add the big stress test dir as a secondary repository into git-annex (along with my real data dir), but +seems like some library is not matching on my system, so some curl is complaining: + + curl: /lib/tls/i686/cmov/libc.so.6: version `GLIBC_2.12' not found (required by /home/user/Desktop/down/git-annex.linux//usr/lib/i386-linux-gnu/libldap_r-2.4.so.2) + +I'm on ubuntu 10.04. + +And the log file is starting to fill up, so maybe once a problem occur, it should only write into the log file once. + +I will redone this stress test next week, without combining with any repository. +Thank you very much for your response, I do appreciate you are bothering/dealing with my complains!:) + +Best, + Laszlo + +"""]] From 13783c5c75b2d4938cd1d605afc424e7f0de6444 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 11 May 2013 17:15:03 -0400 Subject: [PATCH 06/60] blog for the day --- ...day_261__Windows_first_stage_complete.mdwn | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 doc/design/assistant/blog/day_261__Windows_first_stage_complete.mdwn diff --git a/doc/design/assistant/blog/day_261__Windows_first_stage_complete.mdwn b/doc/design/assistant/blog/day_261__Windows_first_stage_complete.mdwn new file mode 100644 index 0000000000..d77772d4df --- /dev/null +++ b/doc/design/assistant/blog/day_261__Windows_first_stage_complete.mdwn @@ -0,0 +1,29 @@ +After working on it all day, git-annex now builds on Windows! + +Even better, `git annex init` works. So does `git annex status`, and +probably more. Not `git annex add` yet, so I wasn't able to try much more. + +I didn't have to add many stubs today, either. Many of the missing Windows +features were only used in code paths that made git-annex faster, but I +could fall back to a slower code path on Windows. + +The things that are most problimatic so far: + +* POSIX file locking. This is used in git-annex in several places to + make it safe when multiple git-annex processes are running. I put in + really horrible dotfile type locking in the Windows code paths, but I + don't trust it at all of course. +* There is, apparently, no way to set an environment variable in Windows + from Haskell. It is only possible to set up a new processes's environment + before starting it. Luckily most of the really crucial environment + variable stuff in git-annex is of this latter sort, but there were + a few places I had to stub out code that tries to manipulate git-annex's + own environment. + +The `windows` branch has a diff of 2089 lines. It add 88 ifdefs to the code +base. Only 12 functions are stubbed out on Windows. This could be so much +worse. + +Next step: Get the test suite to build. Currently ifdefed out because it +uses some stuff like `setEnv` and `changeWorkingDirectory` that I don't know +how to do in Windows yet. From b19172912e670d5e95a70e39f64f2363e1ec9690 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 11 May 2013 17:17:38 -0400 Subject: [PATCH 07/60] update --- doc/todo/windows_support.mdwn | 67 +++++------------------------------ 1 file changed, 8 insertions(+), 59 deletions(-) diff --git a/doc/todo/windows_support.mdwn b/doc/todo/windows_support.mdwn index c64e6fce5c..5e0993b5a4 100644 --- a/doc/todo/windows_support.mdwn +++ b/doc/todo/windows_support.mdwn @@ -1,61 +1,10 @@ -Can it be built on Windows? +The git-annex Windows port is not ready for prime time. But it does exist +now! --[[Joey]] -short answer: not yet +## status -First, you need to get some unix utilities for windows. Git of course. -Also rsync, and a `cp` command that understands at least `cp -p`, and -`uuid`, and `xargs` and `sha1sum`. Note that some of these could be -replaced with haskell libraries to some degree. - -There are probably still some places where it assumes / as a path -separator, although I fixed probably almost all by now. - -Then windows versions of these functions could be found, -which are all the ones that need POSIX, I think. A fair amount of this, -the stuff to do with signals and users, could be empty stubs in windows. -The file manipulation, particularly symlinks, would probably be the main -challenge. - -
-addSignal
-blockSignals
-changeWorkingDirectory
-createLink
-createSymbolicLink
-emptySignalSet
-executeFile
-fileMode
-fileSize
-forkProcess
-getAnyProcessStatus
-getEffectiveUserID
-getEnvDefault
-getFileStatus
-getProcessID
-getProcessStatus
-getSignalMask
-getSymbolicLinkStatus
-getUserEntryForID
-getUserEntryForName
-groupWriteMode
-homeDirectory
-installHandler
-intersectFileModes
-isRegularFile
-isSymbolicLink
-modificationTime
-otherWriteMode
-ownerWriteMode
-readSymbolicLink
-setEnv
-setFileMode
-setSignalMask
-sigCHLD
-sigINT
-unionFileModes
-
- -A good starting point is -. However, note -that its implementations of stuff like `createSymbolicLink` are stubs. ---[[Joey]] +* `git annex add` doesn't work +* test suite doesn't work +* Bad file locking, it's probably not safe to run more than one git-annex + process at the same time on Windows. +* No support for the assistant or webapp. From ff587d5261a4cae3d3588666f9c7c7538a677ba2 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 11 May 2013 17:18:05 -0400 Subject: [PATCH 08/60] update --- debian/changelog | 2 ++ 1 file changed, 2 insertions(+) diff --git a/debian/changelog b/debian/changelog index 9b485d13b7..4eb01a0ab0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,8 @@ git-annex (4.20130502) UNRELEASED; urgency=low * Android: The webapp is ported and working. + * Windows: There is a very rough Windows port. Do not trust it with + important data. * git-annex-shell: Ensure that received files can be read. Files transferred from some Android devices may have very broken permissions as received. From 1257e6de9608dde25b8557ddd60741f3ccba51af Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 11 May 2013 17:19:43 -0400 Subject: [PATCH 09/60] update --- doc/design/assistant.mdwn | 2 +- doc/design/assistant/windows.mdwn | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/doc/design/assistant.mdwn b/doc/design/assistant.mdwn index 55d3e42495..4b012e430f 100644 --- a/doc/design/assistant.mdwn +++ b/doc/design/assistant.mdwn @@ -26,7 +26,7 @@ We are, approximately, here: * [[OSX]] port is in fairly good shape, but still has some room for improvement * [[android]] port is zooming along -* Windows port does not exist yet +* [[Windows]] port is barely getting started ## not yet on the map: diff --git a/doc/design/assistant/windows.mdwn b/doc/design/assistant/windows.mdwn index 26ff2c1c66..78ab69febb 100644 --- a/doc/design/assistant/windows.mdwn +++ b/doc/design/assistant/windows.mdwn @@ -8,10 +8,7 @@ Stackoverflow has some details. NTFS supports symbolic links two different ways: an [[!wikipedia NTFS symbolic link]] and an [[!wikipedia NTFS_junction_point]]. The former seems like the closest analogue to POSIX symlinks. -Make git use them, as it (apparently) does not yet. - -Currently, on Windows, git checks out symlinks as files containing the symlink -target as their contents. +The windows port will not use symlinks. It will only support direct mode. ## POSIX From 36fcd1b5221a29bee3c5eb02424e1ae55f9af5ed Mon Sep 17 00:00:00 2001 From: Richard Hartmann Date: Sun, 12 May 2013 00:50:03 +0200 Subject: [PATCH 10/60] Grammo --- .../assistant/blog/day_261__Windows_first_stage_complete.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/design/assistant/blog/day_261__Windows_first_stage_complete.mdwn b/doc/design/assistant/blog/day_261__Windows_first_stage_complete.mdwn index d77772d4df..8107336f03 100644 --- a/doc/design/assistant/blog/day_261__Windows_first_stage_complete.mdwn +++ b/doc/design/assistant/blog/day_261__Windows_first_stage_complete.mdwn @@ -14,7 +14,7 @@ The things that are most problimatic so far: really horrible dotfile type locking in the Windows code paths, but I don't trust it at all of course. * There is, apparently, no way to set an environment variable in Windows - from Haskell. It is only possible to set up a new processes's environment + from Haskell. It is only possible to set up a new process' environment before starting it. Luckily most of the really crucial environment variable stuff in git-annex is of this latter sort, but there were a few places I had to stub out code that tries to manipulate git-annex's From 827b093d3bcaebfc16be017a009a9ae0c2a0c17a Mon Sep 17 00:00:00 2001 From: "https://openid.fmarier.org/" Date: Sun, 12 May 2013 08:37:39 +0000 Subject: [PATCH 11/60] Added a comment: Make sure your network is correctly set up in the first place! --- ...comment_7_17d44229e4fa46c50815672b96a9735a._comment | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 doc/assistant/local_pairing_walkthrough/comment_7_17d44229e4fa46c50815672b96a9735a._comment diff --git a/doc/assistant/local_pairing_walkthrough/comment_7_17d44229e4fa46c50815672b96a9735a._comment b/doc/assistant/local_pairing_walkthrough/comment_7_17d44229e4fa46c50815672b96a9735a._comment new file mode 100644 index 0000000000..84a921eab2 --- /dev/null +++ b/doc/assistant/local_pairing_walkthrough/comment_7_17d44229e4fa46c50815672b96a9735a._comment @@ -0,0 +1,10 @@ +[[!comment format=mdwn + username="https://openid.fmarier.org/" + nickname="fmarier" + subject="Make sure your network is correctly set up in the first place!" + date="2013-05-12T08:37:38Z" + content=""" +It turns out that my internal network had badly broken IPv6 configs between the boxes. That was interfering with the multicast packets but not with anything else since all of my other internal traffic is over IPv4. + +Getting rid of these static IPv6 addresses has solved my problem. Local pairing is now working as advertised :) +"""]] From 831825fb5de090bbfe85fe38805f6dcf5c626984 Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawlJemqsekZTC5dvc-MAByUWaBvsYE-mFUo" Date: Sun, 12 May 2013 12:02:43 +0000 Subject: [PATCH 12/60] Added a comment: Cabal dependencies --- ...ment_1_9afcd5ad37a5572cdf3e0cdb0f8f006c._comment | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 doc/install/comment_1_9afcd5ad37a5572cdf3e0cdb0f8f006c._comment diff --git a/doc/install/comment_1_9afcd5ad37a5572cdf3e0cdb0f8f006c._comment b/doc/install/comment_1_9afcd5ad37a5572cdf3e0cdb0f8f006c._comment new file mode 100644 index 0000000000..1a2109089d --- /dev/null +++ b/doc/install/comment_1_9afcd5ad37a5572cdf3e0cdb0f8f006c._comment @@ -0,0 +1,13 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawlJemqsekZTC5dvc-MAByUWaBvsYE-mFUo" + nickname="Gábor" + subject="Cabal dependencies" + date="2013-05-12T12:02:43Z" + content=""" +I would like to go the cabal way without knowing anything of Haskell, and assuming it is something like cpan for Perl. (Let me know if I'm wrong ;) ) +When I use the above command, I constantly experiencing failed installs because of missing packages. So far I had to install XML Sax, gsasl, c2hs, zlib (zlib1g-dev libghc-zlib-dev) with apt-get. +I'm using Ubuntu, and the repo version is very old. + +Could someone please list the dependencies at least by project name (not package name, but this would be better)? +Thanks in advance. +"""]] From c633334241f765441721b83c2ba8f01e5dcc786d Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawlJemqsekZTC5dvc-MAByUWaBvsYE-mFUo" Date: Sun, 12 May 2013 12:44:32 +0000 Subject: [PATCH 13/60] removed --- ...ment_1_9afcd5ad37a5572cdf3e0cdb0f8f006c._comment | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 doc/install/comment_1_9afcd5ad37a5572cdf3e0cdb0f8f006c._comment diff --git a/doc/install/comment_1_9afcd5ad37a5572cdf3e0cdb0f8f006c._comment b/doc/install/comment_1_9afcd5ad37a5572cdf3e0cdb0f8f006c._comment deleted file mode 100644 index 1a2109089d..0000000000 --- a/doc/install/comment_1_9afcd5ad37a5572cdf3e0cdb0f8f006c._comment +++ /dev/null @@ -1,13 +0,0 @@ -[[!comment format=mdwn - username="https://www.google.com/accounts/o8/id?id=AItOawlJemqsekZTC5dvc-MAByUWaBvsYE-mFUo" - nickname="Gábor" - subject="Cabal dependencies" - date="2013-05-12T12:02:43Z" - content=""" -I would like to go the cabal way without knowing anything of Haskell, and assuming it is something like cpan for Perl. (Let me know if I'm wrong ;) ) -When I use the above command, I constantly experiencing failed installs because of missing packages. So far I had to install XML Sax, gsasl, c2hs, zlib (zlib1g-dev libghc-zlib-dev) with apt-get. -I'm using Ubuntu, and the repo version is very old. - -Could someone please list the dependencies at least by project name (not package name, but this would be better)? -Thanks in advance. -"""]] From 98a50054555595d55bcdbc62866baf5c2f0fc9cc Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawlJemqsekZTC5dvc-MAByUWaBvsYE-mFUo" Date: Sun, 12 May 2013 12:52:20 +0000 Subject: [PATCH 14/60] Added a comment: Cabal dependencies --- ...1_f04df6bcd50d1d01eb34868bb00ac35c._comment | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 doc/install/comment_1_f04df6bcd50d1d01eb34868bb00ac35c._comment diff --git a/doc/install/comment_1_f04df6bcd50d1d01eb34868bb00ac35c._comment b/doc/install/comment_1_f04df6bcd50d1d01eb34868bb00ac35c._comment new file mode 100644 index 0000000000..b280d3d3de --- /dev/null +++ b/doc/install/comment_1_f04df6bcd50d1d01eb34868bb00ac35c._comment @@ -0,0 +1,18 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawlJemqsekZTC5dvc-MAByUWaBvsYE-mFUo" + nickname="Gábor" + subject="Cabal dependencies" + date="2013-05-12T12:52:20Z" + content=""" +After finishing the installation the cabal way, here are the packages I installed. It is possible that there are other packages I installed previously as dependency for other packages. + + $ lsb_release -a + No LSB modules are available. + Distributor ID: Ubuntu + Description: Ubuntu 12.04.2 LTS + Release: 12.04 + Codename: precise + + $ apt-get install cabal-install libgnutls28-dev libgsasl7-dev c2hs libghc-libxml-sax-dev zlib1g-dev libghc-zlib-dev + $ cabal install git-annex --bindir=$HOME/bin +"""]] From d7b984c2f91570990f3af461b4791f15d896797b Mon Sep 17 00:00:00 2001 From: "https://me.yahoo.com/a/bBy7WkgQicYHIiiyj.Vm0TcMbxi2quzbPFef#6f9f7" Date: Sun, 12 May 2013 14:04:29 +0000 Subject: [PATCH 15/60] Added a comment --- .../comment_7_43a0a7d222faee582aeb3150a59cef87._comment | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 doc/forum/Accessing_files_in_bare_repository/comment_7_43a0a7d222faee582aeb3150a59cef87._comment diff --git a/doc/forum/Accessing_files_in_bare_repository/comment_7_43a0a7d222faee582aeb3150a59cef87._comment b/doc/forum/Accessing_files_in_bare_repository/comment_7_43a0a7d222faee582aeb3150a59cef87._comment new file mode 100644 index 0000000000..7684b0c461 --- /dev/null +++ b/doc/forum/Accessing_files_in_bare_repository/comment_7_43a0a7d222faee582aeb3150a59cef87._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="https://me.yahoo.com/a/bBy7WkgQicYHIiiyj.Vm0TcMbxi2quzbPFef#6f9f7" + nickname="Frederik Vanrenterghem" + subject="comment 7" + date="2013-05-12T14:04:29Z" + content=""" +That all sounded very plausible, but for some reason it failed to work for me. I went back to basics and tried getting there by replicating steps 1 to 3 of the walkthrough, but also to no aval. I'll still try one more thing - setting up a local repository on the VPS and syncing it to my main one over XMPP. That seems rather convoluted given the bare repository is on the same server, but who knows... +"""]] From 4777878b9bbd5b7c96d869404d532c072a2caace Mon Sep 17 00:00:00 2001 From: "http://edheil.wordpress.com/" Date: Sun, 12 May 2013 19:06:14 +0000 Subject: [PATCH 16/60] Added a comment --- ...mment_8_ec1024235c1c74c113483a833df84654._comment | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 doc/forum/Accessing_files_in_bare_repository/comment_8_ec1024235c1c74c113483a833df84654._comment diff --git a/doc/forum/Accessing_files_in_bare_repository/comment_8_ec1024235c1c74c113483a833df84654._comment b/doc/forum/Accessing_files_in_bare_repository/comment_8_ec1024235c1c74c113483a833df84654._comment new file mode 100644 index 0000000000..e609a4c902 --- /dev/null +++ b/doc/forum/Accessing_files_in_bare_repository/comment_8_ec1024235c1c74c113483a833df84654._comment @@ -0,0 +1,12 @@ +[[!comment format=mdwn + username="http://edheil.wordpress.com/" + ip="173.162.44.162" + subject="comment 8" + date="2013-05-12T19:06:14Z" + content=""" +So what *does* show up? Is your repo an empty directory? Or are the symlinks that should point to content there? + +as far as git goes, are you on the master branch? *is* there a master branch? If you do \"git status\" what do you see? + +There's no reason this shouldn't work for you.... +"""]] From 5d417709390ce2f200c23a10302784bff05850a1 Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawmUJBh1lYmvfCCiGr3yrdx-QhuLCSRnU5c" Date: Sun, 12 May 2013 20:52:37 +0000 Subject: [PATCH 17/60] --- ...epo__47__.git__47__X__34___for_many_X.mdwn | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X.mdwn diff --git a/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X.mdwn b/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X.mdwn new file mode 100644 index 0000000000..aa34e859b7 --- /dev/null +++ b/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X.mdwn @@ -0,0 +1,34 @@ +I have some git repositories I don't edit often that I'd like to back up. I'd like to add these to my git annex, so I don't have to resort to a time-consuming hack (such as setting up a proper submodule, or bundling the repositories). + +But when I try to add a .git directory to git annex, I get a bunch of errors of the form + + git-annex: user error (xargs ["-0","git","--git-dir=/tmp/tmp.LhGN3nT9uM/annex/.git","--work-tree=/tmp/tmp.LhGN3nT9uM/annex","add","--"] exited 123) + failed + git-annex: add: 1 failed + add repo/.git/hooks/pre-push.sample ok + (Recording state in git...) + error: Invalid path 'repo/.git/hooks/pre-push.sample' + error: unable to add repo/.git/hooks/pre-push.sample to index + fatal: adding files failed + +STR: + + $ mkdir annex + $ cd annex + annex$ git init + annex$ git annex init + annex$ cd .. + + $ mkdir repo + $ cd repo + repo$ git init + repo$ cd .. + + $ mv repo annex + $ cd annex + annex$ find repo | xargs -n1 git annex add + # Lots of errors of the form above. + +You can't simply do `git annex add repo` because that will ignore the .git directory. Similarly,` git annex add .git` (which I'd think really should try to add the contents of the .git directory) ignores everything. + +I don't know what this error means. Is there a right way to work around this? From 5b43943fcbaad794195c8368c040122a30c8cd5e Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawmUJBh1lYmvfCCiGr3yrdx-QhuLCSRnU5c" Date: Sun, 12 May 2013 20:54:02 +0000 Subject: [PATCH 18/60] --- ...34__Invalid_path_repo__47__.git__47__X__34___for_many_X.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X.mdwn b/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X.mdwn index aa34e859b7..1fe288c30c 100644 --- a/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X.mdwn +++ b/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X.mdwn @@ -2,7 +2,7 @@ I have some git repositories I don't edit often that I'd like to back up. I'd l But when I try to add a .git directory to git annex, I get a bunch of errors of the form - git-annex: user error (xargs ["-0","git","--git-dir=/tmp/tmp.LhGN3nT9uM/annex/.git","--work-tree=/tmp/tmp.LhGN3nT9uM/annex","add","--"] exited 123) + git-annex: user error (xargs ["-0","git","--git-dir=/tmp/tmp.LhGN3nT9uM/annex/.git","--work-tree=/tmp/tmp.LhGN3nT9uM/annex","add","--"] exited 123) failed git-annex: add: 1 failed add repo/.git/hooks/pre-push.sample ok From ab768ab85a20d1f2431f1a07b14a7d693c132b72 Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawmUJBh1lYmvfCCiGr3yrdx-QhuLCSRnU5c" Date: Sun, 12 May 2013 20:54:17 +0000 Subject: [PATCH 19/60] --- ...34__Invalid_path_repo__47__.git__47__X__34___for_many_X.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X.mdwn b/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X.mdwn index 1fe288c30c..5cb10fd499 100644 --- a/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X.mdwn +++ b/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X.mdwn @@ -2,7 +2,7 @@ I have some git repositories I don't edit often that I'd like to back up. I'd l But when I try to add a .git directory to git annex, I get a bunch of errors of the form - git-annex: user error (xargs ["-0","git","--git-dir=/tmp/tmp.LhGN3nT9uM/annex/.git","--work-tree=/tmp/tmp.LhGN3nT9uM/annex","add","--"] exited 123) + git-annex: user error (xargs ["-0","git","--git-dir=/tmp/tmp.LhGN3nT9uM/annex/.git","--work-tree=/tmp/tmp.LhGN3nT9uM/annex","add","--"] exited 123) failed git-annex: add: 1 failed add repo/.git/hooks/pre-push.sample ok From 013c04011fd6abcc5e30db2f4050c28a8315b41e Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sun, 12 May 2013 17:40:38 -0400 Subject: [PATCH 20/60] blog for the day --- .../blog/day_262__DOS_path_separators.mdwn | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 doc/design/assistant/blog/day_262__DOS_path_separators.mdwn diff --git a/doc/design/assistant/blog/day_262__DOS_path_separators.mdwn b/doc/design/assistant/blog/day_262__DOS_path_separators.mdwn new file mode 100644 index 0000000000..a7f6c07cca --- /dev/null +++ b/doc/design/assistant/blog/day_262__DOS_path_separators.mdwn @@ -0,0 +1,14 @@ +It's remarkable that a bad decision made in 1982 can cause me to waste an +entire day in 2013. Yes, `/` vs `\` fun time. Even though I long ago +converted git-annex to use the haskell `` operator wherever it builds +up paths (which transparently handles either type of separator), I still +spent most of today dealing with it. Including some libraries I use that +get it wrong. Adding to the fun is that git uses `/` internally, even on +Windows, so Windows separated paths have to be converted when being fed +into git. + +Anyway, `git annex add` now works on Windows. So does `git annex find`, +and `git annex whereis`, and probably most query stuff. + +Today was very un-fun and left me with a splitting headache, so I will +certainly *not* be working on the Windows port tomorrow. From acdd8d4f5bedd900311a7139e54d7dcf594807ea Mon Sep 17 00:00:00 2001 From: Xyem Date: Sun, 12 May 2013 22:59:37 +0000 Subject: [PATCH 21/60] Added a comment --- ..._10b65168b6a54d960427966d7e3d05f5._comment | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 doc/bugs/assistant_does_not_warn_on_files_it_failed_to_add/comment_8_10b65168b6a54d960427966d7e3d05f5._comment diff --git a/doc/bugs/assistant_does_not_warn_on_files_it_failed_to_add/comment_8_10b65168b6a54d960427966d7e3d05f5._comment b/doc/bugs/assistant_does_not_warn_on_files_it_failed_to_add/comment_8_10b65168b6a54d960427966d7e3d05f5._comment new file mode 100644 index 0000000000..2cf9790e9e --- /dev/null +++ b/doc/bugs/assistant_does_not_warn_on_files_it_failed_to_add/comment_8_10b65168b6a54d960427966d7e3d05f5._comment @@ -0,0 +1,19 @@ +[[!comment format=mdwn + username="Xyem" + ip="87.194.19.134" + subject="comment 8" + date="2013-05-12T22:59:37Z" + content=""" +Just reproduced this issue on 4.20130417-g4bb97d5. Looks like the digesting is the failing part, but no indication as to why. + + [2013-05-12 23:23:21 BST] Watcher: file deleted test/SleepIsDeath_v16_UnixSource.tar.gz-{b8c941eb-baf0-46de-81fa-19d25aca05fb}.dtapart + [2013-05-12 23:23:21 BST] read: git [\"--git-dir=/home/xyem/annex/.git\",\"--work-tree=/home/xyem/annex\",\"ls-files\",\"--others\",\"--exclude-standard\",\"-z\",\"--\",\"test/SleepIsDeath_v16_UnixSource.tar.gz-{b8c941eb-baf0-46de-81fa-19d25aca05fb}.dtapart\",\"test/SleepIsDeath_v16_UnixSource.tar.gz\"] + [2013-05-12 23:23:21 BST] read: lsof [\"-F0can\",\"+d\",\"/home/xyem/annex/.git/annex/tmp/\"] + [2013-05-12 23:23:22 BST] Committer: Adding SleepIsDe..ce.tar.gz + add test/SleepIsDeath_v16_UnixSource.tar.gz (checksum...) [2013-05-12 23:23:22 BST] read: sha256sum [\"/home/xyem/annex/.git/annex/tmp/SleepIsDeath_v16_UnixSource.tar6479.gz\"] + failed + [2013-05-12 23:23:22 BST] Committer: committing 1 changes + [2013-05-12 23:23:22 BST] Committer: Committing changes to git + (Recording state in git...) + +"""]] From f2d7b6e0157b6bf62c3ab0e4fa4ba42bc067ebf1 Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawmUJBh1lYmvfCCiGr3yrdx-QhuLCSRnU5c" Date: Sun, 12 May 2013 23:05:49 +0000 Subject: [PATCH 22/60] --- doc/forum/How_do_I_dropunused_with_an_rsync_remote__63__.mdwn | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 doc/forum/How_do_I_dropunused_with_an_rsync_remote__63__.mdwn diff --git a/doc/forum/How_do_I_dropunused_with_an_rsync_remote__63__.mdwn b/doc/forum/How_do_I_dropunused_with_an_rsync_remote__63__.mdwn new file mode 100644 index 0000000000..c9a5a6c0a4 --- /dev/null +++ b/doc/forum/How_do_I_dropunused_with_an_rsync_remote__63__.mdwn @@ -0,0 +1,3 @@ +`git annex dropunused` is simple enough. + +But how do I perform the equivalent procedure on an rsync remote? I'd presume that `git annex copy --to remote` is not sufficient. From 149e29fc0371556b6648b4530a32b0362f27ce24 Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawmUJBh1lYmvfCCiGr3yrdx-QhuLCSRnU5c" Date: Sun, 12 May 2013 23:06:34 +0000 Subject: [PATCH 23/60] Added a comment --- .../comment_1_8db3cb5348b845eb99c2c829957db9ea._comment | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 doc/forum/How_do_I_dropunused_with_an_rsync_remote__63__/comment_1_8db3cb5348b845eb99c2c829957db9ea._comment diff --git a/doc/forum/How_do_I_dropunused_with_an_rsync_remote__63__/comment_1_8db3cb5348b845eb99c2c829957db9ea._comment b/doc/forum/How_do_I_dropunused_with_an_rsync_remote__63__/comment_1_8db3cb5348b845eb99c2c829957db9ea._comment new file mode 100644 index 0000000000..026d393bb5 --- /dev/null +++ b/doc/forum/How_do_I_dropunused_with_an_rsync_remote__63__/comment_1_8db3cb5348b845eb99c2c829957db9ea._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawmUJBh1lYmvfCCiGr3yrdx-QhuLCSRnU5c" + nickname="Justin" + subject="comment 1" + date="2013-05-12T23:06:34Z" + content=""" +Oh, sheesh, it's right there at the bottom of http://git-annex.branchable.com/special_remotes/. Oops. +"""]] From c7197b720b2daf1362d9f36a29a55b425853b2ac Mon Sep 17 00:00:00 2001 From: Xyem Date: Sun, 12 May 2013 23:34:51 +0000 Subject: [PATCH 24/60] Added a comment --- ..._b640e8fa6aafb041d66bbf8857a8fa3d._comment | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 doc/bugs/assistant_does_not_warn_on_files_it_failed_to_add/comment_9_b640e8fa6aafb041d66bbf8857a8fa3d._comment diff --git a/doc/bugs/assistant_does_not_warn_on_files_it_failed_to_add/comment_9_b640e8fa6aafb041d66bbf8857a8fa3d._comment b/doc/bugs/assistant_does_not_warn_on_files_it_failed_to_add/comment_9_b640e8fa6aafb041d66bbf8857a8fa3d._comment new file mode 100644 index 0000000000..738e1929fd --- /dev/null +++ b/doc/bugs/assistant_does_not_warn_on_files_it_failed_to_add/comment_9_b640e8fa6aafb041d66bbf8857a8fa3d._comment @@ -0,0 +1,44 @@ +[[!comment format=mdwn + username="Xyem" + ip="87.194.19.134" + subject="comment 9" + date="2013-05-12T23:34:51Z" + content=""" +Whoops. Upgraded to 4.20130501-g4a5bfb3 and reproduced it again. Looks like the file is being changed between the file being closed and git-annex trying to add it. + +Though I'm using DownThemAll, I have it set to \"1 segment\" so the file should only have 1 writer. +Looks like the file gets retried immediately and is being added okay though. + +Would it be worth me trying to log filesystem accesses with a passthrough FUSE filesystem to try and figure out what it going on? + + O'Reilly/Mind Performance Hacks/urn_x-domain_oreilly.com_product_9780596153113.EBOOK-{711cd6ac-12b9-4d4e-92d6-66caa9825cf4}.dtapart still has writers, not adding + [2013-05-13 00:18:29 BST] read: git [\"--git-dir=/home/xyem/annex/.git\",\"--work-tree=/home/xyem/annex\",\"ls-tree\",\"-z\",\"--\",\"refs/heads/git-annex\",\"uuid.log\",\"remote.log\",\"trust.log\",\"group.log\",\"preferred-content.log\"] + [2013-05-13 00:18:33 BST] Watcher: file deleted O'Reilly/Mind Performance Hacks/urn_x-domain_oreilly.com_product_9780596153113.EBOOK-{711cd6ac-12b9-4d4e-92d6-66caa9825cf4}.dtapart + [2013-05-13 00:18:33 BST] read: git [\"--git-dir=/home/xyem/annex/.git\",\"--work-tree=/home/xyem/annex\",\"ls-files\",\"--others\",\"--exclude-standard\",\"-z\",\"--\",\"O'Reilly/Mind Performance Hacks/urn_x-domain_oreilly.com_product_9780596153113.EBOOK-{711cd6ac-12b9-4d4e-92d6-66caa9825cf4}.dtapart\",\"O'Reilly/Mind Performance Hacks/Mind_Performance_Hacks.mobi\"] + [2013-05-13 00:18:33 BST] read: lsof [\"-F0can\",\"+d\",\"/home/xyem/annex/.git/annex/tmp/\"] + [2013-05-13 00:18:33 BST] Committer: Adding Mind_Perf..acks.mobi + add O'Reilly/Mind Performance Hacks/Mind_Performance_Hacks.mobi (checksum...) [2013-05-13 00:18:33 BST] read: sha256sum [\"/home/xyem/annex/.git/annex/tmp/Mind_Performance_Hacks13351.mobi\"] + + O'Reilly/Mind Performance Hacks/Mind_Performance_Hacks.mobi changed while it was being added + [2013-05-13 00:18:33 BST] Committer: delaying commit of 1 changes + failed + [2013-05-13 00:18:33 BST] Committer: committing 1 changes + [2013-05-13 00:18:33 BST] Committer: Committing changes to git + (Recording state in git...) + [2013-05-13 00:18:33 BST] feed: git [\"--git-dir=/home/xyem/annex/.git\",\"--work-tree=/home/xyem/annex\",\"update-index\",\"-z\",\"--index-info\"] + [2013-05-13 00:18:33 BST] read: git [\"--git-dir=/home/xyem/annex/.git\",\"--work-tree=/home/xyem/annex\",\"commit\",\"--allow-empty-message\",\"--no-edit\",\"-m\",\"\",\"--quiet\",\"--no-verify\"] + [2013-05-13 00:18:33 BST] read: git [\"--git-dir=/home/xyem/annex/.git\",\"--work-tree=/home/xyem/annex\",\"symbolic-ref\",\"HEAD\"] + [2013-05-13 00:18:33 BST] read: git [\"--git-dir=/home/xyem/annex/.git\",\"--work-tree=/home/xyem/annex\",\"show-ref\",\"refs/heads/master\"] + [2013-05-13 00:18:34 BST] read: git [\"--git-dir=/home/xyem/annex/.git\",\"--work-tree=/home/xyem/annex\",\"ls-files\",\"--others\",\"--exclude-standard\",\"-z\",\"--\",\"O'Reilly/Mind Performance Hacks/Mind_Performance_Hacks.mobi\"] + [2013-05-13 00:18:34 BST] read: lsof [\"-F0can\",\"+d\",\"/home/xyem/annex/.git/annex/tmp/\"] + [2013-05-13 00:18:34 BST] Committer: Adding Mind_Perf..acks.mobi + add O'Reilly/Mind Performance Hacks/Mind_Performance_Hacks.mobi (checksum...) [2013-05-13 00:18:34 BST] read: sha256sum [\"/home/xyem/annex/.git/annex/tmp/Mind_Performance_Hacks13351.mobi\"] + [2013ok + -05-13 00:18:34 BST] Watcher: file deleted O'Reilly/Mind Performance Hacks/Mind_Performance_Hacks.mobi + [2013-05-13 00:18:34 BST] Watcher: add symlink O'Reilly/Mind Performance Hacks/Mind_Performance_Hacks.mobi + [2013-05-13 00:18:34 BST] Committer: committing 2 changes + [2013-05-13 00:18:34 BST] chat: git [\"--git-dir=/home/xyem/annex/.git\",\"--work-tree=/home/xyem/annex\",\"hash-object\",\"-t\",\"blob\",\"-w\",\"--stdin\"] + [2013-05-13 00:18:34 BST] Committer: Committing changes to git + (Recording state in git...) + +"""]] From 5896d144e75bb234706c55a8c1594482c95e8fbf Mon Sep 17 00:00:00 2001 From: "https://me.yahoo.com/a/bBy7WkgQicYHIiiyj.Vm0TcMbxi2quzbPFef#6f9f7" Date: Sun, 12 May 2013 23:51:16 +0000 Subject: [PATCH 25/60] Added a comment --- ..._c156b8c1ae0f2905566bbdb13b84e577._comment | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 doc/forum/Accessing_files_in_bare_repository/comment_9_c156b8c1ae0f2905566bbdb13b84e577._comment diff --git a/doc/forum/Accessing_files_in_bare_repository/comment_9_c156b8c1ae0f2905566bbdb13b84e577._comment b/doc/forum/Accessing_files_in_bare_repository/comment_9_c156b8c1ae0f2905566bbdb13b84e577._comment new file mode 100644 index 0000000000..43b93b271c --- /dev/null +++ b/doc/forum/Accessing_files_in_bare_repository/comment_9_c156b8c1ae0f2905566bbdb13b84e577._comment @@ -0,0 +1,37 @@ +[[!comment format=mdwn + username="https://me.yahoo.com/a/bBy7WkgQicYHIiiyj.Vm0TcMbxi2quzbPFef#6f9f7" + nickname="Frederik Vanrenterghem" + subject="comment 9" + date="2013-05-12T23:51:16Z" + content=""" +I get the following: + +frederik@niihau:~/Documents$ git status +# On branch master +# +# Initial commit +# +nothing to commit (create/copy files and use \"git add\" to track) + +And this is the config: + +frederik@niihau:~/Documents$ cat .git/config +[core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true +[remote \"origin\"] + fetch = +refs/heads/*:refs/remotes/origin/* + url = /home/frederik/annex + annex-uuid = 1648a298-27aa-4cb1-xx-xxx +[annex] + uuid = 4406bd35-9ff7-4008-yy-yyy + version = 3 +[remote \"niihau\"] + url = /home/frederik/annex + fetch = +refs/heads/*:refs/remotes/niihau/* + annex-uuid = 1648a298-27aa-4cb1-xx-xxx + +Not having worked with git before, all this is still very new for me. I have 33M of data in the .git directory, mostly in objects, so it does seem to have synced something already. +"""]] From 0e8fa2e2cab586338d081e6c3afd8e6955320012 Mon Sep 17 00:00:00 2001 From: "http://edheil.wordpress.com/" Date: Mon, 13 May 2013 04:08:15 +0000 Subject: [PATCH 26/60] Added a comment --- ...omment_10_7eb66e3806f9524e043fae2da9d57d64._comment | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 doc/forum/Accessing_files_in_bare_repository/comment_10_7eb66e3806f9524e043fae2da9d57d64._comment diff --git a/doc/forum/Accessing_files_in_bare_repository/comment_10_7eb66e3806f9524e043fae2da9d57d64._comment b/doc/forum/Accessing_files_in_bare_repository/comment_10_7eb66e3806f9524e043fae2da9d57d64._comment new file mode 100644 index 0000000000..2b9bb86317 --- /dev/null +++ b/doc/forum/Accessing_files_in_bare_repository/comment_10_7eb66e3806f9524e043fae2da9d57d64._comment @@ -0,0 +1,10 @@ +[[!comment format=mdwn + username="http://edheil.wordpress.com/" + ip="173.162.44.162" + subject="comment 10" + date="2013-05-13T04:08:14Z" + content=""" +I'm not sure what's up. I hope Joey can weigh in. + +\"git annex sync\" ought to go get the symlinks from your remote, and merge them into your master branch, which is currently checked out, so you should see them. :( +"""]] From e2795e80af8d5cdf1c5a388aa2a22c1422c96b4d Mon Sep 17 00:00:00 2001 From: "http://jamesjustjames.wordpress.com/" Date: Mon, 13 May 2013 05:51:20 +0000 Subject: [PATCH 27/60] Added a comment: Isn't windows deprecated? --- ...comment_1_45ecae90b22e31202c21083980d6b567._comment | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 doc/design/assistant/blog/day_262__DOS_path_separators/comment_1_45ecae90b22e31202c21083980d6b567._comment diff --git a/doc/design/assistant/blog/day_262__DOS_path_separators/comment_1_45ecae90b22e31202c21083980d6b567._comment b/doc/design/assistant/blog/day_262__DOS_path_separators/comment_1_45ecae90b22e31202c21083980d6b567._comment new file mode 100644 index 0000000000..a024103a77 --- /dev/null +++ b/doc/design/assistant/blog/day_262__DOS_path_separators/comment_1_45ecae90b22e31202c21083980d6b567._comment @@ -0,0 +1,10 @@ +[[!comment format=mdwn + username="http://jamesjustjames.wordpress.com/" + nickname="purpleidea" + subject="Isn't windows deprecated?" + date="2013-05-13T05:51:20Z" + content=""" +I feel bad for you, however I respect you for keeping your promise to try and hack on Windows. I had to port over some code than ran beautifully on GNU/Linux and it was more trouble than it was worth. In the end it was never used :P + +Cheers! +"""]] From 1119294102326202fc644a81406f974340768798 Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawljcHBnBhazpDpk5k_9Wk9S_zA0hnjqdLQ" Date: Mon, 13 May 2013 08:06:01 +0000 Subject: [PATCH 28/60] --- doc/bugs/Local_files_not_found.mdwn | 48 +++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 doc/bugs/Local_files_not_found.mdwn diff --git a/doc/bugs/Local_files_not_found.mdwn b/doc/bugs/Local_files_not_found.mdwn new file mode 100644 index 0000000000..b7e8338376 --- /dev/null +++ b/doc/bugs/Local_files_not_found.mdwn @@ -0,0 +1,48 @@ +### Please describe the problem. + +I have a git annex repo which cannot find the files with whereis, even though the files and contents are there. I have changed ownership of all the files. I am not sure, but I think that is when the problem was introduced. The current user that is invoking git annex owns and can access all files in the repository/annex) + +Creating a new repository from scratch works just fine. + + +### What steps will reproduce the problem? + + # (in my current, somehow corrupt annex) + $ echo hello > testfile + $ git annex add testfile + add testfile (checksum...) ok + (Recording state in git...) + $ git commit -am testfile + [master 73ed120] testfile + 1 file changed, 1 insertion(+) + create mode 120000 testfile + $ git annex whereis testfile + whereis testfile (0 copies) failed + git-annex: whereis: 1 failed + + + # The contents exists though + $ ls -l testfile + lrwxrwxrwx 1 ftp ftp 176 May 13 09:43 testfile -> .git/annex/objects/P5/4q/SHA256-s6--5891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286a2e846f6be03/SHA256-s6--5891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286a2e846f6be03 + $ cat .git/annex/objects/P5/4q/SHA256-s6--5891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286a2e846f6be03/SHA256-s6--5891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286a2e846f6be03 + hello + $ sha256sum testfile + 5891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286a2e846f6be03 testfile + + + # the file can be found when unlocking/locking + $ git annex unlock testfile + unlock testfile (copying...) ok + $ git annex lock testfile + lock testfile ok + (Recording state in git...) + +### What version of git-annex are you using? On what operating system? +I ran Debian squeeze, with git annex 3.20120629~bpo60+2 when the problem was introduced. I just upgraded to wheezy, but the same problem exists with 3.20120629 from wheezy. + +I also manually installed 4.20130501 from unstable, which also showed the same problem. + + +### Please provide any additional information below. + +I am not sure what information to supply, please provide pointers on what information might be useful. From 5185533552b2ecbf40d18f5cfbc9c6f5cb37bf43 Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawljcHBnBhazpDpk5k_9Wk9S_zA0hnjqdLQ" Date: Mon, 13 May 2013 08:24:53 +0000 Subject: [PATCH 29/60] Added a comment --- ...mment_1_5e1fcc0597594fa493ffa28aa32e1df8._comment | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 doc/bugs/Local_files_not_found/comment_1_5e1fcc0597594fa493ffa28aa32e1df8._comment diff --git a/doc/bugs/Local_files_not_found/comment_1_5e1fcc0597594fa493ffa28aa32e1df8._comment b/doc/bugs/Local_files_not_found/comment_1_5e1fcc0597594fa493ffa28aa32e1df8._comment new file mode 100644 index 0000000000..72ed1e42f4 --- /dev/null +++ b/doc/bugs/Local_files_not_found/comment_1_5e1fcc0597594fa493ffa28aa32e1df8._comment @@ -0,0 +1,12 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawljcHBnBhazpDpk5k_9Wk9S_zA0hnjqdLQ" + nickname="Andreas" + subject="comment 1" + date="2013-05-13T08:24:50Z" + content=""" +Sorry for the noise - it turned out the local annex repository somehow had been marked as \"dead\" (as shown by git status). + +The fix was simply to git annex semitrust and it went back to life. + +I am not sure how this bug tracker works, but this bug report can be closed as invalid. Thanks for git annex! +"""]] From 9358c1fdf58de1e80e24c74d40fdb6be32f1b547 Mon Sep 17 00:00:00 2001 From: diepes Date: Mon, 13 May 2013 14:44:55 +0000 Subject: [PATCH 30/60] Added a comment: rsync.net support git and rsync, not git-annex --- ...nt_4_db84816c31239953dd21f23a8c557b43._comment | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 doc/special_remotes/rsync/comment_4_db84816c31239953dd21f23a8c557b43._comment diff --git a/doc/special_remotes/rsync/comment_4_db84816c31239953dd21f23a8c557b43._comment b/doc/special_remotes/rsync/comment_4_db84816c31239953dd21f23a8c557b43._comment new file mode 100644 index 0000000000..4e95fac20b --- /dev/null +++ b/doc/special_remotes/rsync/comment_4_db84816c31239953dd21f23a8c557b43._comment @@ -0,0 +1,15 @@ +[[!comment format=mdwn + username="diepes" + ip="41.160.8.49" + subject="rsync.net support git and rsync, not git-annex" + date="2013-05-13T14:44:53Z" + content=""" +how would i use rsync.net as a full repository ? (annex files and git repo) + +It support's rsync, and I discovered now git as well. + +I had a look at the webapp and can't figure out how to set it up, so I can have multiple remote's sync to rsync.net for annex files and git sync. + +Link: http://www.rsync.net/resources/howto/github_integration.html + +"""]] From 8f3c96887dbf1de5502bfbfe7502066488111dbc Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 13 May 2013 13:16:50 -0400 Subject: [PATCH 31/60] close --- doc/bugs/Local_files_not_found.mdwn | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/bugs/Local_files_not_found.mdwn b/doc/bugs/Local_files_not_found.mdwn index b7e8338376..b2843e35f3 100644 --- a/doc/bugs/Local_files_not_found.mdwn +++ b/doc/bugs/Local_files_not_found.mdwn @@ -46,3 +46,5 @@ I also manually installed 4.20130501 from unstable, which also showed the same p ### Please provide any additional information below. I am not sure what information to supply, please provide pointers on what information might be useful. + +> [[done]] per comment --[[Joey]] From 8e55f1314f84d98fe32852c4b623897103b2355b Mon Sep 17 00:00:00 2001 From: "http://joeyh.name/" Date: Mon, 13 May 2013 17:22:17 +0000 Subject: [PATCH 32/60] Added a comment --- .../comment_8_b9d4c29cf2cca0427808df6af08fb789._comment | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 doc/assistant/local_pairing_walkthrough/comment_8_b9d4c29cf2cca0427808df6af08fb789._comment diff --git a/doc/assistant/local_pairing_walkthrough/comment_8_b9d4c29cf2cca0427808df6af08fb789._comment b/doc/assistant/local_pairing_walkthrough/comment_8_b9d4c29cf2cca0427808df6af08fb789._comment new file mode 100644 index 0000000000..31a0f96742 --- /dev/null +++ b/doc/assistant/local_pairing_walkthrough/comment_8_b9d4c29cf2cca0427808df6af08fb789._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="http://joeyh.name/" + nickname="joey" + subject="comment 8" + date="2013-05-13T17:22:17Z" + content=""" +I don't understand how IPv6 could affect local pairing. The assistant does not currently do pairing over ipv6 due to a limitation in the multicast library it's using. +"""]] From f06b3fe4540c78e19ccf5eafbcaceb72e996db6f Mon Sep 17 00:00:00 2001 From: "http://joeyh.name/" Date: Mon, 13 May 2013 17:33:26 +0000 Subject: [PATCH 33/60] Added a comment --- ...omment_11_f0165d66865ad14f7eb5d50e900c1df4._comment | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 doc/forum/Accessing_files_in_bare_repository/comment_11_f0165d66865ad14f7eb5d50e900c1df4._comment diff --git a/doc/forum/Accessing_files_in_bare_repository/comment_11_f0165d66865ad14f7eb5d50e900c1df4._comment b/doc/forum/Accessing_files_in_bare_repository/comment_11_f0165d66865ad14f7eb5d50e900c1df4._comment new file mode 100644 index 0000000000..abacbc30e4 --- /dev/null +++ b/doc/forum/Accessing_files_in_bare_repository/comment_11_f0165d66865ad14f7eb5d50e900c1df4._comment @@ -0,0 +1,10 @@ +[[!comment format=mdwn + username="http://joeyh.name/" + nickname="joey" + subject="comment 11" + date="2013-05-13T17:33:26Z" + content=""" +When the assistant (or git annex sync) pushes to a repository, it creates a `synced/master` branch. So your bare repository has no regular `master` branch. So when you clone it, you get a repository with no branch checked out, which is what git-annex sync complains about. + +There are several solutions. The easiest is to run `git merge origin/synced/master`; then your checkout will have a master branch and you can use `git annex sync` from then on. +"""]] From 93ffe580dcc03711a1ee13c62ec5279c25d7934d Mon Sep 17 00:00:00 2001 From: "http://joeyh.name/" Date: Mon, 13 May 2013 17:36:31 +0000 Subject: [PATCH 34/60] Added a comment --- ...comment_1_7f54e24c8e721d69bdb1e5a4181641b8._comment | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_1_7f54e24c8e721d69bdb1e5a4181641b8._comment diff --git a/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_1_7f54e24c8e721d69bdb1e5a4181641b8._comment b/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_1_7f54e24c8e721d69bdb1e5a4181641b8._comment new file mode 100644 index 0000000000..45eebe10f5 --- /dev/null +++ b/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_1_7f54e24c8e721d69bdb1e5a4181641b8._comment @@ -0,0 +1,10 @@ +[[!comment format=mdwn + username="http://joeyh.name/" + nickname="joey" + subject="comment 1" + date="2013-05-13T17:36:31Z" + content=""" +It's a fairly fundamental limitation of git that you cannot check `.git` directories into a git repository. + +For backups and sneakernet transfers, `git bundle` is easy to use.. +"""]] From cd928eeed8ae5a81da278515f2f5bb27d2a256da Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 13 May 2013 13:40:41 -0400 Subject: [PATCH 35/60] reorg --- doc/install.mdwn | 10 ++-------- doc/install/cabal.mdwn | 5 ++++- ...comment_1_f04df6bcd50d1d01eb34868bb00ac35c._comment | 0 3 files changed, 6 insertions(+), 9 deletions(-) rename doc/install/{ => cabal}/comment_1_f04df6bcd50d1d01eb34868bb00ac35c._comment (100%) diff --git a/doc/install.mdwn b/doc/install.mdwn index 6c90d2c994..03f1464502 100644 --- a/doc/install.mdwn +++ b/doc/install.mdwn @@ -19,14 +19,8 @@ Windows | [[sorry, Windows not supported yet|todo/windows_support] ## Using cabal -As a haskell package, git-annex can be installed using cabal. -Start by installing the [Haskell Platform](http://hackage.haskell.org/platform/), -and then: - - cabal install git-annex --bindir=$HOME/bin - -That installs the latest release. Alternatively, you can [[download]] -git-annex yourself and [[manually_build_with_cabal|install/cabal]]. +As a haskell package, git-annex can be installed from source pretty easily +[[using cabal|cabal]]. ## Installation from scratch diff --git a/doc/install/cabal.mdwn b/doc/install/cabal.mdwn index 942ee60cd9..96e623d3b3 100644 --- a/doc/install/cabal.mdwn +++ b/doc/install/cabal.mdwn @@ -1,4 +1,7 @@ -As a haskell package, git-annex can be installed using cabal. For example: +As a haskell package, git-annex can be installed using cabal. + +Start by installing the [Haskell Platform](http://hackage.haskell.org/platform/), +and then: cabal update PATH=$HOME/bin:$PATH diff --git a/doc/install/comment_1_f04df6bcd50d1d01eb34868bb00ac35c._comment b/doc/install/cabal/comment_1_f04df6bcd50d1d01eb34868bb00ac35c._comment similarity index 100% rename from doc/install/comment_1_f04df6bcd50d1d01eb34868bb00ac35c._comment rename to doc/install/cabal/comment_1_f04df6bcd50d1d01eb34868bb00ac35c._comment From f6fee49227acbc3f257a7ac59be36dc81040dd42 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 13 May 2013 13:46:03 -0400 Subject: [PATCH 36/60] update for Windows --- doc/direct_mode.mdwn | 1 + doc/install.mdwn | 2 +- doc/install/Windows.mdwn | 8 ++++++++ 3 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 doc/install/Windows.mdwn diff --git a/doc/direct_mode.mdwn b/doc/direct_mode.mdwn index 4f6c7d4a7a..ee38b66d24 100644 --- a/doc/direct_mode.mdwn +++ b/doc/direct_mode.mdwn @@ -14,6 +14,7 @@ exceptions: * Repositories on FAT and other less than stellar filesystems that don't support things like symlinks will be automatically put into direct mode. +* Windows always uses direct mode. ## enabling (and disabling) direct mode diff --git a/doc/install.mdwn b/doc/install.mdwn index 03f1464502..03e92a6326 100644 --- a/doc/install.mdwn +++ b/doc/install.mdwn @@ -14,7 +14,7 @@ detailed instructions | quick install [[Gentoo]] | `emerge git-annex` [[ScientificLinux5]] | (and other RHEL5 clones like CentOS5) [[openSUSE]] | -Windows | [[sorry, Windows not supported yet|todo/windows_support]] +[[Windows]] | **alpha** """]] ## Using cabal diff --git a/doc/install/Windows.mdwn b/doc/install/Windows.mdwn new file mode 100644 index 0000000000..b30228e51a --- /dev/null +++ b/doc/install/Windows.mdwn @@ -0,0 +1,8 @@ +git-annex has recently been ported to Windows. + +This port is in an alpha state; many things will not work. See +[[todo/windows_support]] for current status. Note especially that +git-annex always uses [[direct_mode]] on Windows. + +To build git-annex from source on Windows, simply follow the instructions +for [[using cabal|cabal]]. From b28358509fbd6f1902cf64683aeea19a2a8e60d3 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 13 May 2013 13:47:11 -0400 Subject: [PATCH 37/60] update No need to edit Makefile to disable webapp build anymore; just build w/o dependencies installed. --- doc/install/fromscratch.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/install/fromscratch.mdwn b/doc/install/fromscratch.mdwn index cf8f95c4f6..5aa4fc6b34 100644 --- a/doc/install/fromscratch.mdwn +++ b/doc/install/fromscratch.mdwn @@ -21,7 +21,7 @@ quite a lot. * [SafeSemaphore](http://hackage.haskell.org/package/SafeSemaphore) * [UUID](http://hackage.haskell.org/package/uuid) * [regex-tdfa](http://hackage.haskell.org/package/regex-tdfa) -* Optional haskell stuff, used by the [[assistant]] and its webapp (edit Makefile to disable) +* Optional haskell stuff, used by the [[assistant]] and its webapp * [stm](http://hackage.haskell.org/package/stm) (version 2.3 or newer) * [hinotify](http://hackage.haskell.org/package/hinotify) From 0faf691e635c09a85b2c56c5fbb15e2b21dd812e Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawmUJBh1lYmvfCCiGr3yrdx-QhuLCSRnU5c" Date: Mon, 13 May 2013 17:53:06 +0000 Subject: [PATCH 38/60] Added a comment --- ...ent_2_6e91bc254f79ccf80d385ba7d35ffa9c._comment | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_2_6e91bc254f79ccf80d385ba7d35ffa9c._comment diff --git a/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_2_6e91bc254f79ccf80d385ba7d35ffa9c._comment b/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_2_6e91bc254f79ccf80d385ba7d35ffa9c._comment new file mode 100644 index 0000000000..c3be9b722b --- /dev/null +++ b/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_2_6e91bc254f79ccf80d385ba7d35ffa9c._comment @@ -0,0 +1,14 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawmUJBh1lYmvfCCiGr3yrdx-QhuLCSRnU5c" + nickname="Justin" + subject="comment 2" + date="2013-05-13T17:53:06Z" + content=""" +Be that as it may, the whole reason git-annex exists is to work around fundamental limitations of git! + +The issue is that I don't want to treat a folder which I happen to have applied version control to differently than a folder which happens not to be version controlled (aside from committing to the version-controlled folder, of course!). Both folders are in my git annex; I shouldn't have to worry about it. (My whole \"documents\" folder is in git annex, and it contains many small git repositories.) + +I guess I could write a script to unbundle and re-bundle on command. In fact, one could imagine integrating these scripts into git annex somehow. + +Is that something you'd consider taking upstream? +"""]] From ae1eaab953a34b9b8b07dd3039d3c2fece3a269b Mon Sep 17 00:00:00 2001 From: "http://joeyh.name/" Date: Mon, 13 May 2013 17:56:35 +0000 Subject: [PATCH 39/60] Added a comment --- ...mment_1_8db642849da4d42cd9a43142e2b7cb70._comment | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 doc/forum/Problems_syncing_with_box.com/comment_1_8db642849da4d42cd9a43142e2b7cb70._comment diff --git a/doc/forum/Problems_syncing_with_box.com/comment_1_8db642849da4d42cd9a43142e2b7cb70._comment b/doc/forum/Problems_syncing_with_box.com/comment_1_8db642849da4d42cd9a43142e2b7cb70._comment new file mode 100644 index 0000000000..b60fc03e0c --- /dev/null +++ b/doc/forum/Problems_syncing_with_box.com/comment_1_8db642849da4d42cd9a43142e2b7cb70._comment @@ -0,0 +1,12 @@ +[[!comment format=mdwn + username="http://joeyh.name/" + nickname="joey" + subject="comment 1" + date="2013-05-13T17:56:35Z" + content=""" +From what you've described, the box.com special remote is the only remote you have connecting your two computers. + +But special remotes are only used to transfer the contents of files. They do not have the content of the git repository. + +You need to set up a git remote that both computers can access. Or you can use the webapp to set up XMPP to sync between the computers directly. If you start the webapp, it will detect you're missing a git remote, and suggest setting up XMPP. [[/assistant/xmppnudge.png]] +"""]] From 0df26f3847a8b9ba4440c52dfdec355ba3ab57d1 Mon Sep 17 00:00:00 2001 From: "http://joeyh.name/" Date: Mon, 13 May 2013 18:00:42 +0000 Subject: [PATCH 40/60] Added a comment --- ...ment_3_6b9d8c48547f3d0a911310622ba91df7._comment | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 doc/forum/Cleaning_up_after_aborted_sync_in_direct_mode/comment_3_6b9d8c48547f3d0a911310622ba91df7._comment diff --git a/doc/forum/Cleaning_up_after_aborted_sync_in_direct_mode/comment_3_6b9d8c48547f3d0a911310622ba91df7._comment b/doc/forum/Cleaning_up_after_aborted_sync_in_direct_mode/comment_3_6b9d8c48547f3d0a911310622ba91df7._comment new file mode 100644 index 0000000000..b7d495dea4 --- /dev/null +++ b/doc/forum/Cleaning_up_after_aborted_sync_in_direct_mode/comment_3_6b9d8c48547f3d0a911310622ba91df7._comment @@ -0,0 +1,13 @@ +[[!comment format=mdwn + username="http://joeyh.name/" + nickname="joey" + subject="comment 3" + date="2013-05-13T18:00:42Z" + content=""" +This sounds like one or more bugs that I should address, but I'm having trouble understanding exactly what you did, from your description, at the level of detail I need to replicate a problem. + +Do you still have a copy of the corrupted repository? Or any error messages to show me? + +It sounds like at least one problem might have been this bug: [[bugs/Unable_to_switch_back_to_direct_mode]] +At least that is fixed in current git. +"""]] From b328666772940d7d4b687586bc9398d71fc57de0 Mon Sep 17 00:00:00 2001 From: "http://joeyh.name/" Date: Mon, 13 May 2013 18:03:23 +0000 Subject: [PATCH 41/60] Added a comment --- ...comment_2_6cc909d9d74bc1ccb8a7b0d7d234c7cd._comment | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 doc/forum/How_do_I_dropunused_with_an_rsync_remote__63__/comment_2_6cc909d9d74bc1ccb8a7b0d7d234c7cd._comment diff --git a/doc/forum/How_do_I_dropunused_with_an_rsync_remote__63__/comment_2_6cc909d9d74bc1ccb8a7b0d7d234c7cd._comment b/doc/forum/How_do_I_dropunused_with_an_rsync_remote__63__/comment_2_6cc909d9d74bc1ccb8a7b0d7d234c7cd._comment new file mode 100644 index 0000000000..2df92a8a36 --- /dev/null +++ b/doc/forum/How_do_I_dropunused_with_an_rsync_remote__63__/comment_2_6cc909d9d74bc1ccb8a7b0d7d234c7cd._comment @@ -0,0 +1,10 @@ +[[!comment format=mdwn + username="http://joeyh.name/" + nickname="joey" + subject="comment 2" + date="2013-05-13T18:03:23Z" + content=""" +Well, in your defense it's documented there because I can't think of a better place to put it. Maybe you looked in some other places first before finding it there, and I should add a pointer to those places? + +(For the curious, the magic run is just: git annex unused --from remote) +"""]] From 9cba80f07b3fc1b676f2240cb4d5c1faa1258e0a Mon Sep 17 00:00:00 2001 From: "http://joeyh.name/" Date: Mon, 13 May 2013 18:08:36 +0000 Subject: [PATCH 42/60] Added a comment --- ...mment_3_4cf34da6050dd96f94ffc3652aa39715._comment | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_3_4cf34da6050dd96f94ffc3652aa39715._comment diff --git a/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_3_4cf34da6050dd96f94ffc3652aa39715._comment b/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_3_4cf34da6050dd96f94ffc3652aa39715._comment new file mode 100644 index 0000000000..f7b07d3b6f --- /dev/null +++ b/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_3_4cf34da6050dd96f94ffc3652aa39715._comment @@ -0,0 +1,12 @@ +[[!comment format=mdwn + username="http://joeyh.name/" + nickname="joey" + subject="comment 3" + date="2013-05-13T18:08:36Z" + content=""" +Well, git-annex is all about working around *1* limitation of git. There are several other limitations that it would be nice to have tools to deal with better, including storing metadata, and this one. I can't take everything on. + +I mostly worry about these limitations in the context of naive users using the git-annex assistant for file sync. I have heard that some people put their git repositories in dropbox. + +You don't sound at all naive, so I'll suggest another tool I wrote, mr . With mr you can run a single command and operate on all repositories at or under a directory. +"""]] From c553f56634dd4b51cf46df5b696fe61a7dfe1fb2 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 13 May 2013 14:27:39 -0400 Subject: [PATCH 43/60] migrate: Detect if a file gets corrupted while it's being migrated. --- Command/Migrate.hs | 19 ++++++++++++------- debian/changelog | 1 + 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/Command/Migrate.hs b/Command/Migrate.hs index d8bfd74f17..0fdf0e8176 100644 --- a/Command/Migrate.hs +++ b/Command/Migrate.hs @@ -52,15 +52,20 @@ upgradableKey backend key = isNothing (Types.Key.keySize key) || backendupgradab {- Store the old backend's key in the new backend - The old backend's key is not dropped from it, because there may - - be other files still pointing at that key. -} + - be other files still pointing at that key. + - + - To ensure that the data we have for the old key is valid, it's + - fscked here. First we generate the new key. This ensures that the + - data cannot get corrupted after the fsck but before the new key is + - generated. + -} perform :: FilePath -> Key -> Backend -> Backend -> CommandPerform -perform file oldkey oldbackend newbackend = do - ifM (Command.Fsck.checkBackend oldbackend oldkey (Just file)) - ( maybe stop go =<< genkey - , stop - ) +perform file oldkey oldbackend newbackend = go =<< genkey where - go newkey = stopUnless (Command.ReKey.linkKey oldkey newkey) $ + go Nothing = stop + go (Just newkey) = stopUnless checkcontent $ finish newkey + checkcontent = Command.Fsck.checkBackend oldbackend oldkey $ Just file + finish newkey = stopUnless (Command.ReKey.linkKey oldkey newkey) $ next $ Command.ReKey.cleanup file oldkey newkey genkey = do content <- calcRepo $ gitAnnexLocation oldkey diff --git a/debian/changelog b/debian/changelog index 4eb01a0ab0..6b94c45596 100644 --- a/debian/changelog +++ b/debian/changelog @@ -23,6 +23,7 @@ git-annex (4.20130502) UNRELEASED; urgency=low * rsync special remotes: When sending from a crippled filesystem, use the destination's default file permissions, as the local ones can be arbitrarily broken. (Ie, ----rwxr-x for files on Android) + * migrate: Detect if a file gets corrupted while it's being migrated. -- Joey Hess Thu, 02 May 2013 20:39:19 -0400 From 5b82b4ecdd185e2334573b3cb0cb7680a460493f Mon Sep 17 00:00:00 2001 From: "http://joeyh.name/" Date: Mon, 13 May 2013 18:28:01 +0000 Subject: [PATCH 44/60] Added a comment --- ...omment_1_cef50b32c46f4406c6f918c5866ddc15._comment | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 doc/forum/Does_migrate_ensure_data_integrity__63__/comment_1_cef50b32c46f4406c6f918c5866ddc15._comment diff --git a/doc/forum/Does_migrate_ensure_data_integrity__63__/comment_1_cef50b32c46f4406c6f918c5866ddc15._comment b/doc/forum/Does_migrate_ensure_data_integrity__63__/comment_1_cef50b32c46f4406c6f918c5866ddc15._comment new file mode 100644 index 0000000000..7c819a8ca9 --- /dev/null +++ b/doc/forum/Does_migrate_ensure_data_integrity__63__/comment_1_cef50b32c46f4406c6f918c5866ddc15._comment @@ -0,0 +1,11 @@ +[[!comment format=mdwn + username="http://joeyh.name/" + nickname="joey" + subject="comment 1" + date="2013-05-13T18:28:01Z" + content=""" +I actually didn't originally consider this, but it turns out I have wonderful users, and you're at least the second to consider this case. + +So the released git-annex version does already verify the checksum when doing a migration. However, as I was checking this, I noticed +I had left a window between the verification and the generation of the new key for the migration. It's pretty unlikely a file would get corrupted just as it was being migrated, but that's no excuse. I've committed a change that reverses the order; so it generates a new key and then verifies the old one. +"""]] From 8ae91785466837db8bf4f0be68ebca97299c013b Mon Sep 17 00:00:00 2001 From: "http://joeyh.name/" Date: Mon, 13 May 2013 18:39:59 +0000 Subject: [PATCH 45/60] Added a comment --- ...ment_1_a58d83ee3a7c2251d9a775847223f8ca._comment | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 doc/forum/first-time_setup_git-annex/comment_1_a58d83ee3a7c2251d9a775847223f8ca._comment diff --git a/doc/forum/first-time_setup_git-annex/comment_1_a58d83ee3a7c2251d9a775847223f8ca._comment b/doc/forum/first-time_setup_git-annex/comment_1_a58d83ee3a7c2251d9a775847223f8ca._comment new file mode 100644 index 0000000000..8b86d7b179 --- /dev/null +++ b/doc/forum/first-time_setup_git-annex/comment_1_a58d83ee3a7c2251d9a775847223f8ca._comment @@ -0,0 +1,13 @@ +[[!comment format=mdwn + username="http://joeyh.name/" + nickname="joey" + subject="comment 1" + date="2013-05-13T18:39:59Z" + content=""" +Sorry it took so long to get back to you. + +You do not necessarily have to have git-annex installed on your web server. But it will open up one of the nicest ways to use git-annex with a server, which is to put a bare git repository on the server, and let git-annex send the contents of large files to that repository. It's fine to install any old version of git-annex on the server, they're all forwards and backwards compatable. + +In any case, you need git-annex installed on any computers where you want to access the repository, certainly. + +"""]] From 1cc8a3d33d8e7092597ff0967a30af22c1bfa61f Mon Sep 17 00:00:00 2001 From: "http://joeyh.name/" Date: Mon, 13 May 2013 18:42:14 +0000 Subject: [PATCH 46/60] Added a comment --- ...comment_7_347b0186755a809594bd42feda6363e2._comment | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 doc/tips/finding_duplicate_files/comment_7_347b0186755a809594bd42feda6363e2._comment diff --git a/doc/tips/finding_duplicate_files/comment_7_347b0186755a809594bd42feda6363e2._comment b/doc/tips/finding_duplicate_files/comment_7_347b0186755a809594bd42feda6363e2._comment new file mode 100644 index 0000000000..d97b0d500b --- /dev/null +++ b/doc/tips/finding_duplicate_files/comment_7_347b0186755a809594bd42feda6363e2._comment @@ -0,0 +1,10 @@ +[[!comment format=mdwn + username="http://joeyh.name/" + nickname="joey" + subject="comment 7" + date="2013-05-13T18:42:14Z" + content=""" +@Chris I guess there's no really easy way because searching for a given key is not something many people need to do. + +However, git does provide a way. Try `git log --stat -S $KEY` +"""]] From 2761157afb28d4d6d68af3e0d0a4aa8a91d03cc7 Mon Sep 17 00:00:00 2001 From: "http://joeyh.name/" Date: Mon, 13 May 2013 18:49:25 +0000 Subject: [PATCH 47/60] Added a comment --- ..._65dbcf3d8f6c16568f5a326242eab9c5._comment | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 doc/forum/webapp_listen_port_with_autostart/comment_1_65dbcf3d8f6c16568f5a326242eab9c5._comment diff --git a/doc/forum/webapp_listen_port_with_autostart/comment_1_65dbcf3d8f6c16568f5a326242eab9c5._comment b/doc/forum/webapp_listen_port_with_autostart/comment_1_65dbcf3d8f6c16568f5a326242eab9c5._comment new file mode 100644 index 0000000000..891081e22c --- /dev/null +++ b/doc/forum/webapp_listen_port_with_autostart/comment_1_65dbcf3d8f6c16568f5a326242eab9c5._comment @@ -0,0 +1,20 @@ +[[!comment format=mdwn + username="http://joeyh.name/" + nickname="joey" + subject="comment 1" + date="2013-05-13T18:49:25Z" + content=""" +Well, it would be possible to add a configuration setting in the repository that tells the assistant what address:port to listen on. + +But maybe it would be better to not use `assistant --autostart` in your situation? That command is basically the same as this shell script: + +[[!format sh \"\"\" +#!/bin/sh +for dir in $(cat $HOME/.config/git-annex/autostart); do + cd $dir + git annex webapp & +done +\"\"]] + +So you can write similar shell scripts that start the webapp with whatever options you like. +"""]] From 5a4dd9ae2a49fe881f42e21b4aed36e93870843e Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 13 May 2013 14:51:06 -0400 Subject: [PATCH 48/60] fix format --- .../comment_1_65dbcf3d8f6c16568f5a326242eab9c5._comment | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/forum/webapp_listen_port_with_autostart/comment_1_65dbcf3d8f6c16568f5a326242eab9c5._comment b/doc/forum/webapp_listen_port_with_autostart/comment_1_65dbcf3d8f6c16568f5a326242eab9c5._comment index 891081e22c..37bf745d27 100644 --- a/doc/forum/webapp_listen_port_with_autostart/comment_1_65dbcf3d8f6c16568f5a326242eab9c5._comment +++ b/doc/forum/webapp_listen_port_with_autostart/comment_1_65dbcf3d8f6c16568f5a326242eab9c5._comment @@ -8,13 +8,13 @@ Well, it would be possible to add a configuration setting in the repository that But maybe it would be better to not use `assistant --autostart` in your situation? That command is basically the same as this shell script: -[[!format sh \"\"\" +[[!format sh """ #!/bin/sh for dir in $(cat $HOME/.config/git-annex/autostart); do cd $dir git annex webapp & done -\"\"]] +"""]] So you can write similar shell scripts that start the webapp with whatever options you like. """]] From fd2ca596bcc2a60fbafa22cf0b744998e6ddbfbc Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 13 May 2013 14:52:14 -0400 Subject: [PATCH 49/60] oh, nested quoting --- .../comment_1_65dbcf3d8f6c16568f5a326242eab9c5._comment | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/forum/webapp_listen_port_with_autostart/comment_1_65dbcf3d8f6c16568f5a326242eab9c5._comment b/doc/forum/webapp_listen_port_with_autostart/comment_1_65dbcf3d8f6c16568f5a326242eab9c5._comment index 37bf745d27..0c430cf7c6 100644 --- a/doc/forum/webapp_listen_port_with_autostart/comment_1_65dbcf3d8f6c16568f5a326242eab9c5._comment +++ b/doc/forum/webapp_listen_port_with_autostart/comment_1_65dbcf3d8f6c16568f5a326242eab9c5._comment @@ -8,13 +8,13 @@ Well, it would be possible to add a configuration setting in the repository that But maybe it would be better to not use `assistant --autostart` in your situation? That command is basically the same as this shell script: -[[!format sh """ +[[!format sh " #!/bin/sh for dir in $(cat $HOME/.config/git-annex/autostart); do cd $dir git annex webapp & done -"""]] +"]] So you can write similar shell scripts that start the webapp with whatever options you like. """]] From 3c8ae19d9e25f1fa52dc5f28083e75f75c413fd9 Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawmUJBh1lYmvfCCiGr3yrdx-QhuLCSRnU5c" Date: Mon, 13 May 2013 18:56:33 +0000 Subject: [PATCH 50/60] Added a comment --- .../comment_3_f24d678e4192a70322aa164ed9b71fc8._comment | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 doc/forum/How_do_I_dropunused_with_an_rsync_remote__63__/comment_3_f24d678e4192a70322aa164ed9b71fc8._comment diff --git a/doc/forum/How_do_I_dropunused_with_an_rsync_remote__63__/comment_3_f24d678e4192a70322aa164ed9b71fc8._comment b/doc/forum/How_do_I_dropunused_with_an_rsync_remote__63__/comment_3_f24d678e4192a70322aa164ed9b71fc8._comment new file mode 100644 index 0000000000..2b53984c37 --- /dev/null +++ b/doc/forum/How_do_I_dropunused_with_an_rsync_remote__63__/comment_3_f24d678e4192a70322aa164ed9b71fc8._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawmUJBh1lYmvfCCiGr3yrdx-QhuLCSRnU5c" + nickname="Justin" + subject="comment 3" + date="2013-05-13T18:56:32Z" + content=""" +I think in general the `git annex command --help` bits could be more thorough. If `git annex dropunused --help` indicated that it took `--from`, that would probably have helped me. +"""]] From a12d0d689fdfb689cbcc06f7a94f70a1dad93b58 Mon Sep 17 00:00:00 2001 From: "http://joeyh.name/" Date: Mon, 13 May 2013 18:59:08 +0000 Subject: [PATCH 51/60] Added a comment --- ...nt_4_9233decd0aaf9211447f36e0d9346445._comment | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 doc/forum/How_do_I_dropunused_with_an_rsync_remote__63__/comment_4_9233decd0aaf9211447f36e0d9346445._comment diff --git a/doc/forum/How_do_I_dropunused_with_an_rsync_remote__63__/comment_4_9233decd0aaf9211447f36e0d9346445._comment b/doc/forum/How_do_I_dropunused_with_an_rsync_remote__63__/comment_4_9233decd0aaf9211447f36e0d9346445._comment new file mode 100644 index 0000000000..f326cd3400 --- /dev/null +++ b/doc/forum/How_do_I_dropunused_with_an_rsync_remote__63__/comment_4_9233decd0aaf9211447f36e0d9346445._comment @@ -0,0 +1,15 @@ +[[!comment format=mdwn + username="http://joeyh.name/" + nickname="joey" + subject="comment 4" + date="2013-05-13T18:59:08Z" + content=""" +You might be using an older version. Here's the output of that command in the current version: + +
+Usage: git-annex dropunused NUM|RANGE ... [option ...]
+  -f REMOTE  --from=REMOTE  drop content from a remote
+
+To see additional options common to all commands, run: git annex help options
+
+"""]] From 9be235a6328b19c8bdfaa03f8632bc9cbe51bd24 Mon Sep 17 00:00:00 2001 From: "http://joeyh.name/" Date: Mon, 13 May 2013 19:02:38 +0000 Subject: [PATCH 52/60] Added a comment --- ...mment_1_971224d2c0c0ce8d4530b1991508f849._comment | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 doc/bugs/Older_version_of_git_causes_Internal_Server_Error_when_push.default___61___simple/comment_1_971224d2c0c0ce8d4530b1991508f849._comment diff --git a/doc/bugs/Older_version_of_git_causes_Internal_Server_Error_when_push.default___61___simple/comment_1_971224d2c0c0ce8d4530b1991508f849._comment b/doc/bugs/Older_version_of_git_causes_Internal_Server_Error_when_push.default___61___simple/comment_1_971224d2c0c0ce8d4530b1991508f849._comment new file mode 100644 index 0000000000..2d5bb923bd --- /dev/null +++ b/doc/bugs/Older_version_of_git_causes_Internal_Server_Error_when_push.default___61___simple/comment_1_971224d2c0c0ce8d4530b1991508f849._comment @@ -0,0 +1,12 @@ +[[!comment format=mdwn + username="http://joeyh.name/" + nickname="joey" + subject="comment 1" + date="2013-05-13T19:02:38Z" + content=""" +I can't think of a way to make the assistant detect that `~/.gitconfig` contains settings not supported by the version of git bundled with git-annex. Even if I could detect it, what could it do? It could perhaps prevent the config file being used by git-annex, but that could have other unwanted consequences. + +An error message like this seems about as good as this situation can be handled. However, the version of git bundled with git-annex should be kept up-to-date to prevent this kind of problem as much as possible. I don't currently have a good way to ensure that happens; it takes whatever version of git is installed on the build system. + +I'm going to try to get the autobuilders all updated to git 1.8.2, at least. +"""]] From f87f3cd311e28b96867df525a13eab94e9a97701 Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawmUJBh1lYmvfCCiGr3yrdx-QhuLCSRnU5c" Date: Mon, 13 May 2013 19:07:12 +0000 Subject: [PATCH 53/60] Added a comment --- .../comment_5_e1deb110f752e5495d5c77ec444abac5._comment | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 doc/forum/How_do_I_dropunused_with_an_rsync_remote__63__/comment_5_e1deb110f752e5495d5c77ec444abac5._comment diff --git a/doc/forum/How_do_I_dropunused_with_an_rsync_remote__63__/comment_5_e1deb110f752e5495d5c77ec444abac5._comment b/doc/forum/How_do_I_dropunused_with_an_rsync_remote__63__/comment_5_e1deb110f752e5495d5c77ec444abac5._comment new file mode 100644 index 0000000000..e9ca6bc138 --- /dev/null +++ b/doc/forum/How_do_I_dropunused_with_an_rsync_remote__63__/comment_5_e1deb110f752e5495d5c77ec444abac5._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawmUJBh1lYmvfCCiGr3yrdx-QhuLCSRnU5c" + nickname="Justin" + subject="comment 5" + date="2013-05-13T19:07:11Z" + content=""" +Ah, rebuilding got me that. That's pretty good! +"""]] From ef00c4e0fabf069470c4768e875fecdd056b2a76 Mon Sep 17 00:00:00 2001 From: "http://joeyh.name/" Date: Mon, 13 May 2013 19:08:09 +0000 Subject: [PATCH 54/60] Added a comment --- .../comment_2_6866f96277dbe83a8aadcdeb426b6750._comment | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 doc/bugs/Older_version_of_git_causes_Internal_Server_Error_when_push.default___61___simple/comment_2_6866f96277dbe83a8aadcdeb426b6750._comment diff --git a/doc/bugs/Older_version_of_git_causes_Internal_Server_Error_when_push.default___61___simple/comment_2_6866f96277dbe83a8aadcdeb426b6750._comment b/doc/bugs/Older_version_of_git_causes_Internal_Server_Error_when_push.default___61___simple/comment_2_6866f96277dbe83a8aadcdeb426b6750._comment new file mode 100644 index 0000000000..fc4f165002 --- /dev/null +++ b/doc/bugs/Older_version_of_git_causes_Internal_Server_Error_when_push.default___61___simple/comment_2_6866f96277dbe83a8aadcdeb426b6750._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="http://joeyh.name/" + nickname="joey" + subject="comment 2" + date="2013-05-13T19:08:09Z" + content=""" +Done for both Linux autobuilds. OSX still needs updating; emailed the owners of those builds. +"""]] From 13b629c2086abc32d48e2dbe53c862ee7bc68d0a Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 13 May 2013 15:30:18 -0400 Subject: [PATCH 55/60] fix warnings --- Annex/Environment.hs | 1 - Utility/FileMode.hs | 1 - 2 files changed, 2 deletions(-) diff --git a/Annex/Environment.hs b/Annex/Environment.hs index d0cd93c2c2..472fc934ab 100644 --- a/Annex/Environment.hs +++ b/Annex/Environment.hs @@ -14,7 +14,6 @@ import Utility.UserInfo import qualified Git.Config import System.Posix.Env -import Network.BSD {- Checks that the system's environment allows git to function. - Git requires a GECOS username, or suitable git configuration, or diff --git a/Utility/FileMode.hs b/Utility/FileMode.hs index b6bb579b53..2ca4a46005 100644 --- a/Utility/FileMode.hs +++ b/Utility/FileMode.hs @@ -10,7 +10,6 @@ module Utility.FileMode where import Common import Control.Exception (bracket) -import Utility.Exception import System.Posix.Types import Foreign (complement) From 70b5d853710ae5208e2a8a4ac3f984b2b7078ea6 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 13 May 2013 20:00:45 -0400 Subject: [PATCH 56/60] update --- doc/todo/windows_support.mdwn | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/doc/todo/windows_support.mdwn b/doc/todo/windows_support.mdwn index 5e0993b5a4..200f8cea5c 100644 --- a/doc/todo/windows_support.mdwn +++ b/doc/todo/windows_support.mdwn @@ -3,7 +3,11 @@ now! --[[Joey]] ## status -* `git annex add` doesn't work +* git-annex fails to access a clone located on the local machine + (including other drives). It thinks that `c:\clone` is a ssh remote. + (When Cygwin's build of git is used to make the clone, it puts the + slashes the other way around in .git/config, which also doesn't work + for git-annex.) * test suite doesn't work * Bad file locking, it's probably not safe to run more than one git-annex process at the same time on Windows. From c01be2a0b0cd858854de51f139df4c496143b679 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 13 May 2013 20:53:27 -0400 Subject: [PATCH 57/60] blog for the day --- doc/design/assistant/blog/day_262__catching_up.mdwn | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 doc/design/assistant/blog/day_262__catching_up.mdwn diff --git a/doc/design/assistant/blog/day_262__catching_up.mdwn b/doc/design/assistant/blog/day_262__catching_up.mdwn new file mode 100644 index 0000000000..8158a34c62 --- /dev/null +++ b/doc/design/assistant/blog/day_262__catching_up.mdwn @@ -0,0 +1,9 @@ +Spent some time today to get caught up on bug reports and website traffic. +Fixed a few things. + +Did end up working on Windows for a while too. I got `git annex drop` +working. But nothing that moves content quite works yet.. + +I've run into a stumbling block with `rsync`. It thinks that +`C:\repo` is a path on a ssh server named "C". Seems I will need to translate +native windows paths to unix-style paths when running rsync. From 114a60fb9a9e0d8ef1ddb9b4cdf57649a927931b Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 14 May 2013 15:04:45 -0400 Subject: [PATCH 58/60] update --- doc/todo/windows_support.mdwn | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/todo/windows_support.mdwn b/doc/todo/windows_support.mdwn index 200f8cea5c..bd71f3f6f3 100644 --- a/doc/todo/windows_support.mdwn +++ b/doc/todo/windows_support.mdwn @@ -8,6 +8,9 @@ now! --[[Joey]] (When Cygwin's build of git is used to make the clone, it puts the slashes the other way around in .git/config, which also doesn't work for git-annex.) +* Does not work with Cygwin's build of git (that git does not consistently + support use of DOS style paths, which git-annex uses on Windows). + Must use the upstream build of git for Windows. * test suite doesn't work * Bad file locking, it's probably not safe to run more than one git-annex process at the same time on Windows. From 49e9296d5fbaa02206fa129eb429152a43dbc758 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 14 May 2013 15:14:11 -0400 Subject: [PATCH 59/60] update --- doc/install/Windows.mdwn | 6 ++++-- doc/todo/windows_support.mdwn | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/doc/install/Windows.mdwn b/doc/install/Windows.mdwn index b30228e51a..788f3b27d7 100644 --- a/doc/install/Windows.mdwn +++ b/doc/install/Windows.mdwn @@ -4,5 +4,7 @@ This port is in an alpha state; many things will not work. See [[todo/windows_support]] for current status. Note especially that git-annex always uses [[direct_mode]] on Windows. -To build git-annex from source on Windows, simply follow the instructions -for [[using cabal|cabal]]. +To build git-annex from source on Windows, you need to install +the Haskell Platform and Cygwin. When installing Cygwin, select +to install gcc, make, rsync, and ssh. Then, within Cygwin, git-annex +can be compiled following the instructions for [[using cabal|cabal]]. diff --git a/doc/todo/windows_support.mdwn b/doc/todo/windows_support.mdwn index bd71f3f6f3..777dd0c67b 100644 --- a/doc/todo/windows_support.mdwn +++ b/doc/todo/windows_support.mdwn @@ -9,8 +9,10 @@ now! --[[Joey]] slashes the other way around in .git/config, which also doesn't work for git-annex.) * Does not work with Cygwin's build of git (that git does not consistently - support use of DOS style paths, which git-annex uses on Windows). + support use of DOS style paths, which git-annex uses on Windows). Must use the upstream build of git for Windows. +* OTOH, you do need to install Cygwin's build of rsync (unless you can + find another one), and Cygwin's build of ssh. * test suite doesn't work * Bad file locking, it's probably not safe to run more than one git-annex process at the same time on Windows. From 81cded2b9dc2f59b5780f3d7cbdd95e6ca5a04e1 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 14 May 2013 15:27:39 -0400 Subject: [PATCH 60/60] detect local urls on DOS --- Git/Construct.hs | 10 ++++++++++ doc/todo/windows_support.mdwn | 5 ----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/Git/Construct.hs b/Git/Construct.hs index 633e50b6b9..23022eb957 100644 --- a/Git/Construct.hs +++ b/Git/Construct.hs @@ -21,6 +21,8 @@ module Git.Construct ( checkForRepo, ) where +{-# LANGUAGE CPP #-} + import System.Posix.User import qualified Data.Map as M hiding (map, split) import Network.URI @@ -139,6 +141,9 @@ fromRemoteLocation :: String -> Repo -> IO Repo fromRemoteLocation s repo = gen $ calcloc s where gen v +#ifdef __WINDOWS__ + | dosstyle v = fromRemotePath v repo +#endif | scpstyle v = fromUrl $ scptourl v | urlstyle v = fromUrl v | otherwise = fromRemotePath v repo @@ -172,6 +177,11 @@ fromRemoteLocation s repo = gen $ calcloc s | "/" `isPrefixOf` d = d | "~" `isPrefixOf` d = '/':d | otherwise = "/~/" ++ d +#ifdef __WINDOWS__ + -- git on Windows will write a path to .git/config with "drive:", + -- which is not to be confused with a "host:" + dosstyle = hasDrive +#endif {- Constructs a Repo from the path specified in the git remotes of - another Repo. -} diff --git a/doc/todo/windows_support.mdwn b/doc/todo/windows_support.mdwn index 777dd0c67b..a9276e2bed 100644 --- a/doc/todo/windows_support.mdwn +++ b/doc/todo/windows_support.mdwn @@ -3,11 +3,6 @@ now! --[[Joey]] ## status -* git-annex fails to access a clone located on the local machine - (including other drives). It thinks that `c:\clone` is a ssh remote. - (When Cygwin's build of git is used to make the clone, it puts the - slashes the other way around in .git/config, which also doesn't work - for git-annex.) * Does not work with Cygwin's build of git (that git does not consistently support use of DOS style paths, which git-annex uses on Windows). Must use the upstream build of git for Windows.