darcs repository web UI and hosting app. This is the main darcsden trunk, which also runs hub.darcs.net. (http://hub.darcs.net)

need to turn off buffering on stdout too to get the prompt on Windows

ganeshTue Aug 25 06:41:54 UTC 2015

retry 50 times then report the last error

This avoids a lock-up when there's some fatal problem. Also changed the delay to 20ms so we'll wait 1 second in total.

ganeshTue Aug 25 06:30:33 UTC 2015

Treat "." separately/explicitly in the `den` program.

Previously launching "." in den in the case when the current directory is exactly the root directory would result in launching "bad" URLs. This patch fixes this problem.

notdanSun Aug 23 18:13:33 UTC 2015

Merge the CLI tool into the main branch & move the darcsden.conf location

  • Now darcsden and den look for the darcsden.conf file in ~/.darcs (or Windows equivalent), which should be more portable
  • The 'den' tool is merged into the main repository
notdanFri Aug 21 12:03:15 UTC 2015

Make the old JS dependency code work again

This (re)enables the dependency canvas/diagram on the compare page.

notdanMon Aug 24 16:27:38 UTC 2015

Refactor some of the common links code

Refactor out the edit repository/delete repository buttons.

notdanThu Aug 20 12:48:50 UTC 2015

Make the tests work with an unhacked version of HSP.

The additional code makes sure that the incoming HTML is "good enough" for the parser.

notdanWed Aug 19 20:01:26 UTC 2015

Be more careful when checking for the modification date.

Previously, if there was a non-repository in the darcsden_repos list, darcsden would complain loudly. This patch makes sure that this doesn't happen.

notdanWed Aug 19 19:59:07 UTC 2015

Treat the "root" repository as a special case.

If the homeDir is pointing to a darcs repository, then it is usually displayed as/gets named "." in the list of repositories. This makes it inaccessible from the web-browser just by following links. This patch fixes that by expanding the repository path.

notdanWed Aug 19 16:47:41 UTC 2015

Fix slashes on windows

notdanMon Aug 17 18:41:01 UTC 2015

Make the username/password for the local backend part of the LocalBP and read it from the configuration file.

Username/password no longer hardcoded. Adds two options to the config file: unLocal and pwLocal -- username and password, respectively, for the local instance user. Does only affect the login system for the local instance.

notdanTue Aug 4 11:20:43 UTC 2015

Basic test setup for HTTP Auth tests

notdanTue Aug 4 11:20:37 UTC 2015

Implement HTTP Basic auth

notdanTue Aug 4 11:20:24 UTC 2015

Specific run-time switches --hub and --local

  • Add a class for instances, new local instance with a simpler frontpage. Each instance provides a front page. In the future, each instances should provide more customization then settings and backends.
  • The DenConfig datatype existentially quantifies over instances, allows us to hide the details of each instance and dispatch on them uniformly (cf getDenConfig). One can also specify settings post-hook which overrides/modifies whatever settings come from the configuration file.
  • In case of '--hub' or no run-time switch use the backends from Settings.Production and do not modify the settings
  • In case of '--local' switch use backends from Settings.Local and modify the settings according to Settings.Local.localPostSettings (turn off some of the inaccessible features)
notdanSat Aug 1 16:35:49 UTC 2015

Fix patch hashes in Forks

(see "Use full patch hash as patch ID" for details)

notdanTue Aug 4 20:42:54 UTC 2015

stack: build ssh and post-hook too by default

simonTue Aug 4 18:50:39 UTC 2015

Use full patch hash as patch ID

Thus avoid collision, that was previously triggered by several patches entering repository at the same time (for example, as in darcs rebase unsuspend)

notdanSat Aug 1 16:35:55 UTC 2015

Update the src readme

notdanSat Aug 1 16:35:55 UTC 2015

A bit of tidying up

Cleaning up some whitespaces + getting rid of some warnings.

notdanSat Aug 1 16:35:49 UTC 2015

"real" last modification date instead of dummyDate

We use the last modification date of _darcs/patches to determine the last modification date of the repository.

notdanSat Aug 1 16:35:49 UTC 2015

Instead of searching for the repositories in a directory we maintain an explicit list of repositories

The list is contained in ~/.darcs/darcsden_repos and is updated when we create new repositories. If the file with the list is not present, we compute the list of repositories the old fashined way -- by the means of recursive search.

The list format is just one repository per line, without any special syntax (for now).

notdanSat Aug 1 16:35:49 UTC 2015

Make sure to fully expand the path before relativizing it

This resolves a problem that may raise if you have ".." in your homeDir variable. makeAbsolute might "absolutize" homeDir by turning it into something like /full/path/../test. The use of canonicalizePath makes sure that you get exactly the directory you are pointing to.

notdanSat Aug 1 16:35:49 UTC 2015

Move darcsden-local settings to a separate module, refactoring the common base to DarcsDen.Settings.Common

Most of the code that is dealing with reading and parsing settings is moved to DarcsDen.Settings.Common.

notdanSat Aug 1 16:35:49 UTC 2015

Add support for creating and forking repositories

Basically implement more typeclass methods for the local backend.

And in addition

  • Turn takeAbsPath/takeRelPath into an iso
  • Fix 'newRepository'
  • createDirectory -> createDirectoryIfMissing True
notdanSat Aug 1 16:35:49 UTC 2015

Implement repository update

  • The 'isSane' function is now moved to the BackendPermanentFileSysem class
  • Note: renamings are not implemented and result in errors

Basically, this allows us to modify repository meta-data for the local backend

notdanSat Aug 1 16:35:49 UTC 2015

Do not follow symlinks (in theory)

If we are doing recursive search for repositories (this happens if we don't have a pre-defined list of repositories), then we might accidentally follow a symlink that leads outside the directory root. This patch is designed to avoid this.

notdanSat Aug 1 16:35:49 UTC 2015

A bit of cleanup

  • fix some warnings
notdanSat Aug 1 16:35:49 UTC 2015

Read the configuration from ~/.darcsden.conf, if ./darcsden.conf is not present.

notdanSat Aug 1 16:35:49 UTC 2015

Fix merging / pulling patches

The issue was a bad StringRep instance for FilePath

notdanSat Aug 1 16:35:49 UTC 2015

Use urlencode to handle repositories in nested directories

In this patch we make sure that the local backend works with the standard repository handling mechanism. The repository names may contain slashes, which are now urlencoded.

The main.js change is necessary for the repository comparison to work properly.

notdanFri Jul 31 19:02:51 UTC 2015