--- codeville-0.8.0.orig/cdvserver.conf.sample +++ codeville-0.8.0/cdvserver.conf.sample @@ -4,7 +4,7 @@ #logfile=/var/log/cdvserver.log #backup=False #port=6601 -user=cdv +#user=cdv [post-commit] # keys are regular expression matching repository names --- codeville-0.8.0.orig/debian/cdv.1 +++ codeville-0.8.0/debian/cdv.1 @@ -0,0 +1,183 @@ +.TH "CDV" 1 "Dec 1 2005" +.SH NAME +cdv \- codeville command line client tool +.SH SYNOPSIS +.B cdv \fIcommand\fP [\fIoptions\fP] +.SH DESCRIPTION + +\fBcdv\fP is a client for \fBcodeville\fP, a distributed version control +system. It aims to perform the same job as SVN, CVS, RCS, arch, etc. + +.SH COMMAND OVERVIEW + +.TP +.B "add " +Add new files to the repository. All files must be added before they will be part of the version control system. + +.TP +.B "commit [\-b] [\-m """"] [\-n]" +Commits all changes made to the repository since the last commit. A comment is required for every commit. It may either be supplied via the \-m option for simple comments or if the \-m option is omitted, whatever editor is specified in the EDITOR environment variable will be launched. If no editor is specified, vi is the default in all unixy environments (including OS X and cygwin) and Notepad is the default in Windows. In the editor, a comment may be added at the top, and file changes which the user does not wish to have in a given changeset can be removed by deleting them from the "### files" list at the bottom (although merging cannot be avoided through deleting things from the "### merge files" list). Every commit creates a changeset. If there are changes since the last update, files will be merged. In the event of unresolved conflicts, the user will be prompted to resolve them. + +.B "\-n" +used to commit changes off-line. Changes committed off-line can still be used with all commands, but are not visible to other users until an on-line commit is done. + +.B "\-b" +forces commit to not make a new changeset. This will commit changes which have already been committed locally via \-n (or as a result of having multiple repositories involved), but will not create a new changeset for existing file modifications. This is especially needed for committing to back-up servers (servers started with \-b) as it is the only way to commit changes to a back-up server. This is not the recommended way to commit changes to normal servers. In general, if one wishes to commit changes committed offline without committing new changes, one should commit and changeset with all the files in the ""### files"" list removed. + +.TP +.B "construct " +Recreates the repository at the given changeset. + +.TP +.B "create " +Creates a new repository with the appropriate name. + +.TP +.B "describe [\-x|\-d] [\-s] " +Gives the description of the changeset including the long name of the change, the user who made the change, that date it was made, the comment, the relation it has to other changesets, and what files were modified and in what manner they were modified (i.e. added, modified, renamed, or deleted). + +.B "\-s" +gives a short description + +.B "\-d" +does a diff + +.B "\-x" +displays an XML version of the output. This is not compatible with displaying a diff. This can only be used with parenthesized changesets from the file history. It's sort of a hack right now, really. + +.TP +.B "destroy " +Destroys a repository. The opposite of create. + +.TP +.B "diff [\-r [\-r ] ] []" +Does a diff between different versions of each of given files. If no files are specified, all relevant files are shown. The first \-r option indicates which changeset the diff should be from, the second which it should be to. If no changesets are specified, it shows the difference between the last known state of the repository and the current client state. + +.TP +.B "edit " +Enables editting a file. When not in edit-mode, this is unnecessary. + +.TP +.B "heads" +Lists the root nodes in the graph of changesets. + +.TP +.B "history [\-h ] [\-n ] [\-s ] [\-v] []" +Gives the history of the repository or of the files specified. Specifically, it lists all relevant change sets by short name, user, date, and comment in most recent first order. + +.B \-n +limits the number of changes printed to the given number + +.B \-h +causes it to print the history starting at the given changeset. + +.B \-s +skips the first changes. + +.B \-v +causes it to print the changes verbosely which includes additional information about each changeset which affected the files. + +.TP +.B "init" +Initialize a new client with the current directory as the root. Specify a directory other than current one by using the top level +.B \-p +switch. + +.TP +.B "is_ancestor +Tells whether or not is an ancestor of . Note that it is possible for neither changeset to be an ancestor of the other. + +.TP +.B "last-modified " +Returns the last changeset which modified a given file. + +.TP +.B "list-repos" +Lists all the repositories on the same server as the repository you are in. + +.TP +.B "password" +Change your password. + +.TP +.B "print_dag [\-h ] [\-h ] [...] " +Prints the directed acyclic graph which shows the changesets which have been applied to a file and their relationships. + +Changesets specified with +.B \-h +are treated as head nodes for the graph (i.e. later changesets are excluded). + +.TP +.B "print_history []" +Prints the directed acylcic graph of the the entire history. Starts at the given changeset, if provided. + +.TP +.B "rebuild" +Recreates all of the metadata from the static history. This should generally only be done when instructed to by software upgrade instructions. + +.TP +.B "remove " +Deletes files from the repository. + +.TP +.B "rename " +Moves or renames files. + +.TP +.B "revert [\-a] " +Reverts any local changes to the file. At this time only changes to the content of the file can be reverted. The ability to revert adds, deletes, and renames will be coming in the future. + +There is a subtle difference in the definition of revert from what you might expect. It does not guarantee that it will restore the file to some previous state. For example, if you are in the middle of a merge and call revert on a file, it will be regenerated by running the merge. If the file were modified prior to running the merge update, the file contents will now be different from anytime in the past. + +Revert should be thought of as throwing away uncommitted changes. + +.B \-a +indicates files should only be reverted if they have not been modified. Basically unmarks them as open for edit. + +.TP +.B "set " +Sets a Codeville variable to a given value. + +.TP +.B "show-vars" +Show a list of all Codeville variables and what they are set to. + +.TP +.B "status [\-v]" +Shows changes not yet committed to the repository in brief. + +.B \-v +gives more verbose status which includes mention of files which are in the directory space, but not in the repository and files missing from the directory space. + +.TP +.B "unset " +Removes a Codeville variable so that it no longer has any setting. + +.TP +.B "update [\-d]" +Gets all changes made to the repository since the last time you did an update. Files will be merged as necessary. In the event of unresolved conflicts, the user will be asked to resolve them. + +.B \-d +pull in changesets but do not merge them. Has no effect on the workspace state. This allows a user to browse and diff changesets without having to merge. + + +.SH SPECIFYING FILES + +Files can be specified using bash-style wildcards on any platform. In addition, '...' behaves like a find command, expanding all files and directories within subdirectories. +General notes: + +Flags are listed in no particular order. + +All printed graphs are output in a format intended to be run through graphviz tools' "dot" tool. + +.SH "SEE ALSO" +.BR cdvpasswd (1), +.UR http://www.codeville.org/ +.BR http://www.codevile.org/ + +.SH AUTHOR +This manual page was written by Michael Janssen from the +documentation available at +.UR http://www.codeville.org/ +.BR http://www.codeville.org/, +for the Debian GNU/Linux system (but may be used by others). --- codeville-0.8.0.orig/debian/codeville.init +++ codeville-0.8.0/debian/codeville.init @@ -0,0 +1,98 @@ +#! /bin/sh + +### BEGIN INIT INFO +# Provides: codeville +# Required-Start: $network $local_fs +# Required-Stop: $network $local_fs +# Should-Start: +# Should-Stop: +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Start a codeville server +# Description: Starts a codeville daemon for remote +# access to codeville repositories. +### END INIT INFO + +set -e + +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin +DESC="codeville server" +NAME=cdvserver +DAEMON=/usr/bin/$NAME +PIDFILE=/var/run/$NAME.pid +SCRIPTNAME=/etc/init.d/codeville + +# Gracefully exit if the package has been removed. +test -x $DAEMON || exit 0 + +DATADIR=/var/lib/codeville +LOGFILE=/var/log/codeville.log + +# Read config file if it is present. +if [ -r /etc/default/codeville ] +then +. /etc/default/codeville +fi + +# Add optional option $1 with argument $2 to OPTS, if $2 is nonempty +add_opt () { +if ! test -z "$2" ; then +OPTS="$OPTS $1 $2" +fi +} + +# Add arguments for start-stop-daemon, based on variables set in +# /etc/default/$NAME +OPTS="" +add_opt --chroot "$DAEMONCHROOT" +add_opt --chdir "$DAEMONCHDIR" +add_opt --nicelevel "$DAEMONNICE" +METAOPTS="$OPTS" + +# +#Function that starts the daemon/service. +# +d_start() { +if [ $START_CODEVILLE -ne 1 ]; then + echo -n "disabled in /etc/default/codeville" +else + echo -n "$NAME" + start-stop-daemon --start --background --quiet \ + --pidfile "$PIDFILE" \ + $METAOPTS \ + --exec $DAEMON -- -c /etc/cdvserver.conf +fi +} + +# +#Function that stops the daemon/service. +# +d_stop() { +start-stop-daemon --stop --oknodo --quiet --pidfile "$PIDFILE" +} + +case "$1" in + start) +echo -n "Starting $DESC: " +d_start +echo "." +;; + stop) +echo -n "Stopping $DESC: $NAME" +d_stop +echo "." +;; + restart|force-reload) +echo -n "Restarting $DESC: $NAME" +d_stop +sleep 1 +d_start +echo "." +;; + *) +echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 +exit 1 +;; +esac + +exit 0 --- codeville-0.8.0.orig/debian/QuickStartGuide.html +++ codeville-0.8.0/debian/QuickStartGuide.html @@ -0,0 +1,441 @@ + + + + + + + +QuickStartGuide - Codeville Wiki + + + + + + + + + + + + + + + + + + + + + +
+ + +

QuickStartGuide

+
+ +

This document describes how to use a client and a server for the first time after it has been installed. Server instructions are given after the client instructions.

+

All client instructions below assume you are within your workspace directory, not including the .cdv dir.

+ +

Creating a new project

+ +

Create a workspace directory and populate it with the files you want checked in. Within that directory: +

+
+cdv init
+cdv set user <username>
+cdv set repository <URL>
+cdv create <URL>
+cdv add ...
+cdv commit
+
+

Note: use of an email address as the username is recommended.

+

If you do not wish to collaborate with others or use a server for any other purpose, skip both setting repository and running create.

+

A repository URL has the following form: +

+
+cdv://<server>[:<port>]/<repository>
+
+ +

Check out an existing project

+ + +
+cdv init
+cdv set user <username>
+cdv set repository <URL>
+cdv update
+
+ +

Making changes

+ +

Codeville automatically detects when you have edited files in a client.

+

Rename or move files or directories: +

+
+cdv rename <source> <dest>
+
+

Delete files or directories: +

+
+cdv remove <files>
+
+

View your changes: +

+
+cdv diff [-r <changeset1> [-r <changeset2>]]
+
+

One -r flag will specify the change to diff from, a second the change to diff to. By default, the first change is the most recent change from the default repository (or the repository specied by -R). The second defaults to local, which is the current state of the workspace.

+

Show a more compact list of changes: +

+
+cdv status
+
+

When you are happy with your changes: +

+
+cdv commit
+
+ +

Reverting changes

+ +

Discard uncommitted file edits: +

+
+cdv revert <file>
+
+

Only changes to a file's contents can be reverted at this time. Name operations (add, delete, rename) are not yet reversible.

+ +

Taking branches

+ +

Branch using your current client state: +

+
+cdv create <URL2>
+cdv -R <URL2> commit
+
+

URL2 does not need to be on the same server as the URL you are branching from.

+ +

Merging branches

+ +

To merge URL2 into URL, from a client with URL set as the repository: +

+
+cdv update
+cdv -R <URL2> update
+(Resolve any name or merge conflicts)
+cdv commit
+
+

You may continue using branches after you have merged them. Codeville supports arbitrary branching, merging and remerging of any and all branches.

+ +

Resolving conflicts

+ +

File conflicts are presented in a similar fashion to CVS. Conflicting sections of the file will be marked with <<<<<<<, ======= and >>>>>>>.

+

Naming conflicts will result in mangled filenames. Look for files and directories which end with .nameconflict.local, .orphaned, .loop, etc. Sometimes there will be a file with a ".info" extension which contains where the file exists according to the update which caused the problem.

+ +

Other stuff

+ +

View history: +

+
+cdv history
+
+

This could use some explanation, but for now the change in parentheses is what brought this change into the repository. If you branch or merge, you may notice that many changes have the same one in parentheses.

+ +

Starting a server

+ +

Choose a directory to start the server in. Change into the directory and run: +

+
+cdvserver -i -f .
+
+

You will also need to create at least 1 account. Do this by running the cdvpasswd program in the server directory, for example: +

+
+cdvpasswd -f passwd add <username>
+
+

The special username "anonymous" is only allowed to do read operations on the repository.

+

Run cdvserver: +

