Commit graph

623 commits

Author SHA1 Message Date
http://joey.kitenet.net/
0f8a8ef4a5 Added a comment 2012-01-27 21:00:06 +00:00
Joey Hess
0bb3a31a6e old version? 2012-01-27 16:50:27 -04:00
https://www.google.com/accounts/o8/id?id=AItOawk6QAwUsFHpr3Km1yQbg8hf3S7RDYf7hX4
ba6f01b137 2012-01-27 08:12:48 +00:00
https://www.google.com/accounts/o8/id?id=AItOawk6QAwUsFHpr3Km1yQbg8hf3S7RDYf7hX4
9b91db8254 Added a comment 2012-01-26 22:13:19 +00:00
https://openid.stackexchange.com/user/fd55c6e3-966a-4626-865f-5d0f73e1eb88
728d7e96e0 un-tangle unrelated posts 2012-01-15 20:48:26 +00:00
https://openid.stackexchange.com/user/fd55c6e3-966a-4626-865f-5d0f73e1eb88
37d42ed1e7 rename bugs/__91__Installation__93___There_is_no_available_version_of_quickcheck_that_satisfies___62____61__2.1.mdwn to forum/__91__Installation__93___There_is_no_available_version_of_quickcheck_that_satisfies___62____61__2.1.mdwn 2012-01-15 19:20:29 +00:00
Joey Hess
ba6ca1bc23 no, really, I fixed it 2012-01-15 15:07:01 -04:00
https://openid.stackexchange.com/user/fd55c6e3-966a-4626-865f-5d0f73e1eb88
14113f84b5 re-opened. proposed solution doesn't help. 2012-01-15 19:02:06 +00:00
Joey Hess
37b5b1bf0d Fix QuickCheck dependency in cabal file. 2012-01-15 13:53:51 -04:00
https://openid.stackexchange.com/user/fd55c6e3-966a-4626-865f-5d0f73e1eb88
072a3f2c99 2012-01-15 17:22:49 +00:00
Joey Hess
1ae780ee79 git-annex, git-union-merge: Support GIT_DIR and GIT_WORK_TREE.
Note that GIT_WORK_TREE cannot influence GIT_DIR; that is necessary for
git-fake-bare and vcsh type things to work.
2012-01-13 12:52:09 -04:00
Joey Hess
daff9029ba close 2012-01-13 12:09:02 -04:00
Joey Hess
9e2ab6f1aa add 2012-01-13 10:26:47 -04:00
Joey Hess
2051d80462 close 2012-01-05 23:42:06 -04:00
https://www.google.com/accounts/o8/id?id=AItOawkey8WuXUh_x5JC2c9_it1CYRnVTgdGu1M
3b450cb6bc Added a comment: Thank you! 2012-01-06 03:38:33 +00:00
http://joey.kitenet.net/
cdcf0aac71 Added a comment 2012-01-06 03:08:28 +00:00
http://joey.kitenet.net/
8858c24210 Added a comment 2012-01-06 03:04:35 +00:00
https://www.google.com/accounts/o8/id?id=AItOawkey8WuXUh_x5JC2c9_it1CYRnVTgdGu1M
2f2e0f7e0e 2012-01-06 01:41:27 +00:00
https://www.google.com/accounts/o8/id?id=AItOawkey8WuXUh_x5JC2c9_it1CYRnVTgdGu1M
79b95aae09 2012-01-06 01:40:45 +00:00
https://www.google.com/accounts/o8/id?id=AItOawkey8WuXUh_x5JC2c9_it1CYRnVTgdGu1M
9cb3303a27 2012-01-06 01:40:04 +00:00
https://www.google.com/accounts/o8/id?id=AItOawkey8WuXUh_x5JC2c9_it1CYRnVTgdGu1M
aedd4c1984 2012-01-06 01:31:40 +00:00
https://www.google.com/accounts/o8/id?id=AItOawkey8WuXUh_x5JC2c9_it1CYRnVTgdGu1M
17d8646164 2012-01-06 01:27:53 +00:00
https://www.google.com/accounts/o8/id?id=AItOawkey8WuXUh_x5JC2c9_it1CYRnVTgdGu1M
47d98bb446 2012-01-06 01:27:26 +00:00
https://www.google.com/accounts/o8/id?id=AItOawkey8WuXUh_x5JC2c9_it1CYRnVTgdGu1M
ba0c3eb904 2012-01-06 01:25:08 +00:00
Joey Hess
7e6a54f984 Added quickcheck to build dependencies, and fail if test suite cannot be built. 2012-01-03 14:52:20 -04:00
http://peter-simons.myopenid.com/
390982414b Added a comment 2012-01-03 18:09:42 +00:00
http://joey.kitenet.net/
69875de8ea Added a comment 2012-01-03 16:54:19 +00:00
http://peter-simons.myopenid.com/
b6e7b44a12 2012-01-03 16:32:35 +00:00
http://a-or-b.myopenid.com/
17735698f6 Added a comment 2012-01-03 00:49:43 +00:00
http://joey.kitenet.net/
ddc4b3de33 Added a comment 2012-01-03 00:41:08 +00:00
http://joey.kitenet.net/
eec59e7362 Added a comment 2012-01-03 00:35:00 +00:00
http://a-or-b.myopenid.com/
3e678b1140 2012-01-03 00:10:45 +00:00
http://joey.kitenet.net/
c87a814046 Added a comment 2011-12-24 16:49:13 +00:00
http://www.joachim-breitner.de/
ab1435310c Added a comment 2011-12-24 12:51:43 +00:00
http://www.joachim-breitner.de/
ffe9973ed5 Added a comment 2011-12-24 12:49:41 +00:00
http://adamspiers.myopenid.com/
4eafd43cce Added a comment: Any update on this? 2011-12-24 01:05:08 +00:00
http://joey.kitenet.net/
92de7c8dcd Added a comment 2011-12-20 14:56:12 +00:00
http://adamspiers.myopenid.com/
0de4341c97 Added a comment 2011-12-20 12:00:18 +00:00
Joey Hess
f0f84dbe48 close 2011-12-19 14:31:33 -04:00
http://joey.kitenet.net/
9b32d02a24 Added a comment 2011-12-19 18:22:25 +00:00
http://adamspiers.myopenid.com/
e341cdf0da Added a comment: extra level of indirection 2011-12-19 12:45:19 +00:00
http://www.joachim-breitner.de/
3f01795a26 2011-12-18 11:59:11 +00:00
http://gebi.myopenid.com/
ec11908799 2011-12-16 00:13:54 +00:00
Joey Hess
c4c965d602 detect and recover from branch push/commit race
Dealing with a race without using locking is exceedingly difficult and tricky.
Fully tested, I hope.

There are three places left where the branch can be updated, that are not
covered by the race recovery code. Let's prove they're all immune to the
race:

1. tryFastForwardTo checks to see if a fast-forward can be done,
   and then does git-update-ref on the branch to fast-forward it.

   If a push comes in before the check, then either no fast-forward
   will be done (ok), or the push set the branch to a ref that can
   still be fast-forwarded (also ok)

   If a push comes in after the check, the git-update-ref will
   undo the ref change made by the push. It's as if the push did not come
   in, and the next git-push will see this, and try to re-do it.
   (acceptable)

2. When creating the branch for the very first time, an empty index
   is created, and a commit of it made to the branch. The commit's ref
   is recorded as the current state of the index. If a push came in
   during that, it will be noticed the next time a commit is made to the
   branch, since the branch will have changed. (ok)

3. Creating the branch from an existing remote branch involves making
   the branch, and then getting its ref, and recording that the index
   reflects that ref.

   If a push creates the branch first, git-branch will fail (ok).

   If the branch is created and a racing push is then able to change it
   (highly unlikely!) we're still ok, because it first records the ref into
   the index.lck, and then updating the index. The race can cause the
   index.lck to have the old branch ref, while the index has the newly pushed
   branch merged into it, but that only results in an unnecessary update of
   the index file later on.
2011-12-11 20:41:35 -04:00
Joey Hess
81f311103d a new bug report to track a race 2011-12-11 16:41:56 -04:00
Joey Hess
0236bb020b update 2011-12-11 16:19:54 -04:00
Joey Hess
8680c415de slow, stupid, and safe index updating
Always merge the git-annex branch into .git/annex/index before making a
commit from the index.

This ensures that, when the branch has been changed in any way
(by a push being received, or changes pulled directly into it, or
even by the user checking it out, and committing a change), the index
reflects those changes.

This is much too slow; it needs to be optimised to only update the
index when the branch has really changed, not every time.

