Opened 13 years ago

Last modified 12 years ago

#395 new task

create test repository locally rather than sharing it in svndigest repository

Reported by: Peter Johansson Owned by: Jari Häkkinen
Priority: minor Milestone: svndigest 0.x+
Component: test Version: trunk
Keywords: Cc:


There are some problem sharing the test repository as we do currently (see README.developer for details). One problem is that it is complicated to understand the structure because the two layer revision system (a repository checked into a repository) makes things complicated. In particular a conflict here is more messy to solve compared to a normal svn conflict. The solution is strict communication.

An alternative would be to create the test repository dynamically from a shell script. In this way this double abstraction would disappear. A conflict would be a simple conflict in the shell script, which is resolved as usual. It would make it possible to create an early event, for example, if we wanted a file foo to be checked in at rev=2, it'd be easy to modify the script - it'd be easy to change the history. The shell script might get rather large, but is nothing compared to the current test repository, which is huge due to an xmi file that was checked in and then deleted.

An important test case is to have a file that is modified by several authors. I'm not sure how to emulate that with this design.

The simplest way is probably to have one shell script that creates the repo and wc from scratch. This implies that when the script is modified, one needs to remove repo and wc and create everything from scratch again. One could imagine a more lazy design in which things are only modified rather created from scratch; however, my gut feeling is that such as design would be error prone.

I'm thinking that with this approach, repository tests could also be included when building from a tar ball as long as needed tools are needed (svn + svnadmin + ???; but who is building svndigest without svn?).

The problems with the test repository are not that severe at the moment so this can probably rest for a while, but if it's getting more annoying this ticket might be an alternative.

Change History (1)

comment:1 Changed 12 years ago by Peter Johansson

It is easy to emulate several users by using option --username in svn client.

Note: See TracTickets for help on using tickets.