+
+cdvserver -n -d -f <server directory>
+
+

You now have a running server. Running without -d will cause the server to fork off into the background and generally act more server-like. See the server reference for more details.

+ +

Ubuntu Init Script

+ +

Place the following in /etc/init.d/cdv and change the permissions to be world-executable using chmod 755 /etc/init.d/cdv -- note that this was based on the OpenBSD Secure Shell init script /etc/init.d/ssh.

+ +
+#! /bin/bash --
+set -e
+
+# /etc/init.d/cdv: start and stop the Codeville server
+
+oPATH="$PATH"
+
+PATH=/usr/X11R6/bin:/usr/bin:/usr/sbin:/bin:/sbin
+export PATH
+
+cdvserver="$(type -p cdvserver 2>/dev/null)"
+
+PATH="$oPATH"
+
+test :"$cdvserver" = :"" && exit 0
+
+test -x "$cdvserver" || exit 0
+( "$cdvserver" -h 2>&1 | grep -q Valid ) 2>/dev/null || exit 0
+
+if test -f /etc/default/cdv; then
+    . /etc/default/cdv
+fi
+
+. /lib/lsb/init-functions
+
+check_for_no_start() {
+    # forget it if we're trying to start, and /etc/cdv/cdvserver_not_to_be_run exists
+    if [ -e /etc/cdv/cdvserver_not_to_be_run ]; then
+        log_end_msg 0
+        log_warning_msg "Codeville server not in use (/etc/cdv/cdvserver_not_to_be_run)"
+        exit 0
+    fi
+}
+
+export PATH="${PATH:+$PATH:}/usr/sbin:/sbin"
+
+case "$1" in
+  start)
+        log_begin_msg "Starting Codeville server..."
+        check_for_no_start
+        start-stop-daemon --start --quiet --pidfile /var/run/cdvserver.pid --exec "$cdvserver" -- $CDVSERVER_OPTS || log_end_msg 1
+        log_end_msg 0
+        ;;
+  stop)
+        log_begin_msg "Stopping Codeville server..."
+        start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/cdvserver.pid || log_end_msg 1
+        log_end_msg 0
+        ;;
+
+  restart)
+        log_begin_msg "Restarting Codeville server..."
+        start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile /var/run/cdvserver.pid
+        check_for_no_start
+        start-stop-daemon --start --quiet --pidfile /var/run/cdvserver.pid --exec "$cdvserver" -- $CDVSERVER_OPTS || log_end_msg 1
+        log_end_msg 0
+        ;;
+
+  *)
+        log_success_msg "Usage: /etc/init.d/cdv {start|stop|restart}"
+        exit 1
+esac
+
+exit 0
+
+ +

Miscellaneous notes

+ +

Performance should be reasonable, there are still more optimizations to be done. For now, you will get better performance by updating after each commit.

+

All files are assumed to be text. That is, Codeville will attempt to merge them. Support for binaries and non-ascii encoded files will happen before 1.0.

+

At this point the repository format should be stable enough that there will always be an upgrade path for the servers.

+ + +
+

last edited 2007-09-03 23:30:41 by RossCohen

+ +
+
+ + + + + + --- codeville-0.8.0.orig/debian/copyright +++ codeville-0.8.0/debian/copyright @@ -0,0 +1,35 @@ +This package was debianized by Chad Walstrom on Mon May 2 +11:49:12 CDT 2005. + +It was downloaded from: + http://www.codeville.org/download/Codeville-0.1.10.tar.gz + +Copyright (C) 2002-2005 Bram Cohen and Ross Cohen + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Codeville nor the names of its contributors + may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --- codeville-0.8.0.orig/debian/rules +++ codeville-0.8.0/debian/rules @@ -0,0 +1,48 @@ +#!/usr/bin/make -f +# -*- makefile -*- +# Debian rules file for codeville +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +# Python +DEB_PYTHON_SYSTEM=pysupport + +################################################################################ +# CDBS File Inclusions and Variable Declarations +################################################################################ +include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/rules/simple-patchsys.mk +include /usr/share/cdbs/1/class/python-distutils.mk + +# Careful, fails to recognize epochs +UPSTREAM_VERSION=$(shell dpkg-parsechangelog|sed -n -e 's/^Version: \(.*\)-.*/\1/ p') + +# Pure python library for site-python directory +#DEB_PYTHON_INSTALL_ARGS_ALL = --no-compile -O0 --install-purelib=/usr/lib/site-python + +doc-update: doc-update-stamp +doc-update-stamp: + @echo "Fetching documentation from site and wiki." + lynx -dump http://codeville.org/news.php > debian/NEWS.upstream + lynx -dump http://codeville.org/doc//QuickStartGuide > debian/QuickStartGuide.txt + lynx -source http://codeville.org/doc//QuickStartGuide > debian/QuickStartGuide.html + lynx -dump http://codeville.org/doc/ServerReference > debian/ServerReference.txt + lynx -source http://codeville.org/doc/ServerReference > debian/ServerReference.html + lynx -dump http://codeville.org/doc/ClientReference > debian/ClientReference.txt + lynx -source http://codeville.org/doc/ClientReference > debian/ClientReference.html + lynx -dump http://codeville.org/doc/ToDoList > debian/ToDoList.txt + lynx -source http://codeville.org/doc/ToDoList > debian/ToDoList.html + : > $@ + +# codeville tries to install documentation in the Right Place(TM), but +# gets it wrong for Debian. Already included the LICENSE.txt in the +# copyright file. +install/codeville:: + mkdir -p debian/codeville/etc + mv debian/codeville/usr/share/doc/Codeville-$(UPSTREAM_VERSION)/cdvserver.conf.sample \ + debian/codeville/etc/cdvserver.conf + rm -rf debian/codeville/usr/share/doc/Codeville-$(UPSTREAM_VERSION) + +clean:: + -find -name \*.pyc -exec rm \{\} \; + -rm doc-update-stamp --- codeville-0.8.0.orig/debian/changelog +++ codeville-0.8.0/debian/changelog @@ -0,0 +1,103 @@ +codeville (0.8.0-1.1) unstable; urgency=low + + * Non-maintainer upload. + * debian/rules: moved rules to clean doc directory from + common-install-indep target to install/codeville target. + (Closes: #526573, #527828) + * debian/compat: updated to 5. + * debian/control: bump Standards-Version to 3.8.3 + * debian/control: added build-depends-indep on lynx. (Closes: #528738) + + -- Francesco Namuri Thu, 27 Aug 2009 17:54:26 +0200 + +codeville (0.8.0-1) unstable; urgency=low + + * New upstream release. Closes: #457221 + * Bump Standards-Version to 3.7.3.0. + * Use new "Homepage" field. + * Add cdvserver init script, disabled by default. Closes: #325805 + * Change recommends so they can install on all archs. Closes: #436642 + + -- Michael Janssen Sun, 06 Jan 2008 09:49:36 -0600 + +codeville (0.1.16-3) unstable; urgency=low + + * Codeville runs fine on newer pythons, so let it work on 2.4. + Closes: #385455 + + -- Michael Janssen Wed, 6 Sep 2006 07:36:10 -0500 + +codeville (0.1.16-2) unstable; urgency=low + + * Added manpages for cdv, cdvserver, cdvpasswd, cdv-agent, and + cdvupgrade. Closes: #325806 + * Bump Standards-Version to 3.7.2.0 + * Migrate to python-support and new python policy. Closes: #380762 + + -- Michael Janssen Tue, 1 Aug 2006 22:31:37 -0500 + +codeville (0.1.16-1) unstable; urgency=low + + * New upstream version. Closes: #353158 + * debian/{reference.html,client.html,server.html}: Replaced with + text and html version of documents on the Codeville wiki. + * debian/NEWS: Replaced with text version of news.php file on Codeville + site. + * debian/ToDoList.{txt,html}: Pulled from Codeville wiki. + * debian/rules: added `doc-update' target to run lynx to update wiki/web + documentation pull. (Maintainer help tool. Not run by default.) + + -- Chad Walstrom Tue, 28 Feb 2006 11:10:11 -0600 + +codeville (0.1.13-1) unstable; urgency=low + + * New upstream version. + * Removed debian/patched/pathfix.patch (included in upstream) + + -- Michael Janssen Wed, 20 Jul 2005 00:37:32 -0500 + +codeville (0.1.12-2) unstable; urgency=low + + * debian/patches/pathfix.patch: Patch submitted to codeville developer's + email list by Sudhi Herle . Fixes cdv's dependence on + PYTHONPATH to find required modules. + * debian/patches/mergelcs-shebang.patch: Remove shebang in + Codeville/mergelcs.py + + -- Chad Walstrom Thu, 14 Jul 2005 10:01:01 -0500 + +codeville (0.1.12-1) experimental; urgency=low + + * debian/README.Debian: Removed section about non-free. + * debian/*.html: Updated documentation to recent upstream web docs. + + -- Chad Walstrom Tue, 24 May 2005 17:17:15 -0500 + +codeville (0.1.12-0) experimental; urgency=low + + * New upstream version. + * debian/control: Changed Maintainer to Michael Janssen + . Added "Uploaders" field. + * debian/NEWS: Added "Changelog" style comments from + http://codeville.org/ regarding this version. + * debian/control: linda didn't like the short description being + repeated in the long description. + + -- Chad Walstrom Thu, 12 May 2005 10:57:51 -0500 + +codeville (0.1.11-0) experimental; urgency=low + + * New upstream. + * debian/NEWS: New file explaining important changes. + * debian/copyright: Upstream license changed to BSD style! + * debian/patches/lcsmatch-shebang.patch: Added to shut lintian up. + * debian/rules: Cleaned up to recognize upstream version. + + -- Chad Walstrom Fri, 6 May 2005 11:40:18 -0500 + +codeville (0.1.10-0) experimental; urgency=low + + * Initial package release. Closes: #280209 + + -- Chad Walstrom Mon, 2 May 2005 12:26:06 -0500 + --- codeville-0.8.0.orig/debian/cdvserver.1 +++ codeville-0.8.0/debian/cdvserver.1 @@ -0,0 +1,51 @@ +.TH "CDVSERVER" 1 "Dec 1 2005" +.SH NAME +cdvserver \- server for the codeville distributed revision system. +.SH SYNOPSIS +.B cdvserver [\-c \fBfile\fP | \-n] [\-f \fBfile\fP] [\-l \fBfile\fP] [-p \fBfile\fP] [\-b] [\-d] [\-r] [\-u \fBuser\fP] +.SH DESCRIPTION +This manual page documents briefly the \fBcdvserver\fP +command. +This manual page was written for the Debian distribution +because the original program does not have a manual page. +.PP +\fBcdvserver\fP is a server for the codeville distributed +revision system. A server keeps track of revisions and holds a +database used for revision control. The codeville system +needs both a server and a client. \fBcdv\fP is the only +known codeville client. +.SH OPTIONS +.B \-c +Specify file to use as a configuration file. +.TP +.B \-n +Don't use a configuration file. +.TP +.B \-f +Specify where all the database files and password file go. +.TP +.B \-l +Specify where the server output goes when daemonized. +.TP +.B \-p +Specify a file to hold the process ID of the server in. +.TP +.B \-b +Start server in backup mode. +.TP +.B \-d +Don't daemonize, won't write pidfile or logfile. +.TP +.B \-u +Run as the given user, must be root to do this. +.TP +.B \-r +Rebuild internal data structures on startup. +.SH SEE ALSO +.BR cdv (1), +.BR cdvpasswd (1), +.UR http://www.codeville.org +.BR http://www.codeville.org +.SH AUTHOR +This manual page was written by Michael Janssen , +for the Debian GNU/Linux system (but may be used by others). --- codeville-0.8.0.orig/debian/ClientReference.html +++ codeville-0.8.0/debian/ClientReference.html @@ -0,0 +1,583 @@ + + + + + + + +ClientReference - Codeville Wiki + + + + + + + + + + + + + + + + + + + + + +
+ + +

ClientReference

+
+ + +

Codeville commands

+ + +

Options

+ +
+
-p, --path
+

<path> to client

+
+
-R, --repository
+

<repository> for this operation

+
+
-u, --user
+

<user> as whom to perform this operation

+
+
-V, --version
+

Print version information

+
+
+ +

Subcommands

+ + +
+add <files>
+
+
    +
  • Add new files to the repository. All files must be added before they will be part of the version control system.

    +
  • +
+
+

+

+
+commit [-b] [-m <comment>|-M <comment-file>] [-D <date>] [-n]
+
+
    +
  • Commits all changes made to the repository since the last commit. A comment is required for every commit. It may either be supplied via the -m option for simple comments or if the -m option is omitted, whatever editor is specified in the EDITOR environment variable will be launched. If no editor is specified, vi is the default in all unixy environments (including OS X and cygwin) and Notepad is the default in Windows. In the editor, a comment may be added at the top, and file changes which the user does not wish to have in a given changeset can be removed by deleting them from the "### files" list at the bottom (although merging cannot be avoided through deleting things from the "### merge files" list). Every commit creates a changeset. If there are changes since the last update, files will be merged. In the event of unresolved conflicts, the user will be prompted to resolve them.

    +
  • +
+
+
-b, --backup
+

Forces commit to not make a new changeset. This will commit changes which have already been committed locally via -n (or as a result of having multiple repositories involved), but will not create a new changeset for existing file modifications. This is especially needed for committing to back-up servers (servers started with -b) as it is the only way to commit changes to a back-up server. This is not the recommended way to commit changes to normal servers. In general, if one wishes to commit changes committed offline without committing new changes, one should commit and changeset with all the files in the "### files" list removed.

+
+
-D, --date
+

YYYY/MM/DD HH:MM:SS TZ indicating changeset creation time

+
+
-m, --message
+

Use message as the commit message

+
+
-M, --message-file
+

Get commit message from file

+
+
-n, --no-network
+

is used to commit changes off-line. Changes committed off-line can still be used with all commands, but are not visible to other users until an on-line commit is done.

+
+
+
+

+

+
+construct <changeset>
+
+
    +
  • Recreates the repository at the given changeset.

    +
  • +
+
+

+

+
+create <repository name>
+
+
    +
  • Creates a new repository with the appropriate name.

    +
  • +
+
+

+

+
+describe [-x|-d] [-s] <changeset>
+
+
    +
  • Gives the description of the changeset including the long name of the change, the user who made the change, that date it was made, the comment, the relation it has to other changesets, and what files were modified and in what manner they were modified (i.e. added, modified, renamed, or deleted).

    +
  • +
+
+
-d, --diff
+

does a diff

+
+
-x, --xml
+

displays an XML version of the output. This is not compatible with displaying a diff. This can only be used with parenthesized changesets from the file history. It's sort of a hack right now, really.

+
+
+
+

+

+
+destroy <repository>
+
+
    +
  • Destroys a repository. The opposite of create.

    +
  • +
+
+

+

+
+diff [-r <changeset> [-r <changeset>] ] [<files>]
+
+
    +
  • Does a diff between different versions of each of given files. If no files are specified, all relevant files are shown. The first -r option indicates which changeset the diff should be from, the second which it should be to. If no changesets are specified, it shows the difference between the last known state of the repository and the current client state.

    +
  • +
+
+

+

+
+edit <files>
+
+
    +
  • Enables editting a file. When not in edit-mode, this is unnecessary.

    +
  • +
+
+

+

+
+heads
+
+
    +
  • Lists the root nodes in the graph of changesets.

    +
  • +
+
+

+

+
+history [-h <changeset>] [-c <count>] [-s <skip count>] [-v] [<files>]
+
+
    +
  • Gives the history of the repository or of the files specified. Specifically, it lists all relevant change sets by short name, user, date, and comment in most recent first order.

    +
  • +
+
+
-c, --count
+

print only the specified number of changes.

+
+
-h, --head
+

print the history starting at the given changeset.

+
+
-s, --skip
+

skips the first skip count changes.

+
+
-v, --verbose
+

causes it to print the changes verbosely which includes additional information about each changeset which affected the files.

+
+
+
+

+

+
+init
+
+
    +
  • Initialize a new client with the current directory as the root. Specify a directory other than current one by using the top level -p switch.

    +
  • +
+
+

+

+
+is_ancestor <changeset1> <changeset2>
+
+
    +
  • Tells whether or not changeset1 is an ancestor of changeset2. Note that it is possible for neither changeset to be an ancestor of the other.

    +
  • +
+
+

+

+
+last-modified <file>
+
+
    +
  • Returns the last changeset which modified a given file.

    +
  • +
+
+

+

+
+list-repos
+
+
    +
  • Lists all the repositories on the same server as the repository you are in.

    +
  • +
+
+

+

+
+password
+
+
    +
  • Change your password.

    +
  • +
+
+

+

+
+print_dag [-h <changeset>] [-h <changeset>] [...] <file>
+
+
    +
  • Prints the directed acyclic graph which shows the changesets which have been applied to a file and their relationships.

    +

    Changesets specified with -h are treated as head nodes for the graph (i.e. later changesets are excluded).

    +
  • +
+
+

+

+
+print_history [<changeset>]
+
+
    +
  • Prints the directed acylcic graph of the the entire history. Starts at the given changeset, if provided.

    +
  • +
+
+

+

+
+rebuild
+
+
    +
  • Recreates all of the metadata from the static history. This should generally only be done when instructed to by software upgrade instructions.

    +
  • +
+
+

+

+
+remove <files>
+
+
    +
  • Deletes files from the repository.

    +
  • +
+
+

+

+
+rename <file> <newname>
+
+
    +
  • Moves or renames files.

    +
  • +
+
+

+

+
+revert [-a] <files>
+
+
    +
  • Reverts any local changes to the file. At this time only changes to the content of the file can be reverted. The ability to revert adds, deletes, and renames will be coming in the future.

    +

    There is a subtle difference in the definition of revert from what you might expect. It does not guarantee that it will restore the file to some previous state. For example, if you are in the middle of a merge and call revert on a file, it will be regenerated by running the merge. If the file were modified prior to running the merge update, the file contents will now be different from anytime in the past.

    +

    Revert should be thought of as throwing away uncommitted changes.

    +
  • +
+
+
-a, --unmodified
+

indicates files should only be reverted if they have not been modified. Basically unmarks them as open for edit.

+
+
+
+

+

+
+set <variable> <value>
+
+
    +
  • Sets a Codeville variable to a given value.

    +
  • +
+
+

+

+
+show-vars
+
+
    +
  • Show a list of all Codeville variables and what they are set to.

    +
  • +
+
+

+

+
+status [-v]
+
+
    +
  • Shows changes not yet committed to the repository in brief.

    +
  • +
+
+
-v, --verbose
+

A more verbose status which includes mention of files which are in the directory space, but not in the repository and files missing from the directory space.

+
+
+
+

+

+
+unset <variable>
+
+
    +
  • Removes a Codeville variable so that it no longer has any setting.

    +
  • +
+
+

+

+
+update [-d]
+
+
    +
  • Gets all changes made to the repository since the last time you did an update. Files will be merged as necessary. In the event of unresolved conflicts, the user will be asked to resolve them.

    +
  • +
+
+
-d, --dont-merge
+

Pull in changesets but do not merge them. Has no effect on the workspace state. This allows a user to browse and diff changesets without having to merge.

+
+
+

Specifying files:

+ +

General Notes

+ +

Files can be specified using bash-style wildcards on any platform. In addition, '...' behaves like a find command, expanding all files and directories within subdirectories.

+

All printed graphs are output in a format intended to be run through the graphviz "dot" tool.

+

Using tcsh as the startup shell under cygwin appears to result in the Python password command hanging, so it is incompatible with Codeville and there's not a thing we can do about it.

+ + +
+

last edited 2007-09-03 23:31:00 by RossCohen

