emded revision control in Python application?

rusi rustompmody at gmail.com
Sat Jun 23 01:45:07 EDT 2012


On Jun 22, 8:58 pm, duncan smith <buzz... at urubu.freeserve.co.uk>
wrote:
> Hello,
>        I have an application that would benefit from collaborative
> working. Over time users construct a "data environment" which is a
> number of files in JSON format contained in a few directories (in the
> future I'll probably place these in a zip so the environment is
> contained within a single file). At the moment there is one individual
> constructing the data environment, and me occasionally applying
> corrections after being e-mailed the files. But in the future there
> might be several individuals in various locations.
>
> As a minimum requirement I need to embed some sort of version control,
> so that changes committed by one individual will be seen in the local
> environments of the others. Some of the work involves editing graphs
> which have restrictions on their structure. In this case it would be
> useful for edits to be committed / seen in real time. The users will not
> be particularly technical, so the version control will have to happen
> relatively quietly in the background.
>
> My immediate thoughts are to (somehow) embed Mercurial or Subversion. It
> would certainly be useful to be able to revert to a previous version of
> the data environment if an individual does something silly. But I'm not
> actually convinced that this is the whole solution for collaborative
> working. Any advice regarding the embedding of a version control system
> or alternative approaches would be appreciated. I haven't tried anything
> like this before. The desktop application is written in Python (2.6)
> with a wxPython (2.8) GUI. Given the nature of the application / data
> the machines involved might be locally networked but without web access
> (if this makes a difference). TIA.
>
> Duncan

If you are looking at mercurial and subversion you may want to look at
git also.

>From http://en.wikipedia.org/wiki/Git_%28software%29#Implementation
(quoting Linus Torvalds)
---------------------------
In many ways you can just see git as a filesystem — it's content-
addressable, and it has a notion of versioning, but I really really
designed it coming at the problem from the viewpoint of a filesystem
person (hey, kernels is what I do), and I actually have absolutely
zero interest in creating a traditional SCM system.

More details https://git.wiki.kernel.org/index.php/Git#Design
-------------------------
Of course its good to say upfront that git is mostly C+shell ie its
not python
There is gitpython http://packages.python.org/GitPython/0.1/tutorial.html
but I know nothing about it



More information about the Python-list mailing list