summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog4
-rw-r--r--doc/bugs/watch_command_on_OSX_--_hangs_with_a_small_repo.mdwn41
-rw-r--r--doc/bugs/watch_command_on_OSX_--_hangs_with_a_small_repo/comment_1_63f04694610839db0c2381005b15da35._comment14
-rw-r--r--doc/design/assistant.mdwn1
-rw-r--r--doc/design/assistant/blog/day_41__foo.mdwn46
-rw-r--r--doc/design/assistant/blog/day_41__foo/comment_1_ace21fa257a4c2fd412b6ff2944a23e8._comment10
-rw-r--r--doc/design/assistant/syncing.mdwn4
-rw-r--r--doc/design/assistant/thanks.mdwn233
-rw-r--r--doc/design/assistant/thanks/comment_1_8b08b5c30e5aea3fc4599f856fd25df5._comment8
-rw-r--r--doc/install/Fedora.mdwn2
-rw-r--r--doc/news/version_3.20120611.mdwn6
-rw-r--r--doc/news/version_3.20120721.mdwn14
-rw-r--r--git-annex.cabal2
13 files changed, 373 insertions, 12 deletions
diff --git a/debian/changelog b/debian/changelog
index f90763aca..387dacd53 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-git-annex (3.20120630) UNRELEASED; urgency=low
+git-annex (3.20120721) unstable; urgency=low
* get, move, copy: Now refuse to do anything when the requested file
transfer is already in progress by another process.
@@ -13,7 +13,7 @@ git-annex (3.20120630) UNRELEASED; urgency=low
.tar.gz Closes: #680450
* map: Write map.dot to .git/annex, which avoids watch trying to annex it.
- -- Joey Hess <joeyh@debian.org> Sun, 01 Jul 2012 15:04:37 -0400
+ -- Joey Hess <joeyh@debian.org> Sat, 21 Jul 2012 16:52:48 -0400
git-annex (3.20120629) unstable; urgency=low
diff --git a/doc/bugs/watch_command_on_OSX_--_hangs_with_a_small_repo.mdwn b/doc/bugs/watch_command_on_OSX_--_hangs_with_a_small_repo.mdwn
new file mode 100644
index 000000000..c598bb4d7
--- /dev/null
+++ b/doc/bugs/watch_command_on_OSX_--_hangs_with_a_small_repo.mdwn
@@ -0,0 +1,41 @@
+I had started a fresh repo to test out the watch command again on OSX and noticed that it's borked, I'm not sure when it was broken.
+
+The snippet of the log message and command is
+
+<pre>
+$ git annex watch --foreground -d -v
+watch . read: git ["--git-dir=/Users/jtang/sandbox/atest/.git","--work-tree=/Users/jtang/sandbox/atest","show-ref","git-annex"]
+read: git ["--git-dir=/Users/jtang/sandbox/atest/.git","--work-tree=/Users/jtang/sandbox/atest","show-ref","--hash","refs/heads/git-annex"]
+read: git ["--git-dir=/Users/jtang/sandbox/atest/.git","--work-tree=/Users/jtang/sandbox/atest","log","refs/heads/git-annex..6702e5361146450800ae5af0b63e97bd9c55d70b","--oneline","-n1"]
+chat: git ["--git-dir=/Users/jtang/sandbox/atest/.git","--work-tree=/Users/jtang/sandbox/atest","cat-file","--batch"]
+(scanning...) call: git ["--git-dir=/Users/jtan
+</pre>
+
+I had run git-annex with a new repo with just doing a git init and git annex init, I just threw in one or two small text files to see if it was working. It just hangs and does nothing. I had also tried it out on one of my bigger repos and it does the same thing it just hangs at _(scanning...)_ There isn't much to go on, I wonder if it's hitting the [[Issue on OSX with some system limits]] or if its just a thread/fork issue on OSX.
+
+It still hangs on the small repo even if I do
+
+ $ sudo sysctl -w kern.maxfilesperproc=400000
+ $ ulimit -n 2000
+
+Also, just in case if you need it still (on a clean OSX 10.7 system)
+
+<pre>
+$ ulimit -a
+core file size (blocks, -c) 0
+data seg size (kbytes, -d) unlimited
+file size (blocks, -f) unlimited
+max locked memory (kbytes, -l) unlimited
+max memory size (kbytes, -m) unlimited
+open files (-n) 256
+pipe size (512 bytes, -p) 1
+stack size (kbytes, -s) 8192
+cpu time (seconds, -t) unlimited
+max user processes (-u) 709
+virtual memory (kbytes, -v) unlimited
+</pre>
+
+Please close or merge this report if it's a duplicate.
+
+> I've fixed this, it works in my (so far limited) tests. [[done]]
+> --[[Joey]]
diff --git a/doc/bugs/watch_command_on_OSX_--_hangs_with_a_small_repo/comment_1_63f04694610839db0c2381005b15da35._comment b/doc/bugs/watch_command_on_OSX_--_hangs_with_a_small_repo/comment_1_63f04694610839db0c2381005b15da35._comment
new file mode 100644
index 000000000..1b9fe9a4a
--- /dev/null
+++ b/doc/bugs/watch_command_on_OSX_--_hangs_with_a_small_repo/comment_1_63f04694610839db0c2381005b15da35._comment
@@ -0,0 +1,14 @@
+[[!comment format=mdwn
+ username="http://joeyh.name/"
+ ip="98.65.205.24"
+ subject="comment 1"
+ date="2012-07-20T18:17:04Z"
+ content="""
+I see this too, on OSX, and it's another one of the hangs with the threaded runtime I've been battling recently. Removing -threaded from the Makefile or git-annex.cabal (whichever you're using) makes it work.
+
+Seems likely this one is specific to my kqueue code. Indeed, I see it entering the kqueue code and then hanging, when it should be noticing changes. Interestingly, all threads seem to get blocked, too.
+
+AHA! I had the FFI functions marked unsafe. Marking safe seems to fix that. I need to go re-read up on the FFI and when it's safe to mark functions threadsafe.
+
+Thanks as always for the OSX eyes Jimmy!
+"""]]
diff --git a/doc/design/assistant.mdwn b/doc/design/assistant.mdwn
index 62070e020..0e49844d0 100644
--- a/doc/design/assistant.mdwn
+++ b/doc/design/assistant.mdwn
@@ -1,5 +1,6 @@
The git-annex assistant is being
[crowd funded on Kickstarter](http://www.kickstarter.com/projects/joeyh/git-annex-assistant-like-dropbox-but-with-your-own/).
+[[Thanks]] to all my backers.
This is my design and plan for developing it.
Still being fleshed out, still many ideas and use cases to add.
diff --git a/doc/design/assistant/blog/day_41__foo.mdwn b/doc/design/assistant/blog/day_41__foo.mdwn
new file mode 100644
index 000000000..9115efd62
--- /dev/null
+++ b/doc/design/assistant/blog/day_41__foo.mdwn
@@ -0,0 +1,46 @@
+I made the MountWatcher only use dbus if it sees a client connected to dbus
+that it knows will send mount events, or if it can start up such a client
+via dbus. (Fancy!) Otherwise it falls back to polling. This should be enough
+to support users who manually mount things -- if they have gvfs
+installed, it'll be used to detect their manual mounts, even when a desktop
+is not running, and if they don't have gvfs, they get polling.
+
+Also, I got the MountWatcher to work with KDE. Found a dbus event that's
+emitted when KDE mounts a drive, and this is also used. If anyone with
+some other desktop environment wants me to add support for it, and it uses
+dbus, it should be easy: Run `dbus-monitor`, plug in a drive, get
+it mounted, and send me a transcript.
+
+Of course, it'd also be nice to support anything similar on OSX that can
+provide mount event notifications. Not a priority though, since the polling
+code will work.
+
+---
+
+Some OS X fixes today..
+
+* Jimmy pointed out that my `getmntent` code broke the build on OSX again.
+ Sorry about that.. I keep thinking Unix portability nightmares are a 80's
+ thing, not a 2010's thing. Anyway, adapted a lot of hackish C code
+ to emulate `getmntent` on BSD systems, and it seems to work. (I actually
+ think the BSD interface to this is saner than Linux's, but I'd rather have
+ either one than both, sigh..)
+* Kqueue was blocking all the threads on OSX. This is fixed, and the
+ assistant seems to be working on OSX again.
+
+----
+
+I put together a preliminary page thanking everyone who contributed to the
+git-annex Kickstarter. [[thanks]] The wall-o-names is scary crazy humbling.
+
+----
+
+Improved `--debug` mode for the assistant, now every thread says whenever
+it's doing anything interesting, and also there are timestamps.
+
+----
+
+Had been meaning to get on with syncing to drives when they're mounted, but
+got sidetracked with the above. Maybe tomorrow. I did think through it
+in some detail as I was waking up this morning, and think I have a pretty
+good handle on it.
diff --git a/doc/design/assistant/blog/day_41__foo/comment_1_ace21fa257a4c2fd412b6ff2944a23e8._comment b/doc/design/assistant/blog/day_41__foo/comment_1_ace21fa257a4c2fd412b6ff2944a23e8._comment
new file mode 100644
index 000000000..e27f7904e
--- /dev/null
+++ b/doc/design/assistant/blog/day_41__foo/comment_1_ace21fa257a4c2fd412b6ff2944a23e8._comment
@@ -0,0 +1,10 @@
+[[!comment format=mdwn
+ username="https://www.google.com/accounts/o8/id?id=AItOawnYD2ZzaOz-0anQDrN-Hg8Tvh5_C7wtStk"
+ nickname="roucaries"
+ subject="Portability"
+ date="2012-07-21T20:31:32Z"
+ content="""
+For portability why not using gnulib ? It will ease porting to windows BTW.
+
+Bastien
+"""]]
diff --git a/doc/design/assistant/syncing.mdwn b/doc/design/assistant/syncing.mdwn
index f8ad3c13f..5f00cf606 100644
--- a/doc/design/assistant/syncing.mdwn
+++ b/doc/design/assistant/syncing.mdwn
@@ -16,8 +16,6 @@ all the other git clones, at both the git level and the key/value level.
## longer-term TODO
-* Test MountWatcher on KDE, and add whatever dbus events KDE emits when
- drives are mounted.
* Test MountWatcher on Gnome (should work ok) and LXDE (dunno).
* git-annex needs a simple speed control knob, which can be plumbed
through to, at least, rsync. A good job for an hour in an
@@ -116,3 +114,5 @@ anyway.
maintaining the TransferSlots. Instead, need [[todo/assistant_threaded_runtime]],
which would allow running something for sure when a transfer thread
finishes. **done**
+* Test MountWatcher on KDE, and add whatever dbus events KDE emits when
+ drives are mounted. **done**
diff --git a/doc/design/assistant/thanks.mdwn b/doc/design/assistant/thanks.mdwn
new file mode 100644
index 000000000..35ee65320
--- /dev/null
+++ b/doc/design/assistant/thanks.mdwn
@@ -0,0 +1,233 @@
+The development of the git-annex assistant was made possible by the
+generous donations of many people. I want to say "Thank You!" to each of
+you individually, but until I meet all 951 of you, this page will have to
+do. You have my most sincere thanks. --[[Joey]]
+
+(If I got your name wrong, or you don't want it publically posted here,
+email <joey@kitenet.net>.)
+
+## Major Backers
+
+These people are just inspiring in their enthusiasm and generosity to this
+project.
+
+* Jason Scott
+* strager
+
+## Beta Testers
+
+Whole weeks of my time were made possible thanks to each of these
+people, and their testing is invaluable to the development of
+the git-annex assistant.
+
+* Jimmy Tang
+* David Pollak
+* Pater
+* Francois Marier
+* Paul Sherwood
+* Fred Epma
+* Robert Ristroph
+* Josh Triplett
+* David Haslem
+* AJ Ashton
+* Svenne Krap
+* Drew Hess
+
+## Prioritizers
+
+These forward-thinking people contributed generously just to help
+set my priorities in which parts of the git-annex assistant were most
+important to develop.
+
+Paul C. Bryan, Paul Tötterman, Don Marti, Dean Thompson, Djoume, David Johnston
+Asokan Pichai, Anders Østhus, Dominik Wagenknecht, Charlie Fox, Yazz D. Atlas,
+fenchel, Erik Penninga, Richard Hartmann, Graham, Stan Yamane, Ben Skelton,
+Ian McEwen, asc, Paul Tagliamonte, Sherif Abouseda, Igor Támara, Anne Wind,
+Mesar Hameed, Brandur K. Holm Petersen, Takahiro Inoue, Kai Hendry,
+Stephen Youndt, Lee Roberson, Ben Strawbridge, Andrew Greenberg, Alfred Adams
+Andrew, Aaron De Vries, Monti Knazze, Jorge Canseco, Hamish, Mark Eichin
+
+And special thanks to Kevin McKenzie, who also gave me a login to a Mac OSX
+machine, which has proven invaluable.
+
+## Other Backers
+
+Most of the success of the Kickstarter is thanks to these folks. Some of
+them spent significant amounts of money in the guise of getting some
+swag. For others, being listed here, and being crucial to making the
+git-annex assistant happen was reward enough. Large or small, these
+contributions are, literally, my bread and butter this year.
+
+Amitai Schlair, mvime, Romain Lenglet, James Petts, Jouni Uuksulainen,
+Wichert Akkerman, Robert Bellus, Kasper Souren, rob, Michiel Buddingh',
+Kevin, Rob Avina, Alon Levy, Vikash, Michael Alan Dorman, Harley Pig,
+Andreas Olsson, Pietpiet, Christine Spang, Liz Young, Oleg Kosorukov,
+Allard Hoeve, Valentin Haenel, Joost Baaij, Nathan Yergler, Nathan Howell,
+Frédéric Schütz, Matti Eskelinen, Neil McGovern, Lane Lillquist, db48x,
+Stuart Prescott, Mark Matienzo, KarlTheGood, leonm, Drew Slininger,
+Andreas Fuchs, Conrad Parker, Johannes Engelke, Battlegarden, Justin Kelly,
+Robin Wagner, Thad Ward, crenquis, Trudy Goold, Mike Cochrane, Adam Venturella,
+Russell Foo, furankupan, Giorgio Occhioni, andy, mind, Mike Linksvayer,
+Stefan Strahl, Jelmer Vernooij, Markus Fix, David Hicks, Justin Azoff,
+Iain Nicol, Bob Ippolito, Thomas Lundstrøm, Jason Mandel, federico2,
+Edd Cochran, Jose Ortega, Emmett Agnew, Rudy Garcia, Kodi, Nick Rusnov,
+Michael Rubin, Tom de Grunt, Richard Murray, Peter, Suzanne Pierce, Jared
+Marcotte, folk, Eamon, Jeff Richards, Leo Sutedja, dann frazier, Mikkel
+kristiansen, Matt Thomas, Kilian Evang, Gergely Risko, Kristian Rumberg,
+Peter Kropf, Mark Hepburn, greymont, D. Joe Anderson, Jeremy Zunker, ctebo,
+Manuel Roumain, Jason Walsh, np, Shawn, Johan Tibell, Branden Tyree, Dinyar
+Rabady, Andrew Mason, damond armstead, Ethan Aubin, TomTom Tommie, Jimmy
+Kaplowitz, Steven Zakulec, mike smith, Jacob Kirkwood, Mark Hymers, Nathan
+Collins, Asbjørn Sloth Tønnesen, Misty De Meo,
+Jim Paris, Adam Sjøgren, miniBill, Taneli, Kumar Appaiah, Greg Grossmeier,
+Sten Turpin, Otavio Salvador, Teemu Hukkanen, Brian Stengaard, bob walker,
+bibeneus, andrelo, Yaroslav Halchenko, hesfalling, Tommy L, jlargentaye,
+Serafeim Zanikolas, Don Armstrong, Chris Cormack, shayne.oneill, Radu
+Raduta, Josh S, Robin Sheat, Henrik Mygind, kodx, Christian, Geoff
+Crompton, Brian May, Olivier Berger, Filippo Gadotti, Daniel Curto-Millet,
+Eskild Hustvedt, Douglas Soares de Andrade, Tom L, Michael Nacos, Michaël
+P., William Roe, Joshua Honeycutt, Brian Kelly, Nathan Rasch, jorge, Martin
+Galese, alex cox, Avery Brooks, David Whittington, Dan Martinez, Forrest
+Sutton, Jouni K. Seppänen, Arnold Cano, Robert Beaty, Daniel, Kevin Savetz,
+Randy, Ernie Braganza, Aaron Haviland, Brian Brunswick, asmw, sean, Michael
+Williams, Alexander, Dougal Campbell, Robert Bacchas, Michael Lewis, Collin
+Price, Wes Frazier, Matt Wall, Brandon Barclay, Derek van Vliet, Martin
+DeMello, kitt hodsden, Stephen Kitt, Leif Bergman, Simon Lilburn, Michael
+Prokop, Christiaan Conover, Nick Coombe, Tim Dysinger, Brandon Robinson,
+Philip Newborough, keith, Mike Fullerton, Kyle, Phil Windley, Tyler Head,
+George V. Reilly, Matthew, Ali Gündüz, Vasyl Diakonov, Paolo Capriotti,
+allanfranta, Martin Haeberli, msingle, Vincent Sanders, Steven King, Dmitry
+Gribanov, Brandon High, Ben Hughes, Mike Dank, JohnE, Diggory Hardy,
+Michael Hanke, valhalla, Samuli Tuomola, Jeff Rau, Benjamin Lebsanft, John
+Drago, James, Aidan Cooper, rondie, Paul Kohler, Matthew Knights, Aaron
+Junod, Patrick R McDonald, Christopher Browne, Daniel Engel, John SJ
+Anderson, Peter Sarossy, Mike Prasad, Christoph Ender, Jan Dittberner,
+Zohar, Alexander Jelinek, stefan, Danny O'Brien, Matthew Thode, Nicole
+Aptekar, maurice gaston, Chris Adams, Mike Klemencic, Reedy, Subito, Tobias
+Gruetzmacher, Ole-Morten Duesund, André Koot, mp, gdop, Cole Scott, Blaker,
+Matt Sottile, W. Craig Trader, Louis-Philippe Dubrule, Brian Boucheron,
+Duncan Smith, Brenton Buchbach, Kyle Stevenson, Eliot Lash, Egon Elbre,
+Praveen, williamji, Thomas Schreiber, Neil Ford, Ryan Pratt, Joshua Brand,
+Peter Cox, Markus Engstrom, John Sutherland, Dean Bailey, Ed Summers,
+Hillel Arnold, David Fiander, Kurt Yoder, Trevor Muñoz, keri, Ivan
+Sergeyenko, Shad Bolling, Tal Kelrich, Steve Presley, gerald ocker, Essex
+Taylor, Josh Thomson, Trevor Bramble, Lance Higgins, Frank Motta, Dirk
+Kraft, soundray, Joe Haskins, nmjk, Apurva Desai, Colin Dean, docwhat,
+Joseph Costello, Jst, flamsmark, Alex Lang, Bill Traynor, Anthony David,
+Marc-André Lureau, AlNapp, Giovanni Moretti, John Lawrence, João Paulo
+Pizani Flor, Jim Ray, Gregory Thrush, Alistair McGann, Andrew Wied,
+Koutarou Furukawa, Xiscu Ignacio, Aaron Sachs, Matt, Quirijn, Chet
+Williams, Chris Gray, Bruce Segal, Tom Conder, Louis Tovar, Alex Duryee,
+booltox, d8uv, Decklin Foster, Rafael Cervantes, Micah R Ledbetter, Kevin
+Sjöberg, Johan Strombom, Zachary Cohen, Jason Lewis, Yves Bilgeri, Ville
+Aine, Mark Hurley, Marco Bonetti, Maximilian Haack, Hynek Schlawack,
+Michael Leinartas, Andreas Liebschner, Duotrig, Nat Fairbanks, David
+Deutsch, Colin Hayhurst, calca, Kyle Goodrick, Marc Bobillier, Robert
+Snook, James Kim, Olivier Serres, Jon Redfern, Itai Tavor, Michael
+Fladischer, Rob, Jan Schmid, Thomas H., Anders Söderbäck, Abhishek
+Dasgupta, Jeff Goeke-Smith, Tommy Thorn, bonuswavepilot, Philipp Edelmann,
+Nick, Alejandro Navarro Fulleda, Yann Lallemant, andrew brennan,
+Dave Allen Barker Jr, Fabian, Lukas Anzinger, Carl Witty, Andy Taylor,
+Andre Klärner, Andrew Chilton, Adam Gibbins, Alexander Wauck, Shane O'Dea,
+Paul Waite, Iain McLaren, Maggie Ellen Robin Hess, Willard Korfhage,
+Nicolas, Eric Nikolaisen, Magnus Enger, Philipp Kern, Andrew Alderwick,
+Raphael Wimmer, Benjamin Schötz, Ana Guerrero, Pete, Pieter van der Eems,
+Aaron Suggs, Fred Benenson, Cedric Howe, Lance Ivy, Tieg Zaharia, Kevin
+Cooney, Jon Williams, Anton Kudris, Roman Komarov, Brad Hilton, Rick Dakan,
+Adam Whitcomb, Paul Casagrande, Evgueni Baldin, Robert Sanders, Kagan
+Kayal, Dean Gardiner, micah altman, Cameron Banga, Ross Mcnairn, Oscar
+Vilaplana, Robin Graham, Dan Gervais, Jon Åslund, Ragan Webber, Noble Hays,
+stephen brown, Sean True, Maciek Swiech, faser, eikenberry, Kai Laborenz,
+Sergey Fedoseev, Chris Fournier, Svend Sorensen, Greg K, wojtek, Johan
+Ribenfors, Anton, Benjamin, Oleg Tsarev, PsychoHazard, John Cochrane,
+Kasper Lauritzen, Patrick Naish, Rob, Keith Nasman, zenmaster, David Royer,
+Max Woolf, Dan Gabber, martin rhoads, Martin Schmidinger, Paul
+Scott-Wilson, Tom Gromak, Andy Webster, Dale Webb, Jim Watson, Stephen
+Hansen, Mircea, Dan Goodenberger, Matthias Fink, Andy Gott, Daniel, Jai
+Nelson, Shrayas Rajagopal, Vladimir Rutsky, Alexander, Thorben Westerhuys,
+hiruki, Tao Neuendorffer Flaherty, Elline, Marco Hegenberg, robert, Balda,
+Brennen Bearnes, Richard Parkins, David Gwilliam, Mark Johnson, Jeff Eaton,
+Reddawn90, Heather Pusey, Chris Heinz, Colin, Phatsaphong Thadabusapa,
+valunthar, Michael Martinez, redlukas, Yury V. Zaytsev, Blake, Tobias
+"betabrain" A., Leon, sopyer, Steve Burnett, bessarabov, sarble, krsch.com,
+Jack Self, Jeff Welch, Sam Pettiford, Jimmy Stridh, Diego Barberá, David
+Steele, Oscar Ciudad, John Braman, Jacob, Nick Jenkins, Ben Sullivan, Brian
+Cleary, James Brosnahan, Darryn Ten, Alex Brem, Jonathan Hitchcock, Jan
+Schmidle, Wolfrzx99, Steve Pomeroy, Matthew Sitton, Finkregh, Derek Reeve,
+GDR!, Cory Chapman, Marc Olivier Chouinard, Andreas Ryland, Justin, Andreas
+Persenius, Games That Teach, Walter Somerville, Bill Haecker, Brandon
+Phenix, Justin Shultz, Colin Scroggins, Tim Goddard, Ben Margolin, Michael
+Martinez, David Hobbs, Andre Le, Jason Roberts, Bob Lopez, Gert Van Gool,
+Robert Carnel, Anders Lundqvist, Aniruddha Sathaye, Marco Gillies, Basti
+von Bejga, Esko Arajärvi, Dominik Deobald, Pavel Yudaev, Fionn Behrens,
+Davide Favargiotti, Perttu Luukko, Silvan Jegen, Marcelo Bittencourt,
+Leonard Peris, smercer, Alexandre Dupas, Solomon Matthews, Peter Hogg,
+Richard E. Varian, Ian Oswald, James W. Sarvey, Ed Grether, Frederic
+Savard, Sebastian Nerz, Hans-Chr. Jehg, Matija Nalis, Josh DiMauro, Jason
+Harris, Adam Byrtek, Tellef, Magnus, Bart Schuurmans, Giel van Schijndel,
+Ryan, kiodos, Richard 'maddog' Collins, PawZubr, Jason Gassel, Alex
+Boisvert, Richard Thompson, maddi bolton, csights, Aaron Bryson, Jason Chu,
+Maxime Côté, Kineteka Systems, Joe Cabezas, Mike Czepiel, Rami Nasra,
+Christian Simonsen, Wouter Beugelsdijk, Adam Gibson, Gal Buki, James
+Marble, Alan Chambers, Bernd Wiehle, Simon Korzun, Daniel Glassey, Eero af
+Heurlin, Mikael, Timo Engelhardt, Wesley Faulkner, Jay Wo, Mike Belle,
+David Fowlkes Jr., Jimmy Tang, Karl-Heinz Strass, Ed Mullins, Sam Flint,
+Hendrica, Mark Emer Anderson, Joshua Cole, Jan Gondol, Henrik Lindhe,
+Albert Delgado, Patrick, Alexa Avellar, Chris, sebsn1349, Maxim Kachur,
+Andrew Marshall, Navjot Narula, Alwin Mathew, Christian Mangelsdorf, Avi
+Shevin, Kevin S., Guillermo Sanchez Estrada, Alex Krieger, Luca Meier, Will
+Jessop, Nick Ruest, Lani Aung, Ulf Benjaminsson, Rudi Engelbrecht, Miles
+Matton, Cpt_Threepwood, Adam Kuyper, reacocard, David Kilsheimer, Peter
+Olson, Bill Fischofer, Prashant Shah, Simon Bonnick, Alexander Grudtsov,
+Antoine Boegli, Richard Warren, Sebastian Rust, AlmostHuman, Timmy
+Crawford, PC, Marek Belski, pontus, Douglas S Butts, Eric Wallmander, Joe
+Pelar, VIjay, Trahloc, Vernon Vantucci, Matthew baya, Viktor Štujber,
+Stephen Akiki, Daniil Zamoldinov, Atley, Chris Thomson, Jacob Briggs, Falko
+Richter, Andy Schmitz, Sergi Sagas, Peder Refsnes, Jonatan, Ben, Bill
+Niblock, Agustin Acuna, Jeff Curl, Tim Humphrey, bib, James Zarbock,
+Lachlan Devantier, Michal Berg, Jeff Lucas, Sid Irish, Franklyn, Jared
+Dickson, Olli Jarva, Adam Gibson, Lukas Loesche, Jukka Määttä, Alexander
+Lin, Dao Tran, Kirk, briankb, Ryan Villasenor, Daniel Wong, barista, Tomas
+Jungwirth, Jesper Hansen, Nivin Singh, Alessandro Tieghi, Billy Roessler,
+Peter Fetterer, Pallav Laskar, jcherney, Tyler Wang, Steve, Gigahost, Beat
+Wolf, Hannibal Skorepa, aktiveradio, Mark Nunnikhoven, Bret Comnes, Alan
+Ruttenberg, Anthony DiSanti, Adam Warkiewicz, Brian Bowman, Jonathan, Mark
+Filley, Tobias Mohr, Christian St. Cyr, j. faceless user, Karl Miller,
+Thomas Taimre, Vikram, Jason Mountcastle, Jason, Paul Elliott, Alexander,
+Stephen Farmer, rayslava, Peter Leurs, Sky Kruse, JP Reeves, John J Schatz,
+Martin Sandmair, Will Thompson, John Hergenroeder, Thomas, Christophe
+Ponsart, Wolfdog, Eagertolearn, LukasM, Federico Hernandez, Vincent Bernat,
+Christian Schmidt, Cameron Colby Thomson, Josh Duff, James Brown, Theron
+Trowbridge, Falke, Don Meares, tauu, Greg Cornford, Max Fenton, Kenneth
+Reitz, Bruce Bensetler, Mark Booth, Herb Mann, Sindre Sorhus, Chris
+Knadler, Daniel Digerås, Derek, Sin Valentine, Ben Gamari, david
+lampenscherf, fardles, Richard Burdeniuk, Tobias Kienzler, Dawid Humbla,
+Bruno Barbaroxa, D Malt, krivar, James Valleroy, Peter, Tim Geddings,
+Matthias Holzinger, Hanen, Petr Vacek, Raymond, Griff Maloney, Andreas
+Helveg Rudolph, Nelson Blaha, Colonel Fubar, Skyjacker Captain Gavin
+Phoenix, shaun, Michael, Kari Salminen, Rodrigo Miranda, Alan Chan, Justin
+Eugene Evans, Isaac, Ben Staffin, Matthew Loar, Magos, Roderik, Eugenio
+Piasini, Nico B, Scott Walter, Lior Amsalem, Thongrop Rodsavas, Alberto de
+Paola, Shawn Poulen, John Swiderski, lluks, Waelen, Mark Slosarek, Jim
+Cristol, mikesol, Bilal Quadri, LuP, Allan Nicolson, Kevin Washington,
+Isaac Wedin, Paul Anguiano, ldacruz, Jason Manheim, Sawyer, Jason
+Woofenden, Joe Danziger, Declan Morahan, KaptainUfolog, Vladron, bart, Jeff
+McNeill, Christian Schlotter, Ben McQuillan, Anthony, Julian, Martin O,
+altruism, Eric Solheim, MarkS, ndrwc, Matthew, David Lehn, Matthew
+Cisneros, Mike Skoglund, Kristy Carey
+
+## Also thanks to
+
+* The Kickstarter team, who have unleashed much good on the world.
+* The Haskell developers, who toiled for 20 years in obscurity
+ before most of us noticed them, and on whose giant shoulders I now stand,
+ in awe of the view.
+* The Git developers, for obvious reasons.
+* All of git-annex's early adopters, who turned it from a personal
+ toy project into something much more, and showed me the interest was there.
+* Anna and Mark, for the loan of the video camera; as well as the rest of
+ my family, for your support. Even when I couldn't explain what I was
+ working on.
+* The Hodges, for providing such a congenial place for me to live and work
+ on these first world problems, while you're off helping people in the
+ third world.
diff --git a/doc/design/assistant/thanks/comment_1_8b08b5c30e5aea3fc4599f856fd25df5._comment b/doc/design/assistant/thanks/comment_1_8b08b5c30e5aea3fc4599f856fd25df5._comment
new file mode 100644
index 000000000..77a0873ee
--- /dev/null
+++ b/doc/design/assistant/thanks/comment_1_8b08b5c30e5aea3fc4599f856fd25df5._comment
@@ -0,0 +1,8 @@
+[[!comment format=mdwn
+ username="https://www.google.com/accounts/o8/id?id=AItOawlUbH3eytydcwlWqv8oauE2Jg4NwcV9uA0"
+ nickname="Anna"
+ subject="Special"
+ date="2012-07-20T23:45:15Z"
+ content="""
+I feel pretty special getting an individualized thank you! Btw, the good news is that your video finally explained what you were working on so that I understood it. :-)
+"""]]
diff --git a/doc/install/Fedora.mdwn b/doc/install/Fedora.mdwn
index 8aacbb3b0..73e9f9a5d 100644
--- a/doc/install/Fedora.mdwn
+++ b/doc/install/Fedora.mdwn
@@ -1,7 +1,7 @@
Installation recipe for Fedora 14 thruough 17.
<pre>
-sudo yum install ghc cabal-install
+sudo yum install ghc cabal-install pcre-devel
git clone git://git-annex.branchable.com/ git-annex
cd git-annex
git checkout ghc7.0
diff --git a/doc/news/version_3.20120611.mdwn b/doc/news/version_3.20120611.mdwn
deleted file mode 100644
index e17456e23..000000000
--- a/doc/news/version_3.20120611.mdwn
+++ /dev/null
@@ -1,6 +0,0 @@
-git-annex 3.20120611 released with [[!toggle text="these changes"]]
-[[!toggleable text="""
- * add: Prevent (most) modifications from being made to a file while it
- is being added to the annex.
- * initremote: Automatically describe a remote when creating it.
- * uninit: Refuse to run in a subdirectory. Closes: #[677076](http://bugs.debian.org/677076)"""]] \ No newline at end of file
diff --git a/doc/news/version_3.20120721.mdwn b/doc/news/version_3.20120721.mdwn
new file mode 100644
index 000000000..7e424452e
--- /dev/null
+++ b/doc/news/version_3.20120721.mdwn
@@ -0,0 +1,14 @@
+git-annex 3.20120721 released with [[!toggle text="these changes"]]
+[[!toggleable text="""
+ * get, move, copy: Now refuse to do anything when the requested file
+ transfer is already in progress by another process.
+ * status: Lists transfers that are currently in progress.
+ * Fix passing --uuid to git-annex-shell.
+ * When shaNsum commands cannot be found, use the Haskell SHA library
+ (already a dependency) to do the checksumming. This may be slower,
+ but avoids portability problems.
+ * Use SHA library for files less than 50 kb in size, at which point it's
+ faster than forking the more optimised external program.
+ * SHAnE backends are now smarter about composite extensions, such as
+ .tar.gz Closes: #[680450](http://bugs.debian.org/680450)
+ * map: Write map.dot to .git/annex, which avoids watch trying to annex it."""]] \ No newline at end of file
diff --git a/git-annex.cabal b/git-annex.cabal
index be752f844..2e312d4c3 100644
--- a/git-annex.cabal
+++ b/git-annex.cabal
@@ -1,5 +1,5 @@
Name: git-annex
-Version: 3.20120630
+Version: 3.20120721
Cabal-Version: >= 1.8
License: GPL
Maintainer: Joey Hess <joey@kitenet.net>