When creating an object that did not exist locally before, `fsvs
revert` does not seem to recreate symlinks and to restore file
meta-data from the repository.

The following steps should be reproduceable with both a vanilla fsvs
1.1.15 and fsvs 1.1.14-1 taken from the Debian repository. First I
created a "source directory" and committed its contents:

| $ mkdir svn test1 test2
| $ svnadmin create svn/
| $ cd test1/
| $ fsvs urls file:///home/paul/fsvs/svn
| $ echo x >blech
| $ ln -s foo bar
| $ ls -l
| total 4
| lrwxrwxrwx 1 paul users 3 May  8 20:53 bar -> foo
| -rw-r--r-- 1 paul users 2 May  8 20:53 blech
| $ fsvs commit -m ""
| Committing to file:///home/paul/fsvs/svn
| N...         2  blech
| N...         3  bar
| committed revision      1 on 2008-05-08T18:54:01.515226Z as paul
| $

Then I tried to clone the two objects ("bar" and "blech") using fsvs:

| $ cd ../test2/
| $ fsvs urls file:///home/paul/fsvs/svn
| $ fsvs sync-repos
| N...         0  bar
| N...         0  blech
| ..C.       dir  .
| sync-repos for file:///home/paul/fsvs/svn rev   1.
| $ fsvs revert bar blech
| Reverting to revision 1:
| Dm..         8  bar
| Dm..         2  blech
| $

Unfortunately, fsvs does not recreate "bar" as a symlink and it does
not set an access mode of 644 for "blech":

| $ ls -l
| total 8
| -rw------- 1 paul users 8 May  8 20:54 bar
| -rw------- 1 paul users 2 May  8 20:54 blech
| $ less bar
| link foo
| $

Nevertheless, fsvs thinks of the second directory and the repository as
being in sync now:

| $ fsvs status -v
| ......         8  bar
| ......         2  blech
| .t....       dir  .
| $

Any hints?

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to