Syncing notebook with desktop, and oh by the way I'm using eclipse.

T

Thomas G. Marshall

I'm curious about something.

I'm doing java development on both my notebook and desktop system. I need
to keep the two in sync.

I /can/, of course, run synchronization software (that is not cognizant of
java nor anything else but just files and folders) to keep the source
folders up to date with each other, but I was wondering if there wasn't a
way to have a CVS repository (or whatever else you can think of) handle this
seamlessly, perhaps *within* eclipse.

I'm not using CVS currently, but will if it helps. Or does eclipse have
some other way of handling revisions and/or syncing? Or am I just going to
have to sync them either by hand or by sync software?

Is there some other way that folks manage this?
 
R

Roedy Green

I /can/, of course, run synchronization software (that is not cognizant of
java nor anything else but just files and folders) to keep the source
folders up to date with each other, but I was wondering if there wasn't a
way to have a CVS repository (or whatever else you can think of) handle this
seamlessly, perhaps *within* eclipse.

Let's say you had a CVS or other version control server running either
locally or remotely. (I don't know if hidden in CVS somewhere is a
CVS server).

Then you could check your work and check out on the other machine.
Only the changes would go across. The catch is, your work in progress
would not be transferred, only files checked in. That would probably
not be a good thing.

If you were trying to propagate to a number of machines I would
suggest the Replicator. See
http://mindprod.com/applets/replicator.html

There you upload your changes to a website and others automatically
download just the changes they need. The advantage over competing
systems is there in no software needed on the server -- just vanilla
HTTP.

If you can tie the two machines together over a LAN link so one looks
like drive of the other, you can write a 4NT script that will just
copy the newer or different sized files.
see http://mindprod.com/jgloss/fornt.html

You could also write that with a fairly simple Java program using
File.list and File.size and File.lastModified. You might want to use
the file transport classes to do the copying. See
http://mindprod.com/products1.html#FILETRANSFER

There are also probably a ton of platform specific programs for sync.
 
T

Thomas G. Marshall

Roedy Green coughed up:
On Sun, 25 Sep 2005 00:54:28 GMT, "Thomas G. Marshall"



Let's say you had a CVS or other version control server running either
locally or remotely. (I don't know if hidden in CVS somewhere is a
CVS server).

Then you could check your work and check out on the other machine.
Only the changes would go across. The catch is, your work in progress
would not be transferred, only files checked in. That would probably
not be a good thing.

If you were trying to propagate to a number of machines I would
suggest the Replicator. See
http://mindprod.com/applets/replicator.html

Is this something that you use for this purpose? I'd really like to hear
from more in this ng about this. I can't believe it isn't a problem that
everyone has faced in one form or another.
There you upload your changes to a website and others automatically
download just the changes they need. The advantage over competing
systems is there in no software needed on the server -- just vanilla
HTTP.

If you can tie the two machines together over a LAN link so one looks
like drive of the other, you can write a 4NT script that will just
copy the newer or different sized files.
see http://mindprod.com/jgloss/fornt.html

This is currently how many of the freeware synchronization softwares work.
Syncing two directories, and where the directories actually are is up to the
OS.

You could also write that with a fairly simple Java program using
File.list and File.size and File.lastModified. You might want to use
the file transport classes to do the copying. See
http://mindprod.com/products1.html#FILETRANSFER

There are also probably a ton of platform specific programs for sync.

None of them smooth. I would love to hear real-world solutions.

Basically, I turn on my notebook, and something behind the scenes does a
quick check on the desktop to see if there is anything newer. And the same
in reverse.

I'm currently experimenting with these three:

1. source tree copying
2. file sharing (has some issues)
3. punting and remote desktoping from notebook->desktop, so the world
(everything) remains on the desktop.
 
R

Roedy Green

(I don't know if hidden in CVS somewhere is a
CVS server).

Obviously the answer to that question is yes. What I meant to say was
I don't know if hidden in Eclipse somewhere is a CVS server.
 
R

Roedy Green

Is this something that you use for this purpose? I'd really like to hear
from more in this ng about this. I can't believe it isn't a problem that
everyone has faced in one form or another.

The Replicator is something I wrote for the pharmaceutical industry to
share research data.

One researcher is the librarian who maintains a file tree of papers,
presentations, files, programs... Every so often he runs the
replicator which detects which files have REALLY changed not just been
redated or regenerated the same way, bundles up the changes into small
zip files and posts them on a website, and then uploads a small index
file to the collection of zips.

The client uses a JAWS program that logs into the website, downloads
the index file, figures out which zips they need, and downloads just
those zips to bring them up to date. It decompresses the zips as it
goes. The end user just sees a reasonably up to date and copy of the
files that is at least consistent with the way they were on the master
at some point in time. The server is just a vanilla HTTP server with
optional login access.

The Replicator sometimes repackages zips that contain a lot of
deadwood. It does its uploads and deletes in such a way as you never
run into contention between uploader and downloader the way you do
with simple HTML files. The key is it never modifies the uploaded
files, just gradually "retires" them.

The Replicator survives disconnects. It just picks up where it left
off the next time you run it.

The Replicator is also designed to create CDs for use on secure
machines that don't have Internet access, but still need to be kept up
to date. You can pop CD into driven on a LAN then have various copies
of the database access just what they need to update themselves.

At some point they want to do a version where each file is encrypted
with control of who is allowed to view what files, all controlled by
thumbdrives with private keys in them.

If you are curious how it works, the source code is posted on my
website. I also allow you to mirror my website for fast access using
it.
See http://mindprod.com/webstarts/replicator.html

There are two major improvements it might develop in future:

1. incremental updates. Now files up updated atomically as a whole, so
one comma change causes the whole file to be redistributed (in
compressed form). This is not a big concern with my website mirror or
with the pharmaceutical people since the files are all small.

2. support for splitting very large files up into several zips.
 
J

Jan Schaefer

Roedy said:
What I meant to say was
I don't know if hidden in Eclipse somewhere is a CVS server.

No, there isn't. Eclipse has a CVS client built-in. You can use a local
CVS repository or a repository laying on a remote maschine over SSH.

Just my two eurocents,

Jan
 
T

Thomas G. Marshall

Jan Schaefer coughed up:
No, there isn't. Eclipse has a CVS client built-in. You can use a
local CVS repository or a repository laying on a remote maschine over
SSH.
Just my two eurocents,

Jan


Hmmm....

How plausible/possible is it to create a view plugin in eclipse to manage
folder synchronization. I'd probably design it over TCP, rather than rely
on any OS mounting.

--
Puzzle: You are given a deck of cards all face down
except for 10 cards mixed in which are face up.
If you are in a pitch black room, how do you divide
the deck into two piles (may be uneven) that each
contain the same number of face-up cards?
Answer (rot13): Sebz naljurer va gur qrpx, qrny bhg
gra pneqf naq syvc gurz bire.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,482
Members
44,901
Latest member
Noble71S45

Latest Threads

Top