+ +
+
+ + + + + + --- codeville-0.8.0.orig/debian/QuickStartGuide.txt +++ codeville-0.8.0/debian/QuickStartGuide.txt @@ -0,0 +1,273 @@ + #[1]Codeville Wiki Recent Changes [2]Start [3]Wiki Markup [4]Print View + [5]Search [6]Index [7]Glossary [8]Help + + [9]Codeville Wiki + Search: ____________________ Titles Text + * [10]Login + + * [11]FrontPage + * [12]RecentChanges + * [13]FindPage + * [14]HelpContents + * [15]QuickStartGuide + __________________________________________________________________ + + * Immutable Page + * [16]Show Changes + * [17]Get Info + * More Actions: + [Show Raw Text......] Do + +[18]QuickStartGuide + + This document describes how to use a client and a server for the first + time after it has been installed. Server instructions are given after + the client instructions. + + All client instructions below assume you are within your workspace + directory, not including the .cdv dir. + +Creating a new project + + Create a workspace directory and populate it with the files you want + checked in. Within that directory: +cdv init +cdv set user +cdv set repository +cdv create +cdv add ... +cdv commit + + Note: use of an email address as the username is recommended. + + If you do not wish to collaborate with others or use a server for any + other purpose, skip both setting repository and running create. + + A repository URL has the following form: +cdv://[:]/ + +Check out an existing project + +cdv init +cdv set user +cdv set repository +cdv update + +Making changes + + Codeville automatically detects when you have edited files in a client. + + Rename or move files or directories: +cdv rename + + Delete files or directories: +cdv remove + + View your changes: +cdv diff [-r [-r ]] + + One -r flag will specify the change to diff from, a second the change + to diff to. By default, the first change is the most recent change from + the default repository (or the repository specied by -R). The second + defaults to local, which is the current state of the workspace. + + Show a more compact list of changes: +cdv status + + When you are happy with your changes: +cdv commit + +Reverting changes + + Discard uncommitted file edits: +cdv revert + + Only changes to a file's contents can be reverted at this time. Name + operations (add, delete, rename) are not yet reversible. + +Taking branches + + Branch using your current client state: +cdv create +cdv -R commit + + URL2 does not need to be on the same server as the URL you are + branching from. + +Merging branches + + To merge URL2 into URL, from a client with URL set as the repository: +cdv update +cdv -R update +(Resolve any name or merge conflicts) +cdv commit + + You may continue using branches after you have merged them. Codeville + supports arbitrary branching, merging and remerging of any and all + branches. + +Resolving conflicts + + File conflicts are presented in a similar fashion to CVS. Conflicting + sections of the file will be marked with <<<<<<<, ======= and >>>>>>>. + + Naming conflicts will result in mangled filenames. Look for files and + directories which end with .nameconflict.local, .orphaned, .loop, etc. + Sometimes there will be a file with a ".info" extension which contains + where the file exists according to the update which caused the problem. + +Other stuff + + View history: +cdv history + + This could use some explanation, but for now the change in parentheses + is what brought this change into the repository. If you branch or + merge, you may notice that many changes have the same one in + parentheses. + +Starting a server + + Choose a directory to start the server in. Change into the directory + and run: +cdvserver -i -f . + + You will also need to create at least 1 account. Do this by running the + cdvpasswd program in the server directory, for example: +cdvpasswd -f passwd add + + The special username "anonymous" is only allowed to do read operations + on the repository. + + Run cdvserver: +cdvserver -n -d -f + + You now have a running server. Running without -d will cause the server + to fork off into the background and generally act more server-like. See + the server reference for more details. + +Ubuntu Init Script + + Place the following in /etc/init.d/cdv and change the permissions to be + world-executable using chmod 755 /etc/init.d/cdv -- note that this was + based on the OpenBSD Secure Shell init script /etc/init.d/ssh. +#! /bin/bash -- +set -e + +# /etc/init.d/cdv: start and stop the Codeville server + +oPATH="$PATH" + +PATH=/usr/X11R6/bin:/usr/bin:/usr/sbin:/bin:/sbin +export PATH + +cdvserver="$(type -p cdvserver 2>/dev/null)" + +PATH="$oPATH" + +test :"$cdvserver" = :"" && exit 0 + +test -x "$cdvserver" || exit 0 +( "$cdvserver" -h 2>&1 | grep -q Valid ) 2>/dev/null || exit 0 + +if test -f /etc/default/cdv; then + . /etc/default/cdv +fi + +. /lib/lsb/init-functions + +check_for_no_start() { + # forget it if we're trying to start, and /etc/cdv/cdvserver_not_to_be_run e +xists + if [ -e /etc/cdv/cdvserver_not_to_be_run ]; then + log_end_msg 0 + log_warning_msg "Codeville server not in use (/etc/cdv/cdvserver_not_to_ +be_run)" + exit 0 + fi +} + +export PATH="${PATH:+$PATH:}/usr/sbin:/sbin" + +case "$1" in + start) + log_begin_msg "Starting Codeville server..." + check_for_no_start + start-stop-daemon --start --quiet --pidfile /var/run/cdvserver.pid --exe +c "$cdvserver" -- $CDVSERVER_OPTS || log_end_msg 1 + log_end_msg 0 + ;; + stop) + log_begin_msg "Stopping Codeville server..." + start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/cdvserver.p +id || log_end_msg 1 + log_end_msg 0 + ;; + + restart) + log_begin_msg "Restarting Codeville server..." + start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile /var/run/ +cdvserver.pid + check_for_no_start + start-stop-daemon --start --quiet --pidfile /var/run/cdvserver.pid --exe +c "$cdvserver" -- $CDVSERVER_OPTS || log_end_msg 1 + log_end_msg 0 + ;; + + *) + log_success_msg "Usage: /etc/init.d/cdv {start|stop|restart}" + exit 1 +esac + +exit 0 + +Miscellaneous notes + + Performance should be reasonable, there are still more optimizations to + be done. For now, you will get better performance by updating after + each commit. + + All files are assumed to be text. That is, Codeville will attempt to + merge them. Support for binaries and non-ascii encoded files will + happen before 1.0. + + At this point the repository format should be stable enough that there + will always be an upgrade path for the servers. + + last edited 2007-09-03 23:30:41 by RossCohen + + * Immutable Page + * [19]Show Changes + * [20]Get Info + * More Actions: + [Show Raw Text......] Do + + * [21]MoinMoin Powered + * [22]Python Powered + * [23]Valid HTML 4.01 + +References + + 1. http://codeville.org/doc/RecentChanges?action=rss_rc&ddiffs=1&unique=1 + 2. http://codeville.org/doc/FrontPage + 3. http://codeville.org/doc/QuickStartGuide?action=raw + 4. http://codeville.org/doc/QuickStartGuide?action=print + 5. http://codeville.org/doc/FindPage + 6. http://codeville.org/doc/TitleIndex + 7. http://codeville.org/doc/WordIndex + 8. http://codeville.org/doc/HelpOnFormatting + 9. http://codeville.org/doc/FrontPage + 10. http://codeville.org/doc/UserPreferences + 11. http://codeville.org/doc/FrontPage + 12. http://codeville.org/doc/RecentChanges + 13. http://codeville.org/doc/FindPage + 14. http://codeville.org/doc/HelpContents + 15. http://codeville.org/doc/QuickStartGuide + 16. http://codeville.org/doc/QuickStartGuide?action=diff + 17. http://codeville.org/doc/QuickStartGuide?action=info + 18. http://codeville.org/doc/QuickStartGuide?action=fullsearch&value=linkto%3A%22QuickStartGuide%22&context=180 + 19. http://codeville.org/doc/QuickStartGuide?action=diff + 20. http://codeville.org/doc/QuickStartGuide?action=info + 21. http://moinmoin.wikiwikiweb.de/ + 22. http://www.python.org/ + 23. http://validator.w3.org/check?uri=referer --- codeville-0.8.0.orig/debian/cdvupgrade.1 +++ codeville-0.8.0/debian/cdvupgrade.1 @@ -0,0 +1,20 @@ +.TH "CDVUPGRADE" 1 "Aug 1 2006" +.SH NAME +cdvupgrade \- upgrades codeville repositories and server directories +.SH SYNOPSIS +.B cdvupgrade [ \fI\fP ] +.SH OPTIONS +.TP +.B "" +Specify the directory to upgrade. This directory can be the base directory +of either a checked-out repository or a server instance. + +.SH SEE ALSO +.BR cdv (1), +.BR cdvserver (1), +.UR http://www.codeville.org/ +.BR http://www.codeville.org/ + +.SH AUTHOR +This manual page was written by Michael Janssen , +for the Debian GNU/Linux system (but may be used by others). --- codeville-0.8.0.orig/debian/compat +++ codeville-0.8.0/debian/compat @@ -0,0 +1 @@ +5 --- codeville-0.8.0.orig/debian/control +++ codeville-0.8.0/debian/control @@ -0,0 +1,20 @@ +Source: codeville +Section: devel +Priority: optional +Maintainer: Michael Janssen +Uploaders: Chad Walstrom +Build-Depends: cdbs (>= 0.4.43), python-all-dev (>= 2.3.5-11), debhelper (>= 5.0.37.2), python-support (>= 0.3) +Standards-Version: 3.8.3 + +Package: codeville +Architecture: all +Depends: ${python:Depends}, ${misc:Depends}, ${shlibs:Depends} +Recommends: python-psyco [i386] +Provides: ${python:Provides} +XB-Python-Version: ${python:Versions} +Description: a distributed version control system + Codeville is a python-based distributed version control system that + began with a novel idea for a merge algorithm and has grown from + there. It is designed to be easy to use and scale from small personal + projects to very large distributed ones. +Homepage: http://www.codeville.org/ --- codeville-0.8.0.orig/debian/codeville.manpages +++ codeville-0.8.0/debian/codeville.manpages @@ -0,0 +1,5 @@ +debian/cdv.1 +debian/cdv-agent.1 +debian/cdvpasswd.1 +debian/cdvserver.1 +debian/cdvupgrade.1 --- codeville-0.8.0.orig/debian/QuickStartGuide-1.txt +++ codeville-0.8.0/debian/QuickStartGuide-1.txt @@ -0,0 +1,197 @@ + + #[1]Codeville Wiki Recent Changes [2]Start [3]Wiki Markup [4]Print + View [5]Search [6]Index [7]Glossary [8]Help + + [9]Codeville Wiki + Search: ____________________ Titles Text + * [10]Login + + * [11]FrontPage + * [12]RecentChanges + * [13]FindPage + * [14]HelpContents + * [15]QuickStartGuide + _________________________________________________________________ + + * Immutable Page + * [16]Show Changes + * [17]Get Info + * More Actions: + [Show Raw Text......] Do + +[18]QuickStartGuide + + All client instructions below assume you are within your workspace + directory, not including the .cdv dir. + +Creating a new project + + Create a workspace directory and populate it with the files you want + checked in. Within that directory: +cdv init +cdv set user +cdv set repository +cdv create +cdv add ... +cdv commit + + Note: use of an email address as the username is recommended. + + If you do not wish to collaborate with others or use a server for any + other purpose, skip both setting repository and running create. + + A repository URL has the following form: +cdv://[:]/ + +Check out an existing project + +cdv init +cdv set user +cdv set repository +cdv update + +Making changes + + Codeville automatically detects when you have edited files in a + client. + + Rename or move files or directories: +cdv rename + + Delete files or directories: +cdv remove + + View your changes: +cdv diff [-r [-r ]] + + One -r flag will specify the change to diff from, a second the change + to diff to. By default, the first change is the most recent change + from the default repository (or the repository specied by -R). The + second defaults to local, which is the current state of the workspace. + + Show a more compact list of changes: +cdv status + + When you are happy with your changes: +cdv commit + +Reverting changes + + Discard uncommitted file edits: +cdv revert + + Only changes to a file's contents can be reverted at this time. Name + operations (add, delete, rename) are not yet reversible. + +Taking branches + + Branch using your current client state: +cdv create +cdv -R commit + + URL2 does not need to be on the same server as the URL you are + branching from. + +Merging branches + + To merge URL2 into URL, from a client with URL set as the repository: +cdv update +cdv -R update +(Resolve any name or merge conflicts) +cdv commit + + You may continue using branches after you have merged them. Codeville + supports arbitrary branching, merging and remerging of any and all + branches. + +Resolving conflicts + + File conflicts are presented in a similar fashion to CVS. Conflicting + sections of the file will be marked with <<<<<<<, ======= and >>>>>>>. + + Naming conflicts will result in mangled filenames. Look for files and + directories which end with .nameconflict.local, .orphaned, .loop, etc. + Sometimes there will be a file with a ".info" extension which contains + where the file exists according to the update which caused the + problem. + +Other stuff + + View history: +cdv history + + This could use some explanation, but for now the change in parentheses + is what brought this change into the repository. If you branch or + merge, you may notice that many changes have the same one in + parentheses. + +Starting a server + + Choose a directory to start the server in. Change into the directory + and run: +cdvserver -i -f . + + You will also need to create at least 1 account. Do this by running + the cdvpasswd program in the server directory, for example: +cdvpasswd -f passwd add + + The special username "anonymous" is only allowed to do read operations + on the repository. + + Run cdvserver: +cdvserver -n -d -f + + You now have a running server. Running without -d will cause the + server to fork off into the background and generally act more + server-like. See the server reference for more details. + +Miscellaneous notes + + Performance should be reasonable, there are still more optimizations + to be done. For now, you will get better performance by updating after + each commit. + + All files are assumed to be text. That is, Codeville will attempt to + merge them. Support for binaries and non-ascii encoded files will + happen before 1.0. + + At this point the repository format should be stable enough that there + will always be an upgrade path for the servers. + + last edited 2005-10-06 23:46:50 by RossCohen + + * Immutable Page + * [19]Show Changes + * [20]Get Info + * More Actions: + [Show Raw Text......] Do + + * [21]MoinMoin Powered + * [22]Python Powered + * [23]Valid HTML 4.01 + +References + + 1. http://codeville.org/doc/RecentChanges?action=rss_rc&ddiffs=1&unique=1 + 2. http://codeville.org/doc/FrontPage + 3. http://codeville.org/doc/QuickStartGuide?action=raw + 4. http://codeville.org/doc/QuickStartGuide?action=print + 5. http://codeville.org/doc/FindPage + 6. http://codeville.org/doc/TitleIndex + 7. http://codeville.org/doc/WordIndex + 8. http://codeville.org/doc/HelpOnFormatting + 9. http://codeville.org/doc/FrontPage + 10. http://codeville.org/doc/UserPreferences + 11. http://codeville.org/doc/FrontPage + 12. http://codeville.org/doc/RecentChanges + 13. http://codeville.org/doc/FindPage + 14. http://codeville.org/doc/HelpContents + 15. http://codeville.org/doc/QuickStartGuide + 16. http://codeville.org/doc/QuickStartGuide?action=diff + 17. http://codeville.org/doc/QuickStartGuide?action=info + 18. http://codeville.org/doc/QuickStartGuide?action=fullsearch&value=linkto%3A%22QuickStartGuide%22&context=180 + 19. http://codeville.org/doc/QuickStartGuide?action=diff + 20. http://codeville.org/doc/QuickStartGuide?action=info + 21. http://moinmoin.wikiwikiweb.de/ + 22. http://www.python.org/ + 23. http://validator.w3.org/check?uri=referer --- codeville-0.8.0.orig/debian/ToDoList.html +++ codeville-0.8.0/debian/ToDoList.html @@ -0,0 +1,297 @@ + + + + + + + +ToDoList - Codeville Wiki + + + + + + + + + + + + + + + + + + + + + +
+ + +

ToDoList

+
+ + +

The Magic TODO list

+ + +

larger features

+ +
    +
  • merge-through-conflict code (necessary in rare cases for revert and resurrection)

    +
  • +
  • revert (for name operations, this already works for file contents)

    +
  • +
  • resurrecting deleted files

    +
  • +
  • access control lists on repository paths in the server

    +
  • +
  • support for binaries

    +
  • +
  • metadata (the execute bit, for instance)

    +
  • +
  • internationalization

    +
  • +
  • deal with case-insensitive file systems

    +
  • +
  • more polish

    +
  • +
  • cherry picking individual changes

    +
  • +
  • rollback of individual changes

    +
  • +
+ +

smaller stuff

+ +
    +
  • Security audit of networking code

    +
  • +
  • Shared secrets are stored encrypted against the users password, should also include a salt to protect against precomputed dictionary attacks

    +
  • +
  • Move authentication-related info out of the tree.

    +
  • +
  • Graphical history browsing tool.

    +
  • +
  • Graphical conflict resolution tool, something like dirdiff which can read the inline conflict info.

    +
  • +
  • Code cleanup - there are places in the code (sync_history(), gen_changeset(), handle_contents_at_point()) which should be using DFS.py to do a topological sort instead of being ad-hoc about it. This is a good way to become more familiar with the code.

    +
  • +
  • Replace the stop-and-wait changeset fetching over the network with something better. Ask on the mailing list for more details.

    +
  • +
  • Better parallelize the delta fetching and history replaying by moving one of the 2 into a separate thread.

    +
  • +
  • Documentation. Some HowTo guides would be especially useful for things like history browsing.

    +
  • +
  • Fix the file ignore pattern stuff. Should probably work more like CVS.

    +
  • +
  • Remember which files had conflicts after an update and have the status command display them.

    +
  • +
  • Force users to resolve name conflicts before allowing relevent files to be committed.

    +
  • +
+ + +
+

last edited 2007-09-03 23:29:17 by RossCohen

