[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnu-arch-users] using arch when commuting frequently between statio

From: Mark A. Flacy
Subject: Re: [Gnu-arch-users] using arch when commuting frequently between stations
Date: Tue, 9 Sep 2003 23:08:09 -0500

>>>>> "Denys" == Denys Duchier <address@hidden> writes:
Denys> "Mark A. Flacy" <address@hidden> writes:
>> If you are always able to connect to your gateway, then you should just
>> make a "work" branch of your project and a "home" branch and merge between
>> the two.  In fact, you could pretty much act like you would with CVS and
>> use the same branch at home and work.
Denys> This I would achieve by creating a remote archive on the gateway and
Denys> committing directly into it, right?


Denys> The thing is that I need to be able to work disconnected (at both
Denys> ends).

OK.  You could operate as I do, in this case.  You could also keep mirrors
on your gateway if you wish (useful to allow other people to use your

Denys> 1. can that work if, on the gateway, I have just a mirror?

Well, you would need a mirror of both writeable archives.

Denys> 2. or do I need to create the archive on the gateway and then mirror
Denys>    it locally at both ends - and in that case, how can I both push and
Denys>    pull?

Except you can't commit to a mirror.  You'll need a writeable archive for that.

I'm not sure of the visibility that your machines have with each other.

Let's assume that your work machine can see your gateway, but not your home
machine.  We'll also assume that your home machine can see your gateway,
but not your work machine.  You also want your home and work machines to be
able to commit to an archive even when not connected to the network.

WA := work archive
HA := home archive

Work machine               Gateway machine           Home machine
WA (RW) =================> WA mirror (RO) =========> WA mirror mirror (RO)
HA mirror mirror <======== HA mirror (RO) <========= HA (RW)

Now when you have connectivity to the gateway from work, you pull a
read-only copy of your home archive from the gateway's read-only copy.
Your work machine has everything that it needs to merge FROM your home
archive's branches and to commit TO your work archive.  After you've done
some useful work and commited it to your work archive, you push your work
archive to the gateway creating a read-only mirror. 

When you get home, you connect to your gateway and pull a copy of the work
archive's mirror to your home machine.  Now you've got a read-only copy of
what you have at work.  You can merge from your work branches in the work
archive and commit into your home archive.  When you're ready, you push a
copy of your home archive to your gateway so that you can pull it into

If your work machine and home machine can access each other, then you can
omit the gateway entirely.  (The access can be only one way; that's the
situation that I've got.)  All you have to do is mirror each machine's
archive to the other box when you've got a connection.

Denys> Basically, I am trying to work out a recipe (like the one I posted
Denys> before) that lists the steps to follow.  Once I have that, things
Denys> start to click together and make sense (a little bit).

It's easier than you think; I'm very much afraid that I'm clouding the
water for you.

Denys> It's really embarrassing.  I have been a computer scientist for over
Denys> 20 years, and arch is the first tool that makes feel stupid.  Maybe
Denys> it's just setting up the right architecture for distributed work
Denys> that's the tough nut to crack.

Don't worry.  Pretty soon you're going to shake your head and say to
yourself "THAT'S what Flacy meant!  Why didn't he just say so!?"

The ability of tla to easily make read-only mirrors of archives that look
exactly like the original is one of it's major strengths, IMO.

 Mark A. Flacy
 Any opinions expressed above are my own.  Any facts expressed above
 are, ummm, facts.
"I guess that it's pretty much downhill from here."
 -- Me on my 40th birthday

reply via email to

[Prev in Thread] Current Thread [Next in Thread]