2013-07-21

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

Show more