Also, there is an unhandled race, when a change is made to the branch
right after the index gets updated. I left it in for now because it's
unlikely and I didn't want to complicate things with additional locking
yet.
2011-12-11 15:05:53 -04:00
Joey Hess
59971c9230 new bug 2011-12-11 14:47:44 -04:00
Joey Hess
bf6a3b757a close 2011-12-11 01:15:27 -04:00
Joey Hess
10e8028a42 Fix bug in last version in getting contents from bare repositories. 2011-12-10 18:45:55 -04:00
http://schnouki.net/
bfdc9f28fc 2011-12-10 21:40:01 +00:00
Joey Hess
e3f1568e0f Fix caching of decrypted ciphers, which failed when drop had to check multiple different encrypted special remotes. 2011-12-08 16:01:46 -04:00
http://gebi.myopenid.com/
2568beee07 2011-12-08 14:24:08 +00:00
Joey Hess
5926be6f30 response 2011-12-07 12:36:15 -04:00
http://gebi.myopenid.com/
51b7b82870 2011-12-07 05:48:47 +00:00
http://gebi.myopenid.com/
919d58667a 2011-12-07 03:20:43 +00:00
Joey Hess
6f221f1fc3 response 2011-12-06 17:06:08 -04:00
http://gebi.myopenid.com/
adb1dc65bc 2011-12-06 20:25:06 +00:00
Joey Hess
480495beb4 Prevent key names from containing newlines.
There are several places where it's assumed a key can be written on one
line. One is in the format of the .git/annex/unused files. The difficult
one is that filenames derived from keys are fed into git cat-file --batch,
which has a line based input. (And no -z option.)

So, for now it's best to block such keys being created.
2011-12-06 13:03:09 -04:00
http://joey.kitenet.net/
cf5353acb4 Added a comment 2011-12-06 16:49:32 +00:00
https://www.google.com/accounts/o8/id?id=AItOawnXybLxkPMYpP3yw4b_I6IdC3cKTD-xEdU
01f7c74d1f 2011-12-06 13:05:11 +00:00
Joey Hess
7b08584c55 close 2011-12-02 16:59:09 -04:00
Joey Hess
6f29f9db72 rename 2011-12-02 16:15:18 -04:00
Joey Hess
f4bf444ae0 store content in hashDirLower directories in bare repositories
When storing content in bare repositories, use the hashDirLower
directories. Bare repositories can be on USB drives, which might
use the FAT filesystem, and fall afoul of recent bugs in linux's handling
of mixed case on FAT. Using hashDirLower avoids that.
2011-11-28 22:55:40 -04:00
Joey Hess
6869e6023e support .git/annex on a different disk than the rest of the repo
The only fully supported thing is to have the main repository on one disk,
and .git/annex on another. Only commands that move data in/out of the annex
will need to copy it across devices.

There is only partial support for putting arbitrary subdirectories of
.git/annex on different devices. For one thing, but this can require more
copies to be done. For example, when .git/annex/tmp is on one device, and
.git/annex/journal on another, every journal write involves a call to
mv(1). Also, there are a few places that make hard links between various
subdirectories of .git/annex with createLink, that are not handled.

