July 21, 2013
darcsden 1.1, darcs hub news
I’ve been hacking (mostly on darcsden/hub) but not blogging recently. Must get back to the old 45-15 minute routine.
banged on hakyll for a while and set up tag feeds on this blog; joined Planet Darcs
did code review, testing, deployment of BSRK Aditya’s GSOC enhancements
spent about 8 hours clarifying darcsden history and writing release notes/announcement. Seriously ? Apparently yes.
moved the darcs hub FAQ back to the front page, cleaned it up and added some javascript magic.
fixed the slow user list on the front page - it was doing a query for each user. My effective page load time went from ~2 to 1s. Reducing the number of scripts will be a good next step.
released darcsden 1.1 and the first darcs hub news update. Yay!
This packages up what we have been using at hub.darcs.net so that you can run it locally. It’s the first darcsden release installable from hackage, and the first with the UI updates from darcs hub. For now, it still requires CouchDB and Redis to run.
More importantly, this is about communicating the changes and current status of darcs hub, and doing a bit of marketing. Darcs hub hacking is fun, come and help! I include the announcement below.
darcsden 1.1 released
darcsden 1.1 is now available on hackage! This is the updated version of darcsden which runs hub.darcs.net, so these changes are also relevant to that site’s users. (More darcs hub news below.)
darcsden is a web application for browsing and managing darcs repositories, issues, and users, plus a basic SSH server which lets users push changes without a system login. It is released under the BSD license. You can use it:
to browse and manage your local darcs repos with a more comfortable UI
to make your repos browsable online, optionally with issue tracking
to run a multi-user darcs hosting site, like hub.darcs.net
http://hackage.haskell.org/package/darcsden - cabal package
http://hub.darcs.net/simon/darcsden - source
http://hub.darcs.net/simon/darcsden/issues - bug tracker
Release notes for 1.1
Fixed:
16: Layout of links and navigation places them offscreen
21: anchors on line numbers exist but line numbers not clickable
28: forking then deleting a private repo makes repos unviewable
29: darcs get to an invalid ssh repo url hangs
46: if user kills a push, the lock file is not removed, preventing subsequent pushes
New:
the signup page security question is case-insensitive (“darcs”)
login redirects to the “my repos” page
a more responsive layout, with content first, buttons at top/right
many other UI updates; font, headings, borders, whitespace, robustness
more context sensitivity in buttons & links
better next/previous page controls
better support for microsoft windows, runs as a service
builds with GHC 7.6 and latest libraries
easier developer builds
Brand new, from the Enhancing Darcsden GSOC (some WIP):
you can sign up, log in, and link existing accounts with your Google or Github id
you can reset your password
you can edit files through the web
you can “pack” your repositories, allowing faster darcs get
Detailed change log: http://hub.darcs.net/simon/darcsden/CHANGES.md
How to help
darcsden is a small, clean codebase that is fun to hack on. Discussion takes place on the #darcs IRC channel, and useful changes will quickly be deployed at hub.darcs.net, providing a tight dogfooding/feedback loop. Here’s how to contribute a patch there:
register at hub.darcs.net
add your ssh key in settings so you can push
fork your own branch: http://hub.darcs.net/simon/darcsden , fork
copy to your machine: darcs get http://hub.darcs.net/yourname/darcsden
make changes, darcs record
push to hub: darcs push yourname@hub.darcs.net:darcsden --set-default
your change will appear at http://hub.darcs.net/simon/darcsden/patches
discuss on #darcs, or ping me (sm, simon@joyful.com) to merge it
Credits
Alex Suraci created darcsden. Simon Michael led this release, which includes contributions from Alp Mestanogullari, Jeffrey Chu, Ganesh Sittampalam, and BSRK Aditya (sponsored by Google’s Summer of Code). And last time I forgot to mention two 1.0 contributors: Bertram Felgenhauer and Alex Suraci.
darcsden depends on Darcs, Snap, GHC, and other fine projects from the Haskell ecosystem, as well as Twitter Bootstrap, JQuery, and many more.
darcs hub news 2013/07
http://hub.darcs.net , aka darcs hub, is the darcs repository hosting site I operate. It’s like a mini github, but using darcs. You can:
browse users, repos, files and changes
publish darcs repos publicly or privately
get, push and pull repos over ssh
grant push access to other members
fork repos, then view and merge upstream and downstream changes
track issues
The site was announced on 2012/9/15 (http://thread.gmane.org/gmane.comp.version-control.darcs.user/26556). Since then:
The site has been deploying new darcsden work promptly; it includes all the 1.1 release improvements described above.
The server’s ram has doubled from 1G to 2G (thanks Linode). This means app restarts due to excessive memory use are less frequent.
The front page’s user list had become slow and has been optimised, halving the page load time.
BSRK Aditya is doing his Google Summer of Code project on enhancing darcsden and darcs hub (mentored by darcs developer Ganesh Sittampalam). Find out more at http://darcs.net/GSoC/2013-Darcsden .
The site is being used, with many small projects and a few well-known larger ones. Quick stats as of 2013/07/19:
The site remains free to use, including private repos. Eventually, some kind of funding will be needed to keep it self-sustaining, and could also enable faster development. Donate button ? Gittip ? Charge for private repos ? Let’s discuss.
Please try it out, report problems, and contribute patches to make it better.
darcs, hakyll, haskell