+ +
+
+ + + + + + --- codeville-0.8.0.orig/debian/NEWS.Debian +++ codeville-0.8.0/debian/NEWS.Debian @@ -0,0 +1,46 @@ +codeville (0.1.16-1) unstable; urgency=low + + New upstream version and some documentation changes for the Debian + package. Documents are now pulled from the Codeville website and + wiki using the debian/rules target `doc-update'. + + -- Chad Walstrom Tue, 28 Feb 2006 11:12:56 -0600 + +codeville (0.1.12-0) experimental; urgency=low + + (From the NEWS section of the Codeville homepage) + + 5/7/2005: Version 0.1.12 is out! + New in this release: + + * fixed: obscure issues in cdvupgrade pertaining to convergence + * fixed: small issue with changeset generation related to the + * above issue + * fixed: packaging issue which prevented code needed by cdvupgrade + * from being included + * fixed: a few issues with the new unified diff code + * fixed: setup.py reflects the new code license + * fixed: cdvupgrade fixed so running cdvupgrade on its own output + * is an identity operation + * fixed: cdvupgrade ignores floating history on servers + + -- Chad Walstrom Thu, 12 May 2005 10:08:47 -0500 + +codeville (0.1.11-0) experimental; urgency=low + + In this version of Codeville, the biggest news for Debian is + probably the license change, which is now a BSD style license + instead of the Open Source License v2.0. + + Usability enhancements were introduced upstream, as well as a new + merge algorithm and performance enhancements. + + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! You must run cdvupgrade on any clients and servers for this !! + !! release. Note that it is much faster to do fresh checkouts !! + !! than to upgrade clients. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + + Read the upstream changelog for more details. + + -- Chad Walstrom Fri, 6 May 2005 10:26:50 -0500 --- codeville-0.8.0.orig/debian/ServerReference.txt +++ codeville-0.8.0/debian/ServerReference.txt @@ -0,0 +1,119 @@ + #[1]Codeville Wiki Recent Changes [2]Start [3]Wiki Markup [4]Print View + [5]Search [6]Index [7]Glossary [8]Help + + [9]Codeville Wiki + Search: ____________________ Titles Text + * [10]Login + + * [11]FrontPage + * [12]RecentChanges + * [13]FindPage + * [14]HelpContents + * [15]ServerReference + __________________________________________________________________ + + * Immutable Page + * [16]Show Changes + * [17]Get Info + * More Actions: + [Show Raw Text......] Do + +[18]ServerReference + +Running a Server + + * cdvserver + +Unix and OS X + +Config file options + + -c + + -n + no config file + +Files and Directories + + -f + where all the database files and password file go + + -l + server output goes here when daemonized + + -p + +Control options + + -b + start server in backup mode + + -d + don"t daemonize, won"t write pidfile or logfile + + -u + run as the given user, must be root to do this + + -r + rebuild internal data structures on startup + +General Notes + + By default, the server will look for a config file in + /etc/cdvserver.conf. The distributed version includes the defaults for + the various options commented out. Command line options take precedence + over the config file. + +Windows + + The above options largely apply, except the server does not look for a + config file by default, does not daemonize and assumes the data dir is + the current directory. + +Config File + + The [control] section of the config file should be self-explanatory. + Key/value pairs in [post-commit] allow you to execute scripts in + response to checkins. Keys are regular expressions, matched against the + repository name. Values are scripts into which some XML describing the + checkin will be sent as stdin. The XML is the same as the output of + describe with the -x option, only there is also a tag in + the server generated version. + + last edited 2007-09-03 23:32:52 by RossCohen + + * Immutable Page + * [19]Show Changes + * [20]Get Info + * More Actions: + [Show Raw Text......] Do + + * [21]MoinMoin Powered + * [22]Python Powered + * [23]Valid HTML 4.01 + +References + + 1. http://codeville.org/doc/RecentChanges?action=rss_rc&ddiffs=1&unique=1 + 2. http://codeville.org/doc/FrontPage + 3. http://codeville.org/doc/ServerReference?action=raw + 4. http://codeville.org/doc/ServerReference?action=print + 5. http://codeville.org/doc/FindPage + 6. http://codeville.org/doc/TitleIndex + 7. http://codeville.org/doc/WordIndex + 8. http://codeville.org/doc/HelpOnFormatting + 9. http://codeville.org/doc/FrontPage + 10. http://codeville.org/doc/UserPreferences + 11. http://codeville.org/doc/FrontPage + 12. http://codeville.org/doc/RecentChanges + 13. http://codeville.org/doc/FindPage + 14. http://codeville.org/doc/HelpContents + 15. http://codeville.org/doc/ServerReference + 16. http://codeville.org/doc/ServerReference?action=diff + 17. http://codeville.org/doc/ServerReference?action=info + 18. http://codeville.org/doc/ServerReference?action=fullsearch&value=linkto%3A%22ServerReference%22&context=180 + 19. http://codeville.org/doc/ServerReference?action=diff + 20. http://codeville.org/doc/ServerReference?action=info + 21. http://moinmoin.wikiwikiweb.de/ + 22. http://www.python.org/ + 23. http://validator.w3.org/check?uri=referer --- codeville-0.8.0.orig/debian/NEWS.upstream +++ codeville-0.8.0/debian/NEWS.upstream @@ -0,0 +1,593 @@ + * [1]Home + * [2]Download + * [3]News + * [4]Docs + * [5]Todo + +NEWS + + 7/13/2007: Version 0.8.0 is out! + + New in this release: + * Remember commit message and autofill it on next attempt if commit + fails + * fixed: catch requests for non-existent diffs + * fixed: error handling cleanup in networking code + * fixed: Windows-specific networking fixes + * fixed: binary file corruption on Windows with 'construct' + * fixed: glob expansion with 'describe -d' + * fixed: renaming corner case involving directories, renaming and + deleting + * fixed: files renamed out of a deleted directory on another branch + were marked as a name conflict + * fixed: use case-insensitive regexps for post-commit hooks because + the config parser lowercases everything + * fixed: filesystem timestamp precision problems + * fixed: Python 2.5 fixes + + These fixes have been collecting for a while. Now you all get to enjoy + them too. + + The version number has been changed to reflect that the currect code is + stable, yet is still missing some features which would be necessary for + a 1.0 release + __________________________________________________________________ + + 2/27/2006: Version 0.1.16 is out! + + New in this release: + * Allow 'edit' to take --id + * fixed: worked around slightly malformed history with respect to + edits and deletes + * fixed: merges of edits and deletes should be explicit in changesets + + Just a few cleanups, nothing too major. + __________________________________________________________________ + + 2/23/2006: Version 0.1.15 is out! + + New in this release: + * Relax restriction of delete and content merges introduced in + previous release so we do not have to rewrite history yet + * skip compilation of winrandom.pyd if python 2.4 is installed + (Windows only) + * fixed: independent deletes should merge implicitly + * fixed: server does not rebuild when there are empty branches + * fixed: bug which caused all sorts of weird and bad symptoms related + to renames + * fixed: traceback on checkout from a keyboard interrupt + * fixed: reworked how comments are handled to really deal with + locales correctly + + All bugfixes here, no new features. + __________________________________________________________________ + + 12/25/2005: Version 0.1.14 is out! + + New in this release: + * Allow specifying files by id for several commands + * Quoting of CDVDIFF on Windows to allow diff programs with spaces + * Quick hack to preserve execute permissions during update + * Preserve ownership of the password file when using 'cdvpasswd' + * Partial subcommand matching, things like 'cdv di' and 'cdv up' now + work + * 'cdvserver' exits immediately after initialization when given -i + * Make 'cdvserver' shut down cleanly on various signals + * Force all comments to be encoded in utf8 (automatically converts + from local encoding) + * 'diff.py' works as a standalone program + * 'commit' accepts -M or --message-file to read commit message from a + file + * Big optimization to 'annotate' + * fixed: delete bugs due to internal ambiguities + * fixed: infinite loop when there were blank lines in the commit + message + * fixed: better cleanup when CDVDIFF fails + * fixed: better detection of problems with CDVDIFF + * fixed: 'revert' and 'construct' only worked from the root + * fixed: cdv-agent died with EINTR + * fixed: glob module removed files which don't exist from the command + line (Windows only) + * fixed: '...' expansion (Windows only) + * fixed: 'cdvserver' would accept history with implicit merges + * fixed: 'history' traceback when using -c + * fixed: 'history' traceback, especially obvious when working + serverless + __________________________________________________________________ + + 7/18/2005: Version 0.1.13 is out! + + New in this release: + * Patch from Sudhi Herle so codeville can find modules if not + installed in the standard python path + * 'annotate' feature courtesy of Yoshinori K. Okuji + * Patch to allow specifying changeset creation time on command line + from Lele Gaifax + * Rewritten command line parsing. Options can now be specified + anywhere on the command line, long options are supported and there + is some basic help + * Rewritten history browsing code for simplicity and performance + * fixed: creating a new server. Use 'cdvserver -i' to initialize a + server + * fixed: historical and current name checks, the old code had both + false positives and negatives for rename conflicts + * fixed: clear out files being edited on 'construct' + __________________________________________________________________ + + 5/7/2005: Version 0.1.12 is out! + + New in this release: + * fixed: obscure issues in cdvupgrade pertaining to convergence + * fixed: small issue with changeset generation related to the above + issue + * fixed: packaging issue which prevented code needed by cdvupgrade + from being included + * fixed: a few issues with the new unified diff code + * fixed: setup.py reflects the new code license + * fixed: cdvupgrade fixed so running cdvupgrade on its own output is + an identity operation + * fixed: cdvupgrade ignores floating history on servers + __________________________________________________________________ + + 5/5/2005: Version 0.1.11 is out! + + New in this release: + * optimized scanning the filesystem to find files which changed for + very large projects + * introduced 'cdv init' to replace manual 'mkdir CVILLE' + * use urandom if present, python 2.4 on windows no longer requires + the windrandom.pyd file + * 'cdv construct' is a little more robust + * changed history format to not allow implicit merges. this is a huge + performance improvement for histories with lots of branching and + merging. + * fancy new O(n * log(n)) match code replaces old O(n^3) + implementation. makes diffing and changeset generation faster and + should also generate better/more readable deltas. + * switched to zlib level 6 instead of 9, faster and not much of a + space hit + * use .cdv as the metadata directory instead of CVILLE + * modify cdvupgrade script to work on both clients and servers + * version the repository format so the tool doesn't munge an older or + newer database by accident + * changed license to BSD + * fixed: using external diff program on windows causes traceback + * fixed: bug where conflicts repeated during later merges + * fixed: test for detecting conflicts in files being committed or + updated is more strict + * fixed: cdvpasswd looks for a config file when passed -f + * fixed: 'cdv remove' does not require files to still be present in + the filesystem + * fixed: small issue when calling revert on an added file + + Current items being worked on for the next release and later are: + * binary support + * big improvements to the latency of the network protocol + * smaller CPU and memory improvements + * changes to the merge algorithm so that we can prove things about + its behaviour + + You must run cdvupgrade on any clients and servers for this release. + Note that it is much faster to do fresh checkouts than to upgrade + clients. + __________________________________________________________________ + + 4/13/2005: Mailing list and self-hosting repository + + There's a public mailing list up now. If you have questions or want to + partipate, send mail to devel at codeville dot org. The [6]todo list is + a good place to get started for helping out. More things will be added + to it soon. [7][list info] + + The self-hosting repository which has existed since February of 2004 + has been opened to the public. URL is + cdv://codeville.org/codeville/devel. Username 'anonymous' and the + password is blank. + + I have to put in a note of thanks here to the folks at [8]Mosuki. They + have been using it in production since June of 2004 and done an + excellent job of finding bugs, stessing the system and pointing out + where the interface needs improvement. + + Also of note, the next version will probably be under the BSD license. + __________________________________________________________________ + + 1/24/2005: New documentation + + A [9]client reference page has been added to the documentation. Thanks + to Keith Irwin for writing this up. + + If it seems like releases have been slowing down, then you're + impatient. Geez, don't I get to take a vacation? In actual fact, they + have slowed down a bit. Partially, this is due to stability. Since + nothing has been really broken, I've been working on other things. Some + architectural design work has also been happening behind the scenes. + The next release will require a history rewrite in order to address + some non-critical, long standing bugs and to regain some performance. + Assuming that is as stable as the recent release, I will get back to + adding all those planned useful features. + __________________________________________________________________ + + 12/11/2004: Version 0.1.10 is out! + New in this release: + * Un*x shell style filename expansion on windows + * 'rebuild' can be done from a given changenumber + * 'last-modified' can be done from a given changenumber + * 'update' recognizes repository URLs of the format + 'cdv://server/{changenumber}' + * 'diff' can now take 'local' as either first or second -r argument + * 'diff' does not display diffs for files which exist on only 1 side + by default + * 'diff' takes -N switch to show diffs for files which exist on only + 1 side + * fixed: critical bug where an invalid merge was generated and not + caught by the server + * fixed: locking bug on server when files are deleted + * fixed: traceback when committing from windows + * fixed: all files show up as modified after doing 'construct' + * fixed: server sending responses out of order + * fixed: merge done by 'update' was sometimes incorrect + * fixed: 'update -d' not pulling in diffs + * fixed: CVILLE directory could not be at the root of the filesystem + * fixed: 'diff -r repo' caused traceback + * fixed: 'revert' on a file deleted from the local filesystem caused + traceback + + The critical bug is somewhat difficult to trigger, so it is unlikely + that others have run into it. If you see tracebacks with 'merge error', + this is what happened. Unfortunately, you have to figure out where it + happened and throw away all the changes after that. Apologies, this is + the first time something like this has happened in about 8 months. + + In this release, the bug is mostly worked around. A proper fix will be + in the next release. It will also fix some nuisance bugs with the merge + algorithm and eliminate the false positives when doing 'history' on + specific files. Potentially, performace will be better, as well. + + Running 'rebuild' is required after upgrading. + + Documentation is imminent. I promise. + __________________________________________________________________ + + 9/21/2004: Version 0.1.9 is out! + New in this release: + * Allow user to be specified on client command line via -u + * Server port is configurable via the config file or -o on the + command line (-p is already being used, I need to switch to long + opts) + * Server catches exceptions and only shuts down the offending + connection, rather than exiting + * 'commit' takes -b for backup, makes it not generate a new changeset + * 'history' accepts filenames on the command line + * New command 'heads' shows currents heads in the client + * New command 'last-modified' gives the last change to modify a file + * Server doesn't revalidate changes already committed to other + repositories, bedtter performance for branching and merging + * fixed: bad changesets being generated for some merge cases + * fixed: merging a change with its ancestor caused traceback + * fixed: locking bug on failed commit + * fixed: 'add' of CVILLE directory issued warning but did the add + anyway + * fixed: 'diff' with ... tries to diff files not open for edit + + The first 2 bugs caused significant problems in the previous release + for branching and merging. Otherwise, this is mainly a small cleanup + release. + + The new feature of 'history' only showing changes for files you're + interested in will occasionally give a false positive match. This will + be fixed in a future release. It will also show changes in which the + file was merged but not directly modified. + __________________________________________________________________ + + 8/12/2004: Version 0.1.8 is out! + New in this release: + * Removed all significant sources of recursion, should handle long + histories now + * 'history' shows date of commit now, instead of date of changeset + creation + * 'describe' takes -d option, which shows a diff. Any additional + arguments are considered filenames for which you want to see diffs + * Better auxiliary data structure construction for better performance + * Batch of micro-optimizations + * New commands 'print_history' and 'print_dag' for dumping graphviz + parseable graphs + * Several commands including 'diff' and 'commit' operate in offline + mode if no repository is set + * Any command which took a changeset number can now also take a + repository URL + * Implemented a fairly fragile 'construct' command to bring your + client to a particular history point. + * + * fixed: comment lost when merging back to a branch which has had no + subsequent changes + * fixed: reverting a file which has been deleted from the filesystem + * fixed: rare case where commit fails with message 'unfilled line' + * fixed: 'update -d' actually works + * fixed: a few minor tracebacks and wrong return values + * fixed: password changing works again + * fixed: little endian ints don't string sort properly + + WARNING: The last bug fix requires a rebuild. Run 'rebuild' in your + clients and start the server with -r the first time you run it. + + WARNING: Be careful with the 'construct' command! It will throw away + all your local changes without asking. It is also pretty fragile. + Cleanup will happen for the next release. + + Overall, this release eliminates roughly 30% of the CPU work. + + As mentioned briefly above, there is now an offline mode. This is + automatic when no repository is set. 'commit' will always be run with + the -n switch, 'diff' will diff against the last commit, etc. + __________________________________________________________________ + + 7/21/2004: Quick bugfix release 0.1.7.1 pushed. + There was a dumb bug which caused a traceback when using the internal + diff in the previous release. Also a server traceback on post-commit + actions. + __________________________________________________________________ + + 7/20/2004: Version 0.1.7 is out! + New in this release: + * Only check for repository being set when necessary + * 'diff' takes files to diff on command line + * Better temp file naming when using external diff program + * Slightly improved command line parsing + * 'status' now supports -v, which will show extra and missing files + via '??' and '!!' + * Support for '...' wildcard expansion in all commands taking + filenames, means recursive subdirectory scan + * Regular expression list to ignore for 'add' (wildcard expansion + only) and 'status -v' + * More XML elements in post-commit + * fixed: committing to unknown repository caused stack trace + (introduced in 0.1.6) + * fixed: 'revert' when result has conflicts + * fixed: 'edit' can only apply to files, not directories + * + * fixed: cdv-agent doesn't delete socket when using -a + * + * fixed: cdv-agent doesn't work on platforms without poll(), such as + OS X + * fixed: eval `cdv-agent` hangs + * fixed: check server post-commit patterns on startup + * + * fixed: cleanup of bsddb/bsddb3 loading + * + * fixed: traceback on unknown or non-unique change from user + * fixed: traceback in 'update' when directory deleted which is not + empty locally + + Lot's of polish has been done recently, I'll be back to core features + pretty soon. And documentation. Really. I promise. + + Work done on supporting wildcard expansion will, probably in the next + release, allow glob expansion for those poor souls using Windows + without a shell to do it for them. + + The list of regular expressions to ignore should be in the file + CVILLE/ignore. One per line. They must match the entire path name of + the file to apply. So if you want to ignore all files ending with ~, + you would say '.*~'. + + Keep in mind that the ignore patterns are also used by 'add' when + expanding the '...' wildcard. You may still add files ignored by the + expressions by explicitly naming them on the command line. + __________________________________________________________________ + + 7/6/2004: Version 0.1.6 is out! + New in this release: + * Only ship sample cdvserver.conf. Prevents overwriting previous + config. + * Retry login a few times before failing + * Verbose mode for 'history' via -v + * 'history' command -m changed to -n + * 'history' now supports -s # to skip displaying the first # changes + * 'history' is relative to default (or named) repository + * Include a cdv-agent so people don't have to type their passwords so + much + * Changes to the crypto code. Fixes and changes to allow the agent to + work + * cdvpasswd reads the config file now + * cdvserver rereads password file when it changes, no longer requires + restart + * The various commands give return values + * Added a "merged files" section to 'status' and 'commit' during + merge operations + * Better UI for 'update'. View is similar to 'status' and sorts files + * Turned a bunch of command line errors into warnings + * fixed: vi unhappy when /tmp is a symlink + * fixed: modify file then delete bug + * fixed: merge-only changes sometimes didn't show in 'history' + + The new agent supports exactly the same command line interaction as + ssh-agent. It's basically transparent. If the enironment variables are + set, then clients will only ask for a password if they can't log in + using the agent. The password is then automatically added to the agent. + + There's no way the agent will work on windows. At least for now, sorry. + + Because of the crypto changes, it is not possible to mix and match new + and old clients and servers. + __________________________________________________________________ + + 6/18/2004: Version 0.1.5 is out! + New in this release: + * Server acts like a real server. See [10]server reference for more + details. + * Server allows commands to be run after each commit + * 'commit' pops up an editor if no comment given on command line, + obeys CDVEDITOR and EDITOR environment variables, in that order + * 'commit' editor allows you to trim the list of files to commit + * 'commit' accepts files to commit on the command line + * 'history' view small UI cleanusp + * 'history' takes -m #, to limit the number of changes shown + * 'describe' UI cleanup + * 'diff' sorts files for output + * 'diff' supports external diff programs via the CDVDIFF environment + variable + * Report useful network error messages + * fixed: rebuilding client and server left buggy history cruft + * fixed: anonymous user should not be able to change password + * fixed: 'diff' throws exception sometimes when diffing between 2 + branches + * fixed: 'revert -a' leaves files open for edit + * fixed: 'remove' on a tree of files would return errors due to + ordering + * fixed: 'update' after file added and removed remotely + * fixed: 'update' after multiple files removed remotely + * fixed: 'commit' after file modified then removed locally + * fixed: DNS failure throws exception + * fixed: 'update' on windows spewed \r's all over files open for edit + + Be sure to read the server reference, there are significant changes. + + Python 2.3 is now required. There's too much useful stuff in there and + I'm only going to use more of it in the future. + __________________________________________________________________ + + 6/8/2004: Version 0.1.4 is out! + New in this release: + * Server option -r for reconstructing support data structures on + startup + * Server option -b for backup server mode + * 'rebuild' command in client for reconstructing support data + structures + * 'is_ancestor' command in client, tells whether arg1 is an ancestor + of arg2 + * Small cleanups + * 'remove' supports more than 1 file + * 'history' option -h for user-specified head + * 'update' option -d for pulling in changes without merging them + (does not affect local files or history) + * Catch generic exception in client and shut down cleanly + * fixed: modifying file while merging fails + * fixed: bad indexing structure creation prevents updating + * fixed: traceback on update when there are conflicts in local files + * fixed: tracebacks in various commands when file is removed from + local filesystem + * fixed: touched but unmodified files are erroneously included in + changesets + * fixed: server traceback when updating from non-existent repository + * fixed: CVILLE is a reserved filename at any depth in the tree + * fixed: removing a directory which isn't empty + * fixed: renaming over existing local file + * fixed: 'rename' second argument directory + + Once again, mostly a bugfix release. Most of the new features + implemented were in support of bug-fixing activities. + + When upgrading, you will need to run the server with the -r switch the + first time. You will also have to run +cdv rebuild + + in all clients. + + The server now supports a backup mode. When started with -b, only + updates from other servers can be committed. In addition, only + incremental backups on an existing backup are allowed. The way to use a + backup server is create repositories as usual, then in a client update + from the repository you want to backup, then commit to the backup + server repository. + __________________________________________________________________ + + 5/27/2004: Version 0.1.3 is out! + New in this release: + * fixed: windows file problems + * fixed: reusing names of deleted files + * fixed: commit ignored certain types of diffs + * fixed: files marked as editted but no actual changes caused + traceback + * fixed: files remain locked on server after commit error + * fixed: spurious conflicts when lines removed from beginning or end + of file + * fixed: 'revert' on windows + * fixed: traceback when no default repository set + * Catch generic exceptions in server and shut down cleanly + * Skip some unnecessary work on update + * Use /dev/urandom instead of /dev/random + * Confirm new password when changing passwords + + This is largely a bugfix release. Notably, this one should be useful + under Windows. You will still have to execute as: +C:\Python23\python.exe C:\Python23\Scripts\cdv.py ... + + Wildcard expansion doesn't work on Windows yet. + + A fairly elegant cherry-picking scheme has been worked out, but will + have to wait until more of the basic functionality is implemented. + + I have upgraded my machine and am now using python 2.3. From now on, + the rpm packages I make available will be for python 2.3. Please report + problems with python 2.2 to me, as the current plan is to continue + supporting it. + __________________________________________________________________ + + 4/19/2004: Version 0.1.2 is out! + New in this release: + * Large performance improvements, works much better on large projects + now + * A crude "describe" command + * Explicit edit mode, user specifies which files are modified instead + of codeville detecting it automatically (not on by default) + * Windows port + * Better overlapping of CPU work with waiting on the network + * Better feedback to the user during update + + Old clients will no longer work, the backend format has changed. + Neither will old servers. To convert your server, first create a new + directory where the new server will reside. Then run: +cdvupgrade old_server_dir/ new_server_dir/ + + Then copy over the codeville_repository and passwd files. + __________________________________________________________________ + + 3/3/2004: New release version 0.1.1 is out! + New in this release: + * Install script and RPM + * New network protocol, authentication is now secure + * Password changing through the client + * Works out of the box with python 2.3 + * Much improved status view + * Miscellaneous little fixes + * License changed to the Open Software License 2.0 + __________________________________________________________________ + + 3/3/2004: [11]Slides from the Codecon presentation are up. + __________________________________________________________________ + + 2/6/2004: If you are using an older version update NOW! There was a + serious bug in some of the DAG code. Do not reuse your old repositories + or clients. If you need to recover them, let me know and I'll write a + conversion tool. The command line syntax for commit and update has + changed, please look through the quickstart. + + -- [12]Bram and [13]Ross + + * [14]Home + * [15]Download + * [16]News + * [17]Docs + * [18]Todo + +References + + 1. http://codeville.org/ + 2. http://codeville.org/download.php + 3. http://codeville.org/news.php + 4. http://codeville.org/doc/ + 5. http://codeville.org/doc/ToDoList + 6. http://codeville.org/docs/todo.php + 7. http://mail.off.net/mailman/listinfo/codeville-devel + 8. http://mosuki.com/ + 9. http://codeville.org/docs/reference.php + 10. http://codeville.org/docs/server.php + 11. http://codeville.org/codecon/ + 12. http://bitconjurer.org/ + 13. mailto:rcohen@snurgle.removeme.org + 14. http://codeville.org/ + 15. http://codeville.org/download.php + 16. http://codeville.org/news.php + 17. http://codeville.org/doc/ + 18. http://codeville.org/doc/ToDoList --- codeville-0.8.0.orig/debian/ServerReference.html +++ codeville-0.8.0/debian/ServerReference.html @@ -0,0 +1,300 @@ + + + + + + + +ServerReference - Codeville Wiki + + + + + + + + + + + + + + + + + + + + + +
+ + +

ServerReference

+
+ + +

Running a Server

+ +
    +
  • cdvserver

    +
  • +
+ +

Unix and OS X

+ + +

Config file options

+ +
+
-c <configfile>
+
+
-n
+

no config file

+
+
+ +

Files and Directories

+ +
+
-f <datadir>
+

where all the database files and password file go

+
+
-l <logfile>
+

server output goes here when daemonized

+
+
-p <pidfile>
+
+
+ +

Control options

+ +
+
-b
+

start server in backup mode

+
+
-d
+

don"t daemonize, won"t write pidfile or logfile

+
+
-u <user>
+

run as the given user, must be root to do this

+
+
-r
+

rebuild internal data structures on startup

+
+
+ +

General Notes

+ +

By default, the server will look for a config file in /etc/cdvserver.conf. The distributed version includes the defaults for the various options commented out. Command line options take precedence over the config file.

+ +

Windows

+ +

The above options largely apply, except the server does not look for a config file by default, does not daemonize and assumes the data dir is the current directory.

+ +

Config File

+ +

The [control] section of the config file should be self-explanatory. Key/value pairs in [post-commit] allow you to execute scripts in response to checkins. Keys are regular expressions, matched against the repository name. Values are scripts into which some XML describing the checkin will be sent as stdin. The XML is the same as the output of describe with the -x option, only there is also a <repository> tag in the server generated version.

+ + +
+

last edited 2007-09-03 23:32:52 by RossCohen

+ +
+
+ + + + + + --- codeville-0.8.0.orig/debian/README.Debian +++ codeville-0.8.0/debian/README.Debian @@ -0,0 +1,32 @@ +Codeville on Debian +=================== +Codeville is a Python-based distributed version control system. It began with a +novel idea for a merge algorithm and has grown from there. It is designed to be +easy to use and scale from small personal projects to very large distributed +ones. + +Originally written by Bram Cohen of BitTorrent fame, it is now being maintained +Ross Cohen. + +Because this software isn't really intended as a developer module, it is being +installed as a stand-alone package that depends upon the latest default python +version for Debian Sarge. + +Codeville requires Berkeley DB library >= 4.1, which is installed by default +with Debian's Python package. + +Running the Server +================== +This package provides an init.d mechanism for which to start +the Codeville server. This server is disabled by default - in order +to enable the server, change START_CODEVILLE to 1 in the /etc/default/codeville +file. + +.. note:: You do not need to run a server for locally-hosted + repositories. + +Upgrading Repositories +====================== +Because Codeville is a new version control system, the on-disk format of the +repository changes from time to time. The script cdvupgrade is provided +in order to upgrade an older on-disk format to a newer one. --- codeville-0.8.0.orig/debian/cdv-agent.1 +++ codeville-0.8.0/debian/cdv-agent.1 @@ -0,0 +1,25 @@ +.TH "CDV-AGENT" 1 "Dec 1 2005" +.SH NAME +cdv\-agent \- codeville authentication agent +.SH SYNOPSIS +.nf +.B cdv\-agent [\-a \fIbind_address\fP] [\-c | \-s] [\-t life] [\-d] [command [args ...]] +.B cdv\-agent [\-c | \-s] \-k +.fi + +.SH DESCRIPTION + +\fBcdv-agent\fP is a agent for holding passwords for a codeville server, so +that users don't need to type passwords so much. The options are taken +from the \fBssh\-agent\fP and perform the same purpose. + +.SH SEE ALSO +.BR ssh-agent (1), +.BR cdvserver (1), +.BR cdv (1), +.UR http://www.codeville.com +.BR http://www.codeville.com + +.SH AUTHOR +This manual page was written by Michael Janssen , +for the Debian GNU/Linux system (but may be used by others). --- codeville-0.8.0.orig/debian/pyversions +++ codeville-0.8.0/debian/pyversions @@ -0,0 +1 @@ +2.3- --- codeville-0.8.0.orig/debian/pycompat +++ codeville-0.8.0/debian/pycompat @@ -0,0 +1 @@ +2 --- codeville-0.8.0.orig/debian/ClientReference.txt +++ codeville-0.8.0/debian/ClientReference.txt @@ -0,0 +1,334 @@ + #[1]Codeville Wiki Recent Changes [2]Start [3]Wiki Markup [4]Print View + [5]Search [6]Index [7]Glossary [8]Help + + [9]Codeville Wiki + Search: ____________________ Titles Text + * [10]Login + + * [11]FrontPage + * [12]RecentChanges + * [13]FindPage + * [14]HelpContents + * [15]ClientReference + __________________________________________________________________ + + * Immutable Page + * [16]Show Changes + * [17]Get Info + * More Actions: + [Show Raw Text......] Do + +[18]ClientReference + +Codeville commands + +Options + + -p, --path + to client + + -R, --repository + for this operation + + -u, --user + as whom to perform this operation + + -V, --version + Print version information + +Subcommands + +add + + * Add new files to the repository. All files must be added before + they will be part of the version control system. + __________________________________________________________________ + +commit [-b] [-m |-M ] [-D ] [-n] + + * Commits all changes made to the repository since the last commit. A + comment is required for every commit. It may either be supplied via + the -m option for simple comments or if the -m option is omitted, + whatever editor is specified in the EDITOR environment variable + will be launched. If no editor is specified, vi is the default in + all unixy environments (including OS X and cygwin) and Notepad is + the default in Windows. In the editor, a comment may be added at + the top, and file changes which the user does not wish to have in a + given changeset can be removed by deleting them from the + "### files" list at the bottom (although merging cannot be avoided + through deleting things from the "### merge files" list). Every + commit creates a changeset. If there are changes since the last + update, files will be merged. In the event of unresolved conflicts, + the user will be prompted to resolve them. + + -b, --backup + Forces commit to not make a new changeset. This will commit + changes which have already been committed locally via -n (or as + a result of having multiple repositories involved), but will not + create a new changeset for existing file modifications. This is + especially needed for committing to back-up servers (servers + started with -b) as it is the only way to commit changes to a + back-up server. This is not the recommended way to commit + changes to normal servers. In general, if one wishes to commit + changes committed offline without committing new changes, one + should commit and changeset with all the files in the + "### files" list removed. + + -D, --date + YYYY/MM/DD HH:MM:SS TZ indicating changeset creation time + + -m, --message + Use message as the commit message + + -M, --message-file + Get commit message from file + + -n, --no-network + is used to commit changes off-line. Changes committed off-line + can still be used with all commands, but are not visible to + other users until an on-line commit is done. + __________________________________________________________________ + +construct + + * Recreates the repository at the given changeset. + __________________________________________________________________ + +create + + * Creates a new repository with the appropriate name. + __________________________________________________________________ + +describe [-x|-d] [-s] + + * Gives the description of the changeset including the long name of + the change, the user who made the change, that date it was made, + the comment, the relation it has to other changesets, and what + files were modified and in what manner they were modified (i.e. + added, modified, renamed, or deleted). + + -d, --diff + does a diff + + -x, --xml + displays an XML version of the output. This is not compatible + with displaying a diff. This can only be used with parenthesized + changesets from the file history. It's sort of a hack right now, + really. + __________________________________________________________________ + +destroy + + * Destroys a repository. The opposite of create. + __________________________________________________________________ + +diff [-r [-r ] ] [] + + * Does a diff between different versions of each of given files. If + no files are specified, all relevant files are shown. The first -r + option indicates which changeset the diff should be from, the + second which it should be to. If no changesets are specified, it + shows the difference between the last known state of the repository + and the current client state. + __________________________________________________________________ + +edit + + * Enables editting a file. When not in edit-mode, this is + unnecessary. + __________________________________________________________________ + +heads + + * Lists the root nodes in the graph of changesets. + __________________________________________________________________ + +history [-h ] [-c ] [-s ] [-v] [] + + * Gives the history of the repository or of the files specified. + Specifically, it lists all relevant change sets by short name, + user, date, and comment in most recent first order. + + -c, --count + print only the specified number of changes. + + -h, --head + print the history starting at the given changeset. + + -s, --skip + skips the first skip count changes. + + -v, --verbose + causes it to print the changes verbosely which includes + additional information about each changeset which affected the + files. + __________________________________________________________________ + +init + + * Initialize a new client with the current directory as the root. + Specify a directory other than current one by using the top level + -p switch. + __________________________________________________________________ + +is_ancestor + + * Tells whether or not changeset1 is an ancestor of changeset2. Note + that it is possible for neither changeset to be an ancestor of the + other. + __________________________________________________________________ + +last-modified + + * Returns the last changeset which modified a given file. + __________________________________________________________________ + +list-repos + + * Lists all the repositories on the same server as the repository you + are in. + __________________________________________________________________ + +password + + * Change your password. + __________________________________________________________________ + +print_dag [-h ] [-h ] [...] + + * Prints the directed acyclic graph which shows the changesets which + have been applied to a file and their relationships. + Changesets specified with -h are treated as head nodes for the + graph (i.e. later changesets are excluded). + __________________________________________________________________ + +print_history [] + + * Prints the directed acylcic graph of the the entire history. Starts + at the given changeset, if provided. + __________________________________________________________________ + +rebuild + + * Recreates all of the metadata from the static history. This should + generally only be done when instructed to by software upgrade + instructions. + __________________________________________________________________ + +remove + + * Deletes files from the repository. + __________________________________________________________________ + +rename + + * Moves or renames files. + __________________________________________________________________ + +revert [-a] + + * Reverts any local changes to the file. At this time only changes to + the content of the file can be reverted. The ability to revert + adds, deletes, and renames will be coming in the future. + There is a subtle difference in the definition of revert from what + you might expect. It does not guarantee that it will restore the + file to some previous state. For example, if you are in the middle + of a merge and call revert on a file, it will be regenerated by + running the merge. If the file were modified prior to running the + merge update, the file contents will now be different from anytime + in the past. + Revert should be thought of as throwing away uncommitted changes. + + -a, --unmodified + indicates files should only be reverted if they have not been + modified. Basically unmarks them as open for edit. + __________________________________________________________________ + +set + + * Sets a Codeville variable to a given value. + __________________________________________________________________ + +show-vars + + * Show a list of all Codeville variables and what they are set to. + __________________________________________________________________ + +status [-v] + + * Shows changes not yet committed to the repository in brief. + + -v, --verbose + A more verbose status which includes mention of files which are + in the directory space, but not in the repository and files + missing from the directory space. + __________________________________________________________________ + +unset + + * Removes a Codeville variable so that it no longer has any setting. + __________________________________________________________________ + +update [-d] + + * Gets all changes made to the repository since the last time you did + an update. Files will be merged as necessary. In the event of + unresolved conflicts, the user will be asked to resolve them. + + -d, --dont-merge + Pull in changesets but do not merge them. Has no effect on the + workspace state. This allows a user to browse and diff + changesets without having to merge. + + Specifying files: + +General Notes + + Files can be specified using bash-style wildcards on any platform. In + addition, '...' behaves like a find command, expanding all files and + directories within subdirectories. + + All printed graphs are output in a format intended to be run through + the graphviz "dot" tool. + + Using tcsh as the startup shell under cygwin appears to result in the + Python password command hanging, so it is incompatible with Codeville + and there's not a thing we can do about it. + + last edited 2007-09-03 23:31:00 by RossCohen + + * Immutable Page + * [19]Show Changes + * [20]Get Info + * More Actions: + [Show Raw Text......] Do + + * [21]MoinMoin Powered + * [22]Python Powered + * [23]Valid HTML 4.01 + +References + + 1. http://codeville.org/doc/RecentChanges?action=rss_rc&ddiffs=1&unique=1 + 2. http://codeville.org/doc/FrontPage + 3. http://codeville.org/doc/ClientReference?action=raw + 4. http://codeville.org/doc/ClientReference?action=print + 5. http://codeville.org/doc/FindPage + 6. http://codeville.org/doc/TitleIndex + 7. http://codeville.org/doc/WordIndex + 8. http://codeville.org/doc/HelpOnFormatting + 9. http://codeville.org/doc/FrontPage + 10. http://codeville.org/doc/UserPreferences + 11. http://codeville.org/doc/FrontPage + 12. http://codeville.org/doc/RecentChanges + 13. http://codeville.org/doc/FindPage + 14. http://codeville.org/doc/HelpContents + 15. http://codeville.org/doc/ClientReference + 16. http://codeville.org/doc/ClientReference?action=diff + 17. http://codeville.org/doc/ClientReference?action=info + 18. http://codeville.org/doc/ClientReference?action=fullsearch&value=linkto%3A%22ClientReference%22&context=180 + 19. http://codeville.org/doc/ClientReference?action=diff + 20. http://codeville.org/doc/ClientReference?action=info + 21. http://moinmoin.wikiwikiweb.de/ + 22. http://www.python.org/ + 23. http://validator.w3.org/check?uri=referer --- codeville-0.8.0.orig/debian/codeville.default +++ codeville-0.8.0/debian/codeville.default @@ -0,0 +1,18 @@ +# Default configuration for bittorrent tracker, bttrack + +# If you want the bittorrent tracker to run, switch this to 1. +START_CODEVILLE=0 + +# chroot to this directory before starting the daemon. This can also help keep +# the daemon secure, but may interact with all sorts of file locations in +# unexpected ways. +#DAEMONCHROOT=/var/local/lib/cdv-sandbox + +# Move to this directory before starting the daemon. This may be useful in +# conjunction with DAEMONCHROOT. +#DAEMONCHDIR=/var/local/lib/cdv-sandbox + +# Run the daemon at this "nice" priority. Setting a positive value here will +# dissuade the system from giving all its CPU time to bttrack requests from the +# network. +DAEMONNICE=5 --- codeville-0.8.0.orig/debian/QuickStartGuide-1.html +++ codeville-0.8.0/debian/QuickStartGuide-1.html @@ -0,0 +1,197 @@ + + #[1]Codeville Wiki Recent Changes [2]Start [3]Wiki Markup [4]Print + View [5]Search [6]Index [7]Glossary [8]Help + + [9]Codeville Wiki + Search: ____________________ Titles Text + * [10]Login + + * [11]FrontPage + * [12]RecentChanges + * [13]FindPage + * [14]HelpContents + * [15]QuickStartGuide + _________________________________________________________________ + + * Immutable Page + * [16]Show Changes + * [17]Get Info + * More Actions: + [Show Raw Text......] Do + +[18]QuickStartGuide + + All client instructions below assume you are within your workspace + directory, not including the .cdv dir. + +Creating a new project + + Create a workspace directory and populate it with the files you want + checked in. Within that directory: +cdv init +cdv set user +cdv set repository +cdv create +cdv add ... +cdv commit + + Note: use of an email address as the username is recommended. + + If you do not wish to collaborate with others or use a server for any + other purpose, skip both setting repository and running create. + + A repository URL has the following form: +cdv://[:]/ + +Check out an existing project + +cdv init +cdv set user +cdv set repository +cdv update + +Making changes + + Codeville automatically detects when you have edited files in a + client. + + Rename or move files or directories: +cdv rename + + Delete files or directories: +cdv remove + + View your changes: +cdv diff [-r [-r ]] + + One -r flag will specify the change to diff from, a second the change + to diff to. By default, the first change is the most recent change + from the default repository (or the repository specied by -R). The + second defaults to local, which is the current state of the workspace. + + Show a more compact list of changes: +cdv status + + When you are happy with your changes: +cdv commit + +Reverting changes + + Discard uncommitted file edits: +cdv revert + + Only changes to a file's contents can be reverted at this time. Name + operations (add, delete, rename) are not yet reversible. + +Taking branches + + Branch using your current client state: +cdv create +cdv -R commit + + URL2 does not need to be on the same server as the URL you are + branching from. + +Merging branches + + To merge URL2 into URL, from a client with URL set as the repository: +cdv update +cdv -R update +(Resolve any name or merge conflicts) +cdv commit + + You may continue using branches after you have merged them. Codeville + supports arbitrary branching, merging and remerging of any and all + branches. + +Resolving conflicts + + File conflicts are presented in a similar fashion to CVS. Conflicting + sections of the file will be marked with <<<<<<<, ======= and >>>>>>>. + + Naming conflicts will result in mangled filenames. Look for files and + directories which end with .nameconflict.local, .orphaned, .loop, etc. + Sometimes there will be a file with a ".info" extension which contains + where the file exists according to the update which caused the + problem. + +Other stuff + + View history: +cdv history + + This could use some explanation, but for now the change in parentheses + is what brought this change into the repository. If you branch or + merge, you may notice that many changes have the same one in + parentheses. + +Starting a server + + Choose a directory to start the server in. Change into the directory + and run: +cdvserver -i -f . + + You will also need to create at least 1 account. Do this by running + the cdvpasswd program in the server directory, for example: +cdvpasswd -f passwd add + + The special username "anonymous" is only allowed to do read operations + on the repository. + + Run cdvserver: +cdvserver -n -d -f + + You now have a running server. Running without -d will cause the + server to fork off into the background and generally act more + server-like. See the server reference for more details. + +Miscellaneous notes + + Performance should be reasonable, there are still more optimizations + to be done. For now, you will get better performance by updating after + each commit. + + All files are assumed to be text. That is, Codeville will attempt to + merge them. Support for binaries and non-ascii encoded files will + happen before 1.0. + + At this point the repository format should be stable enough that there + will always be an upgrade path for the servers. + + last edited 2005-10-06 23:46:50 by RossCohen + + * Immutable Page + * [19]Show Changes + * [20]Get Info + * More Actions: + [Show Raw Text......] Do + + * [21]MoinMoin Powered + * [22]Python Powered + * [23]Valid HTML 4.01 + +References + + 1. http://codeville.org/doc/RecentChanges?action=rss_rc&ddiffs=1&unique=1 + 2. http://codeville.org/doc/FrontPage + 3. http://codeville.org/doc/QuickStartGuide?action=raw + 4. http://codeville.org/doc/QuickStartGuide?action=print + 5. http://codeville.org/doc/FindPage + 6. http://codeville.org/doc/TitleIndex + 7. http://codeville.org/doc/WordIndex + 8. http://codeville.org/doc/HelpOnFormatting + 9. http://codeville.org/doc/FrontPage + 10. http://codeville.org/doc/UserPreferences + 11. http://codeville.org/doc/FrontPage + 12. http://codeville.org/doc/RecentChanges + 13. http://codeville.org/doc/FindPage + 14. http://codeville.org/doc/HelpContents + 15. http://codeville.org/doc/QuickStartGuide + 16. http://codeville.org/doc/QuickStartGuide?action=diff + 17. http://codeville.org/doc/QuickStartGuide?action=info + 18. http://codeville.org/doc/QuickStartGuide?action=fullsearch&value=linkto%3A%22QuickStartGuide%22&context=180 + 19. http://codeville.org/doc/QuickStartGuide?action=diff + 20. http://codeville.org/doc/QuickStartGuide?action=info + 21. http://moinmoin.wikiwikiweb.de/ + 22. http://www.python.org/ + 23. http://validator.w3.org/check?uri=referer --- codeville-0.8.0.orig/debian/dirs +++ codeville-0.8.0/debian/dirs @@ -0,0 +1 @@ +usr/share/doc/codeville --- codeville-0.8.0.orig/debian/cdvpasswd.1 +++ codeville-0.8.0/debian/cdvpasswd.1 @@ -0,0 +1,22 @@ +.TH "CDVPASSWD" 1 "Dec 1 2005" +.SH NAME +cdvpasswd \- adds, removes, or sets passwords for users of a cdv server. +.SH SYNOPSIS +.B cdvpasswd [ add | set | delete ] \fIusername\fP +.SH OPTIONS +.TP +.B "\-c " +Specify the config file which the server is running on. +.TP +.B "\-f " +Specify the password file to modify. + +.SH SEE ALSO +.BR cdv (1), +.BR cdvserver (1), +.UR http://www.codeville.org/ +.BR http://www.codeville.org/ + +.SH AUTHOR +This manual page was written by Michael Janssen , +for the Debian GNU/Linux system (but may be used by others). --- codeville-0.8.0.orig/debian/docs +++ codeville-0.8.0/debian/docs @@ -0,0 +1,9 @@ +debian/NEWS.upstream +debian/ClientReference.html +debian/ClientReference.txt +debian/QuickStartGuide.html +debian/QuickStartGuide.txt +debian/ServerReference.html +debian/ServerReference.txt +debian/ToDoList.html +debian/ToDoList.txt --- codeville-0.8.0.orig/debian/ToDoList.txt +++ codeville-0.8.0/debian/ToDoList.txt @@ -0,0 +1,104 @@ + #[1]Codeville Wiki Recent Changes [2]Start [3]Wiki Markup [4]Print View + [5]Search [6]Index [7]Glossary [8]Help + + [9]Codeville Wiki + Search: ____________________ Titles Text + * [10]Login + + * [11]FrontPage + * [12]RecentChanges + * [13]FindPage + * [14]HelpContents + * [15]ToDoList + __________________________________________________________________ + + * Immutable Page + * [16]Show Changes + * [17]Get Info + * More Actions: + [Show Raw Text......] Do + +[18]ToDoList + +The Magic TODO list + +larger features + + * merge-through-conflict code (necessary in rare cases for revert and + resurrection) + * revert (for name operations, this already works for file contents) + * resurrecting deleted files + * access control lists on repository paths in the server + * support for binaries + * metadata (the execute bit, for instance) + * internationalization + * deal with case-insensitive file systems + * more polish + * cherry picking individual changes + * rollback of individual changes + +smaller stuff + + * Security audit of networking code + * Shared secrets are stored encrypted against the users password, + should also include a salt to protect against precomputed + dictionary attacks + * Move authentication-related info out of the tree. + * Graphical history browsing tool. + * Graphical conflict resolution tool, something like dirdiff which + can read the inline conflict info. + * Code cleanup - there are places in the code (sync_history(), + gen_changeset(), handle_contents_at_point()) which should be using + DFS.py to do a topological sort instead of being ad-hoc about it. + This is a good way to become more familiar with the code. + * Replace the stop-and-wait changeset fetching over the network with + something better. Ask on the mailing list for more details. + * Better parallelize the delta fetching and history replaying by + moving one of the 2 into a separate thread. + * Documentation. Some [19]HowTo guides would be especially useful for + things like history browsing. + * Fix the file ignore pattern stuff. Should probably work more like + CVS. + * Remember which files had conflicts after an update and have the + status command display them. + * Force users to resolve name conflicts before allowing relevent + files to be committed. + + last edited 2007-09-03 23:29:17 by RossCohen + + * Immutable Page + * [20]Show Changes + * [21]Get Info + * More Actions: + [Show Raw Text......] Do + + * [22]MoinMoin Powered + * [23]Python Powered + * [24]Valid HTML 4.01 + +References + + 1. http://codeville.org/doc/RecentChanges?action=rss_rc&ddiffs=1&unique=1 + 2. http://codeville.org/doc/FrontPage + 3. http://codeville.org/doc/ToDoList?action=raw + 4. http://codeville.org/doc/ToDoList?action=print + 5. http://codeville.org/doc/FindPage + 6. http://codeville.org/doc/TitleIndex + 7. http://codeville.org/doc/WordIndex + 8. http://codeville.org/doc/HelpOnFormatting + 9. http://codeville.org/doc/FrontPage + 10. http://codeville.org/doc/UserPreferences + 11. http://codeville.org/doc/FrontPage + 12. http://codeville.org/doc/RecentChanges + 13. http://codeville.org/doc/FindPage + 14. http://codeville.org/doc/HelpContents + 15. http://codeville.org/doc/ToDoList + 16. http://codeville.org/doc/ToDoList?action=diff + 17. http://codeville.org/doc/ToDoList?action=info + 18. http://codeville.org/doc/ToDoList?action=fullsearch&value=linkto%3A%22ToDoList%22&context=180 + 19. http://codeville.org/doc/HowTo + 20. http://codeville.org/doc/ToDoList?action=diff + 21. http://codeville.org/doc/ToDoList?action=info + 22. http://moinmoin.wikiwikiweb.de/ + 23. http://www.python.org/ + 24. http://validator.w3.org/check?uri=referer --- codeville-0.8.0.orig/debian/patches/lcsmatch-shebang.patch +++ codeville-0.8.0/debian/patches/lcsmatch-shebang.patch @@ -0,0 +1,7 @@ +--- orig/Codeville/lcsmatch.py ++++ mod/Codeville/lcsmatch.py +@@ -1,4 +1,3 @@ +-#!/usr/bin/env python + + # Written by Bram Cohen and Uoti Urpala + --- codeville-0.8.0.orig/debian/patches/mergelcs-shebang.patch +++ codeville-0.8.0/debian/patches/mergelcs-shebang.patch @@ -0,0 +1,8 @@ +--- Codeville/mergelcs.py.orig 2005-07-14 10:00:03.207184679 -0500 ++++ Codeville/mergelcs.py 2005-07-14 10:00:13.804793263 -0500 +@@ -1,5 +1,3 @@ +-#!/usr/bin/python +- + # Written by Uoti Urpala + + --- codeville-0.8.0.orig/debian/patches/diff-shebang.patch +++ codeville-0.8.0/debian/patches/diff-shebang.patch @@ -0,0 +1,8 @@ +--- Codeville/diff.py.orig 2005-05-02 16:36:47.659432203 -0500 ++++ Codeville/diff.py 2005-05-02 16:36:53.518665260 -0500 +@@ -1,5 +1,3 @@ +-#!/usr/bin/python +- + # Written by Ross Cohen + # see LICENSE.txt for license information +