In the common case without cross-device, the new moveFile is actually
faster than renameFile, avoiding an unncessary stat to check that a file
(not a directory) is being moved. Of course if a cross-device move is
needed, it is as slow as mv(1) of the data.
2011-11-28 16:17:55 -04:00
Joey Hess
ff2d9c8283 response 2011-11-27 17:09:29 -04:00
http://hcs.furuvik.net/
178a49af75 2011-11-27 20:52:15 +00:00
Joey Hess
2bf3addf49 Bugfix: dropunused did not drop keys with two spaces in their name. 2011-11-27 13:50:05 -04:00
https://www.google.com/accounts/o8/id?id=AItOawnBJ6Dv1glxzzi4qIzGFNa6F-mfHIvv9Ck
ba1ec2c60f 2011-11-25 05:56:59 +00:00
Joey Hess
75a590bdd8 Put a workaround in the directory special remote for strange behavior with VFAT filesystems on Linux (mounted with shortname=mixed) 2011-11-22 18:21:28 -04:00
http://joey.kitenet.net/
fd81b5047b Added a comment 2011-11-22 21:01:14 +00:00
http://joey.kitenet.net/
112399bf1a Added a comment 2011-11-22 20:59:55 +00:00
https://www.google.com/accounts/o8/id?id=AItOawnBJ6Dv1glxzzi4qIzGFNa6F-mfHIvv9Ck
6d7e990dca Added a comment 2011-11-22 20:35:03 +00:00
http://joey.kitenet.net/
eeda534e9a Added a comment 2011-11-22 19:56:55 +00:00
https://www.google.com/accounts/o8/id?id=AItOawnBJ6Dv1glxzzi4qIzGFNa6F-mfHIvv9Ck
b1c601ac8c Added a comment: Case sensitivity 2011-11-22 18:51:04 +00:00
Joey Hess
fc2f0e8b1a response; cannot reproduce 2011-11-22 12:37:51 -04:00
https://www.google.com/accounts/o8/id?id=AItOawnBJ6Dv1glxzzi4qIzGFNa6F-mfHIvv9Ck
35b4706958 2011-11-22 07:09:24 +00:00
Joey Hess
2768be7136 response 2011-11-20 14:19:03 -04:00
https://www.google.com/accounts/o8/id?id=AItOawnBJ6Dv1glxzzi4qIzGFNa6F-mfHIvv9Ck
1de00df636 2011-11-18 21:12:30 +00:00
Joey Hess
1326bb8635 Avoid excessive escaping for rsync special remotes that are not accessed over ssh.
This is actually tricky, 45bbf210a1 added
the escaping because it's needed for rsync that does go over ssh.
So I had to detect whether the remote's rsync url will use ssh or not,
and vary the escaping.
2011-11-18 12:53:48 -04:00
Joey Hess
ed55a750d5 response 2011-11-18 11:58:55 -04:00
http://ertai.myopenid.com/
1516458885 2011-11-18 14:11:08 +00:00
Joey Hess
c70b78d40a migrate: Don't fall over a stale temp file. 2011-11-17 18:29:28 -04:00
Joey Hess
8b892901a9 analysis; not a bug but a feature 2011-11-17 18:20:06 -04:00
https://www.google.com/accounts/o8/id?id=AItOawnBJ6Dv1glxzzi4qIzGFNa6F-mfHIvv9Ck
b3bbc1cbb6 2011-11-17 21:56:55 +00:00
https://www.google.com/accounts/o8/id?id=AItOawnBJ6Dv1glxzzi4qIzGFNa6F-mfHIvv9Ck
abd4e1192f 2011-11-17 21:51:55 +00:00
Joey Hess
2bb6b02948 When not run in a git repository, git-annex can still display a usage message, and "git annex version" even works.
Things that sound simple, but are made hard by the Annex monad being built
with the assumption that there will always be a git repo.
2011-11-16 00:49:09 -04:00
https://www.google.com/accounts/o8/id?id=AItOawmBUR4O9mofxVbpb8JV9mEbVfIYv670uJo
e92534e5b5 Added a comment 2011-11-16 03:24:31 +00:00
https://www.google.com/accounts/o8/id?id=AItOawmBUR4O9mofxVbpb8JV9mEbVfIYv670uJo
eb0c8c955c 2011-11-16 03:22:29 +00:00
Joey Hess
3c45371115 close as resolved 2011-11-15 01:53:28 -04:00
http://cgray.myopenid.com/
d99fa3ec4e removed 2011-11-15 05:22:09 +00:00
http://cgray.myopenid.com/
8d9d94f90c Added a comment 2011-11-15 05:15:47 +00:00
http://cgray.myopenid.com/
eb214f719c Added a comment 2011-11-15 05:14:05 +00:00
http://joey.kitenet.net/
cfc518190c Added a comment 2011-11-15 04:46:13 +00:00
http://joey.kitenet.net/
a6091dc271 Added a comment 2011-11-15 04:40:35 +00:00
http://cgray.myopenid.com/
c093839a40 2011-11-15 00:41:08 +00:00
Joey Hess
aa4fbbdd33 status: Now displays trusted, untrusted, and semitrusted repositories separately. 2011-11-14 16:14:17 -04:00
Joey Hess
71b216d1fb map: Support remotes with /~/ and /~user/
More accurately, it was supported already when map uses git-annex-shell,
but not when it does not.

Note that the user name cannot be shell escaped using git-annex's current
approach for shell escaping. I tried and some shells like dash cannot
cd ~'joey'. Rest of directory is still shell escaped, not for security but
in case a directory has a space or other weird character.
2011-11-11 16:18:53 -04:00
Joey Hess
e4105df78a tested all known types of cycles, all are fixed
My testing involved widening the race by adding sleeps, and making sure
something sane happens in each case.
2011-11-10 03:06:08 -04:00
Joey Hess
a218ce41cf exclusive locks, ugh 2011-11-09 22:15:33 -04:00