emded revision control in Python application?

Emile van Sebille emile at fenx.com
Fri Jun 22 16:34:15 EDT 2012


On 6/22/2012 11:19 AM duncan smith said...
> On 22/06/12 17:42, Emile van Sebille wrote:
>> On 6/22/2012 8:58 AM duncan smith said...
>>> 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

So, will the users modify their local environment and you'd push the 
revisions to a known location for redistribution? How might peer-to-peer 
work? How would you know which peers get the change, or would all peers 
get the change?

I've been working with rpyc (in as much spare time as I can manage) on 
some similar sounding issues and am now settling on a central system 
which provides convenient administration and potential relaying or 
pulling.  See http://rpyc.sourceforge.net/

I just tested my in-process development status and find 64 remote 
machines up and 5 non-responsive which in my case are likely machines 
that are not yet configured properly.  As this has been on the back 
burner the past two months I'm pleased with how it's fared in the face 
of neglect.

At least with rpyc (which does have a low learning curve) you'll be 
fully in python.

Emile


>>
>> You don't say what your target platform is, but on linux I've done some
>> testing with python-fuse that allows interception on file access to take
>> whatever actions you like, in your case archive prior upon write.
>>
>> Might be worth a look.
>>
>> Emile
>>
>
> I develop on Linux, but most users would be running some flavour of
> Windows. Initially I'd like to get something up and running that would
> allow me to collaborate from an Ubuntu box at home with someone using a
> Windows machine (not sure which version) in an office at the University
> of Manchester. The most likely end users would (probably) be running
> Windows machines on a local network with no internet access.
>
> I expect it would generally be possible to have an always-on server, but
> I'm also thinking about peer to peer style communication (information
> might not always be completely available, but it's better than being
> totally unaware of changes being made by others).
>
> I don't have much experience getting applications to communicate across
> a network, particularly in a reasonably secure fashion. Someone I know
> also suggested RabbitMQ. Any pointers that help me to reduce the options
> to a manageable number of candidates will be appreciated. A shallow
> learning curve would also be good (given that ATM this is an idea I want
> to try out rather than paid work). I am looking at fuse at the moment.
> Thanks.
>
> Duncan





More information about the Python-list mailing list