caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Hendrik Boom <hendrik@topoi.pooq.com>
To: caml-list@inria.fr
Subject: Re: [Caml-list] File synchronization implementation(s) in OCaml?
Date: Thu, 8 Feb 2018 10:50:47 -0500	[thread overview]
Message-ID: <20180208155047.GA14190@topoi.pooq.com> (raw)
In-Reply-To: <CAGYXaSYevYcnNtc-MfhSdiB8kJy=FcLxqjXA4q-fCVO-aibm6A@mail.gmail.com>

On Thu, Feb 08, 2018 at 07:42:57AM -0800, Evgeny Roubinchtein wrote:
> Thank you everyone for all the responses and pointers to artefacts and
> papers.
> 
> Cedric, that is an excellent point; thank you.  My current intended use is
> having the user edit file(s) on host A using a text editor, and, when the
> user saves a file, having those edits reflected as quickly as possible in
> the corresponding file on host B.  So, my primary measure of performance is
> the speed of update: I want the time between the events "the user, who runs
> the editor on host A, has issued a command to the editor to save the file"
> and "the contents of the file the user has just saved on host A and the
> corresponding file on host B is identical" to be as low as feasible (there
> is a mapping between file paths on hosts A and B).  Sometimes, the user
> will create a new file on host A; then the file's contents needs to be put
> as quickly as possible into the corresponding location on host B.  One
> other consideration is that occasionally   the user may have their text
> editor save a number of files in quick (at least in human scale)
> succession: for example, the user issues "M-x compile" in Emacs, and Emacs
> offers to save all modified buffers before running the compilation: in that
> case, the total time to propagate the changes to all modified file(s)
> should be as low as possible.  So, to summarize:
> 
> 1. One-way synchronization is acceptable (I may find out otherwise with
> experience, but, for now, I am willing to make that assumption)
> 2. It is always known which file(s) have been modified.
> 3. It is probably feasible to plumb through the information about what
> part(s) of of a file were modified for each file from the text editor to
> the updater, if that helps with the speed of the update.  The editor
> usually "knows" what has changed, because it needs to be able to undo the
> changes.
> 4. The relevant metric is the speed of the update.
> 5. Sometimes changes to more than one file may be saved in quick (human
> scale) succession.  The relevant metric is still the speed of update to all
> files.

Unless your requirements are very different from mine, I suspct you want 
distributed revision management.  The system I use for that is monotone.  
Once set up it's a lot easier to use than git.


-- hendrik

      reply	other threads:[~2018-02-08 15:50 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-08  3:05 Evgeny Roubinchtein
2018-02-08  7:24 ` Malcolm Matalka
2018-02-08  8:01 ` Francois BERENGER
2018-02-08 13:11 ` Cedric Cellier
2018-02-08 14:44   ` Yaron Minsky
2018-02-08 15:42     ` Evgeny Roubinchtein
2018-02-08 15:50       ` Hendrik Boom [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180208155047.GA14190@topoi.pooq.com \
    --to=hendrik@topoi.pooq.com \
    --cc=caml-list@inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).