summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2013-08-09 12:22:21 -0400
committerGravatar Joey Hess <joey@kitenet.net>2013-08-09 12:22:21 -0400
commit81639bb5bc5cbcc2592c098da0b36e9f01bcc13e (patch)
tree3cf0130321e966935e61cf4858c5c3d459e38ea5
parentc170b5652cc4c1ecc6c2c640da742a6acefbfae7 (diff)
parent2eb4c748fce5fa2d1db1a34a71f8968c022dee0b (diff)
Merge branch 'master' of https://github.com/zyv/git-annex
-rw-r--r--doc/bugs/Git_annexed_files_symlink_are_wrong_when_submodule_is_not_in_the_same_path.mdwn63
-rw-r--r--doc/bugs/submodule_path_problem/comment_6_cacc91afcb1739dfca3a60590bb70356._comment67
-rw-r--r--doc/bugs/unfinished_repos_in_webapp/comment_2_ba0fbff536b1d067c4098db401dc49f2._comment10
-rw-r--r--doc/bugs/unfinished_repos_in_webapp/comment_3_fd554aa7d93117177784a29270ccf790._comment12
-rw-r--r--doc/forum/Can_we_have_remotes_that_aren__39__t_tracked__63___/comment_1_35e5a963b9e58ed7773dfcb884f8ecbd._comment10
-rw-r--r--doc/forum/non-bare_repo_on_cloud_remote/comment_2_71baea93f6caaf7b81a9ac00bee91e5e._comment67
-rw-r--r--doc/forum/unknown_response_from_git_cat-file/comment_1_f26ba569e715fe69b6de3093930362ee._comment8
-rw-r--r--doc/install/cabal/comment_12_b93ca271dffca3f948645d3e1326c1d9._comment12
-rw-r--r--standalone/windows/build.sh8
-rw-r--r--standalone/windows/haskell-patches/MissingH_1.2.0.0-0001-hack-around-strange-build-problem-in-jenkins-autobui.patch48
-rw-r--r--standalone/windows/haskell-patches/ccc5967426a14eb7e8978277ed4fa937f8e0c514.patch75
11 files changed, 329 insertions, 51 deletions
diff --git a/doc/bugs/Git_annexed_files_symlink_are_wrong_when_submodule_is_not_in_the_same_path.mdwn b/doc/bugs/Git_annexed_files_symlink_are_wrong_when_submodule_is_not_in_the_same_path.mdwn
new file mode 100644
index 000000000..3f58bd889
--- /dev/null
+++ b/doc/bugs/Git_annexed_files_symlink_are_wrong_when_submodule_is_not_in_the_same_path.mdwn
@@ -0,0 +1,63 @@
+Hi,
+I already have told about that in a comment here <http://git-annex.branchable.com/bugs/submodule_path_problem/#comment-e86330d15b714a41a07b6548fbc79bb2>, but I am not sure it will be seen.
+
+Then here is an official bug report.
+### Please describe the problem.
+
+I have a problem with submodules when the git repository is not a submodule everywhere.
+
+For instance, if A is a git annexed repository and B another git repository. If B adds A as submodules. The symlinks added in A as submodule won't work in the original A.
+
+### What steps will reproduce the problem?
+
+ # creating the master repository
+ mkdir annex_master
+ cd annex_master/
+ git init
+ # hack: adding a file to create the master branch
+ touch start
+ git add start
+ git commit -m "start"
+ cd ..
+ # create another repository
+ mkdir annex_sub
+ cd annex_sub/
+ git init
+ # hack: adding a file to create the master branch
+ touch start
+ git add start
+ git commit -m "start"
+ # it is a annexed repository
+ git annex init sub
+ # add the other repository as submodule of the master one
+ cd ../annex_master/
+ git submodule add ../annex_sub/ module
+ cd module/
+ git annex init sub_module
+ git annex sync origin
+ # add an annexed file
+ echo test > test
+ git annex add
+ git annex sync
+ # go back to the origin repository
+ cd ../../annex_sub/
+ git annex sync
+ ls -l
+This returns test -> ../.git/modules/module/annex/objects/w8/pv/SHA256E-s5--f2ca1bb6c7e907d06dafe4687e579fce76b37e4e93b7605022da52e6ccc26fd2/SHA256E-s5--f2ca1bb6c7e907d06dafe4687e579fce76b37e4e93b7605022da52e6ccc26fd2
+
+Actually, the file committed is correct. But the fact it points to '../.git/modules/module/...' makes the link work only if the repository is also a submodule and if this submodule is also located in the modules folder in the parent git repository.
+
+I tried playing with making the repository direct and then indirect, hoping that would fix the symlinks, but it did not work.
+### What version of git-annex are you using? On what operating system?
+
+ $ git-annex version
+ git-annex version: 4.20130802
+ ...
+
+ $ git --version
+ git version 1.8.3.2
+
+ $ uname -a
+ Linux konixwork 3.9-1-amd64 #1 SMP Debian 3.9.8-1 x86_64 GNU/Linux
+
+### Please provide any additional information below.
diff --git a/doc/bugs/submodule_path_problem/comment_6_cacc91afcb1739dfca3a60590bb70356._comment b/doc/bugs/submodule_path_problem/comment_6_cacc91afcb1739dfca3a60590bb70356._comment
new file mode 100644
index 000000000..1cae4ea98
--- /dev/null
+++ b/doc/bugs/submodule_path_problem/comment_6_cacc91afcb1739dfca3a60590bb70356._comment
@@ -0,0 +1,67 @@
+[[!comment format=mdwn
+ username="konubinix"
+ ip="82.243.233.186"
+ subject="Git annexed files symlink are wrong when submodule is not in the same path "
+ date="2013-08-08T06:36:10Z"
+ content="""
+Hi,
+
+First, thanks for the great tool that is git-annex!
+
+I have a problem with submodules when the git repository is not a submodule everywhere.
+
+ $ git-annex version
+ git-annex version: 4.20130802
+ ...
+
+ $ git --version
+ git version 1.8.3.2
+
+I try to have a repository has a submodule of another.
+
+ # creating the master repository
+ mkdir annex_master
+ cd annex_master/
+ git init
+ # hack: adding a file to create the master branch
+ touch start
+ git add start
+ git commit -m \"start\"
+ cd ..
+ # create another repository
+ mkdir annex_sub
+ cd annex_sub/
+ git init
+ # hack: adding a file to create the master branch
+ touch start
+ git add start
+ git commit -m \"start\"
+ # it is a annexed repository
+ git annex init sub
+ # add the other repository as submodule of the master one
+ cd ../annex_master/
+ git submodule add ../annex_sub/ module
+ cd module/
+ git annex init sub_module
+ git annex sync origin
+ # add an annexed file
+ echo test > test
+ git annex add
+ git annex sync
+ # go back to the origin repository
+ cd ../../annex_sub/
+ git annex sync
+ ls -l
+
+This returns
+test -> ../.git/modules/module/annex/objects/w8/pv/SHA256E-s5--f2ca1bb6c7e907d06dafe4687e579fce76b37e4e93b7605022da52e6ccc26fd2/SHA256E-s5--f2ca1bb6c7e907d06dafe4687e579fce76b37e4e93b7605022da52e6ccc26fd2
+
+Actually, the file committed is correct. But the fact it points to '../.git/modules/module/...' makes the link work only if the repository is also a submodule and if this submodule is also located in the modules folder in the parent git repository.
+
+I would expect, since this repository is not an annex:
+test -> .git/annex/objects/w8/pv/SHA256E-s5--f2ca1bb6c7e907d06dafe4687e579fce76b37e4e93b7605022da52e6ccc26fd2/SHA256E-s5--f2ca1bb6c7e907d06dafe4687e579fce76b37e4e93b7605022da52e6ccc26fd2
+
+Do you think that is possible?
+
+Thanks.
+"""]]
diff --git a/doc/bugs/unfinished_repos_in_webapp/comment_2_ba0fbff536b1d067c4098db401dc49f2._comment b/doc/bugs/unfinished_repos_in_webapp/comment_2_ba0fbff536b1d067c4098db401dc49f2._comment
new file mode 100644
index 000000000..8170a0175
--- /dev/null
+++ b/doc/bugs/unfinished_repos_in_webapp/comment_2_ba0fbff536b1d067c4098db401dc49f2._comment
@@ -0,0 +1,10 @@
+[[!comment format=mdwn
+ username="https://www.google.com/accounts/o8/id?id=AItOawnXybLxkPMYpP3yw4b_I6IdC3cKTD-xEdU"
+ nickname="Matt"
+ subject="comment 2"
+ date="2013-08-08T08:33:32Z"
+ content="""
+Hi, I've sorted this now. The IP address of my laptop had changed on the local network. Fixing it then let the new fix fully work and the in-progress status of the bad repo went away.
+
+Is it right that in the UI I don't see the local LAN configured branch (which I setup for speed) - it all seems to come under the jabber account now and makes an appropriate choice?
+"""]]
diff --git a/doc/bugs/unfinished_repos_in_webapp/comment_3_fd554aa7d93117177784a29270ccf790._comment b/doc/bugs/unfinished_repos_in_webapp/comment_3_fd554aa7d93117177784a29270ccf790._comment
new file mode 100644
index 000000000..cd21af092
--- /dev/null
+++ b/doc/bugs/unfinished_repos_in_webapp/comment_3_fd554aa7d93117177784a29270ccf790._comment
@@ -0,0 +1,12 @@
+[[!comment format=mdwn
+ username="https://www.google.com/accounts/o8/id?id=AItOawniayrgSdVLUc3c6bf93VbO-_HT4hzxmyo"
+ nickname="Tobias"
+ subject="comment 3"
+ date="2013-08-08T12:22:28Z"
+ content="""
+I also see `unfinished repository` in the assistant, but only at git remotes which don't have git-annex installed (f.e. gitlab). annex-ignore is set to true: `git config remote.gitlab.annex-ignore true`.
+
+Clicking on `check status` says `Setting up this repository seems to have stalled! Make sure the remote system is available and retry`
+
+git-annex version: 4.20130802-g1452ac3
+"""]]
diff --git a/doc/forum/Can_we_have_remotes_that_aren__39__t_tracked__63___/comment_1_35e5a963b9e58ed7773dfcb884f8ecbd._comment b/doc/forum/Can_we_have_remotes_that_aren__39__t_tracked__63___/comment_1_35e5a963b9e58ed7773dfcb884f8ecbd._comment
new file mode 100644
index 000000000..955c256ca
--- /dev/null
+++ b/doc/forum/Can_we_have_remotes_that_aren__39__t_tracked__63___/comment_1_35e5a963b9e58ed7773dfcb884f8ecbd._comment
@@ -0,0 +1,10 @@
+[[!comment format=mdwn
+ username="http://joeyh.name/"
+ ip="2001:4978:f:21a::2"
+ subject="comment 1"
+ date="2013-08-07T16:27:21Z"
+ content="""
+This seems like a reasonable request, so I've opened [[todo/untracked_remotes]]
+
+I will note that if you know the annex.uuid of the previous AAA repository, you can make the new one use that same uuid, just `git config annex.uuid $UUID`. (`git annex fsck --fast` would be a good idea after doing that.)
+"""]]
diff --git a/doc/forum/non-bare_repo_on_cloud_remote/comment_2_71baea93f6caaf7b81a9ac00bee91e5e._comment b/doc/forum/non-bare_repo_on_cloud_remote/comment_2_71baea93f6caaf7b81a9ac00bee91e5e._comment
new file mode 100644
index 000000000..145c57120
--- /dev/null
+++ b/doc/forum/non-bare_repo_on_cloud_remote/comment_2_71baea93f6caaf7b81a9ac00bee91e5e._comment
@@ -0,0 +1,67 @@
+[[!comment format=mdwn
+ username="https://www.google.com/accounts/o8/id?id=AItOawniayrgSdVLUc3c6bf93VbO-_HT4hzxmyo"
+ nickname="Tobias"
+ subject="comment 2"
+ date="2013-08-08T19:05:07Z"
+ content="""
+Seems that I don't get it... Here is what I did:
+
+First, I create a new repo with the assistant on `user@laptop ~/temp/annex-test`, then:
+
+ user@laptop ~/temp/annex-test % echo test1 > test1
+ user@laptop ~/temp/annex-test % echo test2 > test2
+
+ user@server ~/tmp % mkdir annex-test
+ user@server ~/tmp % cd annex-test
+ user@server ~/tmp/annex-test % git init
+ Initialized empty Git repository in /home/tobru/tmp/annex-test/.git/
+ user@server ~/tmp/annex-test % git annex init
+ init ok
+ (Recording state in git...)
+ user@server ~/tmp/annex-test % mv .git/hooks/post-update.sample .git/hooks/post-update
+ user@server ~/tmp/annex-test % cat .git/hooks/post-update
+ #!/bin/sh
+ #
+ # An example hook script to prepare a packed repository for use over
+ # dumb transports.
+ #
+ # To enable this hook, rename this file to \"post-update\".
+
+ exec git update-server-info
+ user@server ~/tmp/annex-test % chmod +x .git/hooks/post-update
+ user@server ~/tmp/annex-test % echo '#!/bin/sh\ngit annex merge' > .git/hooks/post-receive
+ user@server ~/tmp/annex-test % chmod +x .git/hooks/post-receive
+
+ user@laptop ~/temp/annex-test % git remote add server ssh://user@server/home/tobru/tmp/annex-test
+ user@laptop ~/temp/annex-test % git annex assistant --stop
+ user@laptop ~/temp/annex-test % git annex sync
+ commit
+ ok
+ pull server
+ warning: no common commits
+ remote: Counting objects: 5, done.
+ remote: Compressing objects: 100% (3/3), done.
+ remote: Total 5 (delta 1), reused 0 (delta 0)
+ Unpacking objects: 100% (5/5), done.
+ From ssh://server.tobru.local/home/tobru/tmp/annex-test
+ * [new branch] git-annex -> server/git-annex
+ ok
+ (merging server/git-annex into git-annex...)
+ (Recording state in git...)
+ push server
+ Counting objects: 27, done.
+ Delta compression using up to 4 threads.
+ Compressing objects: 100% (20/20), done.
+ Writing objects: 100% (25/25), 2.36 KiB, done.
+ Total 25 (delta 2), reused 0 (delta 0)
+ remote: merge git-annex (merging synced/git-annex into git-annex...)
+ remote: ok
+ To ssh://tobru@server.tobru.local/home/tobru/tmp/annex-test
+ * [new branch] git-annex -> synced/git-annex
+ * [new branch] master -> synced/master
+ ok
+ user@laptop ~/temp/annex-test % git annex assistant
+
+Now I expect the files `test1` and `test2` to be at `user@server ~/tmp/annex-test`. But they are not displayed.
+What am I doing wrong? The main thing I wan't to achieve: Push the files from `laptop` to `server` without adding `laptop` as remote on the server.
+"""]]
diff --git a/doc/forum/unknown_response_from_git_cat-file/comment_1_f26ba569e715fe69b6de3093930362ee._comment b/doc/forum/unknown_response_from_git_cat-file/comment_1_f26ba569e715fe69b6de3093930362ee._comment
new file mode 100644
index 000000000..0ddef17af
--- /dev/null
+++ b/doc/forum/unknown_response_from_git_cat-file/comment_1_f26ba569e715fe69b6de3093930362ee._comment
@@ -0,0 +1,8 @@
+[[!comment format=mdwn
+ username="http://joeyh.name/"
+ ip="2001:4978:f:21a::2"
+ subject="comment 1"
+ date="2013-08-07T16:34:18Z"
+ content="""
+This is a bug in the 1.8.4 pre-release version of git. It will be fixed in the 1.8.4 release or another pre-release. git-annex version 4.20130802 has a workaround for this problem.
+"""]]
diff --git a/doc/install/cabal/comment_12_b93ca271dffca3f948645d3e1326c1d9._comment b/doc/install/cabal/comment_12_b93ca271dffca3f948645d3e1326c1d9._comment
new file mode 100644
index 000000000..8d9c97898
--- /dev/null
+++ b/doc/install/cabal/comment_12_b93ca271dffca3f948645d3e1326c1d9._comment
@@ -0,0 +1,12 @@
+[[!comment format=mdwn
+ username="http://joeyh.name/"
+ ip="2001:4978:f:21a::2"
+ subject="comment 12"
+ date="2013-08-07T16:31:30Z"
+ content="""
+The Linux standalone builds for i386 and amd64 will not work on Arm systems.
+
+There are builds of git-annex for arm in eg, Debian. You should be able to use one of those if this system is running Debian. You may need to upgrade to eg, Debian stable, which includes git-annex.
+
+It looks like you have an old and/or broken GHC compiler too. You could upgrade that to a newer version (eg from Debian stable) and build it that way, but it seems like the long way around if you have a Debian system there.
+"""]]
diff --git a/standalone/windows/build.sh b/standalone/windows/build.sh
index f62bc14a0..670b418d0 100644
--- a/standalone/windows/build.sh
+++ b/standalone/windows/build.sh
@@ -26,10 +26,12 @@ rm -f git-annex-installer.exe
# for haskell libraries to link them with the cygwin library.
cabal update || true
-rm -rf MissingH-1.2.0.0
+MISSINGH_VERSION="1.2.0.1"
+
+rm -rf MissingH-${MISSINGH_VERSION}
cabal unpack MissingH
-cd MissingH-1.2.0.0
-withcyg patch -p1 <../standalone/windows/haskell-patches/MissingH_1.2.0.0-0001-hack-around-strange-build-problem-in-jenkins-autobui.patch
+cd MissingH-${MISSINGH_VERSION}
+withcyg patch -p1 <../standalone/windows/haskell-patches/ccc5967426a14eb7e8978277ed4fa937f8e0c514.patch
cabal install || true
cd ..
diff --git a/standalone/windows/haskell-patches/MissingH_1.2.0.0-0001-hack-around-strange-build-problem-in-jenkins-autobui.patch b/standalone/windows/haskell-patches/MissingH_1.2.0.0-0001-hack-around-strange-build-problem-in-jenkins-autobui.patch
deleted file mode 100644
index be18ff23f..000000000
--- a/standalone/windows/haskell-patches/MissingH_1.2.0.0-0001-hack-around-strange-build-problem-in-jenkins-autobui.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 93876dea5befa576c1324e25dcf2135ae1705427 Mon Sep 17 00:00:00 2001
-From: Joey Hess <joey@kitenet.net>
-Date: Fri, 17 May 2013 13:04:56 -0400
-Subject: [PATCH] hack around strange build problem in jenkins autobuilder
-
-src\System\IO\WindowsCompat.hs:123:41:
- Couldn't match expected type `System.Time.ClockTime'
- with actual type `time-1.4:Data.Time.Clock.UTC.UTCTime'
- In the first argument of `clockTimeToEpoch', namely `modct'
- In the expression: clockTimeToEpoch modct
- In an equation for `epochtime': epochtime = clockTimeToEpoch modct
-
-But it works on Windows here..
----
- src/System/IO/WindowsCompat.hs | 13 +++++++------
- 1 file changed, 7 insertions(+), 6 deletions(-)
-
-diff --git a/src/System/IO/WindowsCompat.hs b/src/System/IO/WindowsCompat.hs
-index 473490d..0eea21b 100644
---- a/src/System/IO/WindowsCompat.hs
-+++ b/src/System/IO/WindowsCompat.hs
-@@ -120,8 +119,10 @@ getFileStatus fp =
- do isfile <- doesFileExist fp
- isdir <- doesDirectoryExist fp
- perms <- getPermissions fp
-+ {-
- modct <- getModificationTime fp
-- let epochtime = clockTimeToEpoch modct
-+ let epochtime = clockTimeToEpoch $ modct
-+ -}
- return $ FileStatusCompat {deviceID = -1,
- fileID = -1,
- fileMode = if isfile then regularFileMode
-@@ -131,8 +132,8 @@ getFileStatus fp =
- fileGroup = 0,
- specialDeviceID = -1,
- fileSize = 0, -- fixme: hFileSize?
-- accessTime = fromInteger epochtime,
-- modificationTime = fromInteger epochtime,
-- statusChangeTime = fromInteger epochtime
-+ accessTime = undefined, -- fromInteger epochtime,
-+ modificationTime = undefined, -- fromInteger epochtime,
-+ statusChangeTime = undefined -- fromInteger epochtime
- }
- #endif
---
-1.8.3.rc1
-
diff --git a/standalone/windows/haskell-patches/ccc5967426a14eb7e8978277ed4fa937f8e0c514.patch b/standalone/windows/haskell-patches/ccc5967426a14eb7e8978277ed4fa937f8e0c514.patch
new file mode 100644
index 000000000..02b6bd63d
--- /dev/null
+++ b/standalone/windows/haskell-patches/ccc5967426a14eb7e8978277ed4fa937f8e0c514.patch
@@ -0,0 +1,75 @@
+From 017b26c0198d6982e47600b66235d01990e49fef Mon Sep 17 00:00:00 2001
+From: mvoidex <voidex@live.com>
+Date: Fri, 18 Jan 2013 15:22:03 +0400
+Subject: [PATCH 1/2] Fixed error (getModificationTime returns UTCTime, not
+ ClockTime)
+
+---
+ src/System/IO/WindowsCompat.hs | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/src/System/IO/WindowsCompat.hs b/src/System/IO/WindowsCompat.hs
+index d910dca..38820bb 100644
+--- a/src/System/IO/WindowsCompat.hs
++++ b/src/System/IO/WindowsCompat.hs
+@@ -56,6 +56,8 @@ import System.IO.StatCompat
+ import System.Posix.Consts
+ import System.Time.Utils
+ import System.Directory
++import Data.Time
++import Data.Time.Clock.POSIX
+
+ -- these types aren't defined here
+
+@@ -112,6 +114,9 @@ otherModes = 0o00007
+ accessModes :: FileMode
+ accessModes = ownerModes .|. groupModes .|. otherModes
+
++utcTimeToSeconds :: Num a => UTCTime -> a
++utcTimeToSeconds = fromInteger . floor . utcTimeToPOSIXSeconds
++
+ ----------- stat
+ type FileStatus = FileStatusCompat
+ getFileStatus :: FilePath -> IO FileStatus
+@@ -120,7 +125,7 @@ getFileStatus fp =
+ isdir <- doesDirectoryExist fp
+ perms <- getPermissions fp
+ modct <- getModificationTime fp
+- let epochtime = clockTimeToEpoch modct
++ let epochtime = utcTimeToSeconds modct
+ return $ FileStatusCompat {deviceID = -1,
+ fileID = -1,
+ fileMode = if isfile then regularFileMode
+--
+1.8.1.6
+
+
+From 6991e46b613fd929fd8e9bc49ae13c003a3b740c Mon Sep 17 00:00:00 2001
+From: Hamish Mackenzie <Hamish.K.Mackenzie@googlemail.com>
+Date: Sun, 12 May 2013 18:08:16 +1200
+Subject: [PATCH 2/2] Fix for older versions of directory (where
+ getModificationTime still returns ClockTime)
+
+---
+ src/System/IO/WindowsCompat.hs | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/System/IO/WindowsCompat.hs b/src/System/IO/WindowsCompat.hs
+index 38820bb..8f7b476 100644
+--- a/src/System/IO/WindowsCompat.hs
++++ b/src/System/IO/WindowsCompat.hs
+@@ -125,7 +125,11 @@ getFileStatus fp =
+ isdir <- doesDirectoryExist fp
+ perms <- getPermissions fp
+ modct <- getModificationTime fp
++#if MIN_VERSION_directory(1,2,0)
+ let epochtime = utcTimeToSeconds modct
++#else
++ let epochtime = clockTimeToEpoch modct
++#endif
+ return $ FileStatusCompat {deviceID = -1,
+ fileID = -1,
+ fileMode = if isfile then regularFileMode
+--
+1.8.1.6
+