Login | Register
My pages Projects Community openCollabNet

Discussions > users > Cross Sync Problem.

fsvs
Discussion topic

Hide all messages in topic

All messages in topic

Re: Cross Sync Problem.

Author pmarek
Full name P.Marek
Date 2008-01-12 00:58:46 PST
Message Hello KC!

On Friday 11 January 2008 KC Laxton wrote:
> > I'm not sure that we both have the same understanding of "sync-repos".
> > "fsvs sync-repos" makes fsvs ask all configured repositories for the
> > Current filelist; it doesn't synchronize repositories.
>
> I was going by the help file:
>
> This command loads the file list from the repository. A following
> commit will send all differences and make the repository data identical
> to the local.
>
> So the sync-repos command followed by commit does not sync two
> repositories? That would explain why it didn't work. :)
Well, you could change the URL, do a sync-repos, and commit - then the 2nd
repository would get the same data as the first.

But that's not optimal.


> > Multi-URL operation might be a solution to your wish above - that only
> > some(small) subset of data is different. For that you'd need a central
> > repository (which hosts the *shared* data), and another one (or some
> > subdirectory) per machine, which holds the specific data.
>
> That's pretty much exactly what I'm looking for. I just want to replicate
> the small amount of data from a SVN repo on machine2 back to the SVN repo
> on machine1. I see the examples that you've got in the HOWTOs, I'll try
> following that. My apologies for being barely SVN literate.
No problem. Don't hesitate to ask if there's any other question.

Good luck!


Regards,

Phil


--
Versioning your /etc, /home or even your whole installation?
             Try fsvs (fsvs.tigris.org)!

RE: Cross Sync Problem.

Author KC Laxton <klaxton at brightcove dot com>
Full name KC Laxton <klaxton at brightcove dot com>
Date 2008-01-11 11:00:31 PST
Message Thanks for the prompt reply Phil!

> I'm not sure that we both have the same understanding of "sync-repos".
> "fsvs sync-repos" makes fsvs ask all configured repositories for the
> Current filelist; it doesn't synchronize repositories.

I was going by the help file:

   This command loads the file list from the repository. A following
   commit will send all differences and make the repository data identical
   to the local.

So the sync-repos command followed by commit does not sync two repositories? That would explain why it didn't work. :)

> Multi-URL operation might be a solution to your wish above - that only
> some(small) subset of data is different. For that you'd need a central
> repository (which hosts the *shared* data), and another one (or some
> subdirectory) per machine, which holds the specific data.

That's pretty much exactly what I'm looking for. I just want to replicate the small amount of data from a SVN repo on machine2 back to the SVN repo on machine1. I see the examples that you've got in the HOWTOs, I'll try following that. My apologies for being barely SVN literate.

Re: Cross Sync Problem.

Author pmarek
Full name P.Marek
Date 2008-01-11 10:36:41 PST
Message Hello KC!

On Friday 11 January 2008 KC Laxton wrote:
> I have two SVN archives in two different facilities.
...
> [me@machine1]$ fsvs urls dump
> N:local,P:100,file:/​//pub/svn/repository​
> N:remote,P:200,svn+s​sh://localhost/pub/s​vn/repository
...
> Now, the two machines will be MOSTLY the same information. Machine 1 will
> be the primary, with machine 2 being the source of two directories worth of
> information.
>
> It's my understanding that I should be able to run fsvs sync-repos and then
> commit, which should sync my repositories.
I'm not sure that we both have the same understanding of "sync-repos".

"fsvs sync-repos" makes fsvs ask all configured repositories for the current
filelist; it doesn't synchronize repositories.

Multi-URL operation might be a solution to your wish above - that only some
(small) subset of data is different.
For that you'd need a central repository (which hosts the *shared* data), and
another one (or some subdirectory) per machine, which holds the specific
data.

> So long as I don't overlap
> areas being changed, I should be able to commit and have two repositories
> that are fully in sync.
fsvs doesn't do anything between *two* repositories - you'd need svnmirror or
svk for that.

> My problem is that a commit after the fsvs sync-repos does not attempt to
> update machine2. I get this:
>
> [me@machine1]$ fsvs sync-repos
>
> [Lots of file information]
> sync-repos for file:///pub/svn/repository rev 1.
>
> f..C. dir .
> sync-repos for svn+ssh://localhost/​pub/svn/repository rev 8.
>
> [me@machine1]$ fsvs commit -o commit_to=remote -m "Testing"
> Committing to svn+ssh://localhost/​pub/svn/repository
> committed revision 9 on 2008-01-11T17:50:28.600098Z as me
>
> But when I log into machine2:
> [me@machine2~]$ svnlook tree /pub/svn/repository/
> /
>
> I see nothing.
"commit" sends information to the selected (option commit_to) repository.
To get the information back, you'd use "update" (or "checkout" in the first
run).


I hope I could make myself a bit clearer ... if that doesn't help you (because
it's more or less the same language as in the manual pages and HOWTOs, and so
might not be helpful) just ask again - then I'll try to explain in another
way, to get us a common base.


Regards,

Phil



--
Versioning your /etc, /home or even your whole installation?
             Try fsvs (fsvs.tigris.org)!

Cross Sync Problem.

Author KC Laxton <klaxton at brightcove dot com>
Full name KC Laxton <klaxton at brightcove dot com>
Date 2008-01-11 10:05:19 PST
Message Good Afternoon, or <Generic Time Zone Greeting> if it isn't afternoon wherever you are.

I have a slight issue, and googling and reading the archives of the mailing list haven't presented a solution to me. My apologies in advance if my search-fu is just weak.

I have two SVN archives in two different facilities. I use FSVS, as I need to preserve permissions and ownership of these files. I've set up a SSH tunnel from machine1 to machine2 as follows:

[me@machine1]$ fsvs urls dump
N:local,P:100,file:/​//pub/svn/repository​
N:remote,P:200,svn+s​sh://localhost/pub/s​vn/repository

[me@machine1]$ /usr/bin/ssh -o BatchMode=yes -N -L 2222:machine2:22 intermediary_machine

[me@machine1]$ cat .ssh/config
ServerAliveInterval 60

host localhost
    Hostname localhost
    Port 2222

I can confirm the tunnel, and tcpdump the traffic when I make a remote call - The tunnel doesn't appear to be a problem.

[me@machine1]$ ssh localhost hostname
machine2

Now, the two machines will be MOSTLY the same information. Machine 1 will be the primary, with machine 2 being the source of two directories worth of information.

It's my understanding that I should be able to run fsvs sync-repos and then commit, which should sync my repositories. So long as I don't overlap areas being changed, I should be able to commit and have two repositories that are fully in sync.

My problem is that a commit after the fsvs sync-repos does not attempt to update machine2. I get this:

[me@machine1]$ fsvs sync-repos

[Lots of file information]
sync-repos for file:///pub/svn/repository rev 1.

f..C. dir .
sync-repos for svn+ssh://localhost/​pub/svn/repository rev 8.

[me@machine1]$ fsvs commit -o commit_to=remote -m "Testing"
Committing to svn+ssh://localhost/​pub/svn/repository
committed revision 9 on 2008-01-11T17:50:28.600098Z as me

But when I log into machine2:
[me@machine2~]$ svnlook tree /pub/svn/repository/
/

I see nothing.

Any ideas?

Thanks in advance!
Attachments
Messages per page: