Hello...
I've just won fsvs on Solaris. At first it compiled and worked quite 
good, but core dumped on Door devices. /etc contains several doors, so I 
couldn't put it in repository... However, I changed this in src/helper.c 
(treat doors as sockets and fifos).
The complete Solaris patch (tested on OpenSolaris-b130) is attached.
Configure string is the following:

CFLAGS=-I /usr/apr/1.3/include -I /usr/apr-util/1.3/include -I 
/usr/include/pcre LDFLAGS=-L /usr/apr/1.3/lib -L /usr/apr-util/1.3/lib 
CPATH=/usr/include/pcre ./configure --with-svnlib=/usr/lib/svn/ 
--prefix=/usr/local --with-aprlib=/usr/apr-util/1.3/lib 
--with-svninc=/usr/include/svn/ --enable-dev-fake

fsvs commit,diff -v,rollback and update works.
It would be cool for fsvs to support ZFS ACLs :)

One more question. Some FSVS data is stored in /etc. So if we have 2 
dirs under fsvs control, e.g., /home and /etc, what will be with /home 
changes on /etc revert ? Will they be accessible in any way in the 
following scenario?

cd /etc
fsvs url file:///var/svn/trunk/etc
fsvs commit -o mkdir_base=yes

cd /home
fsvs url file:///var/svn/trunk/home
fsvs commit -o mkdir_base=yes

cd /etc
fsvs revert

How can I access /home history now when /etc/fsvs rolled back?

-- 
Best regards,
Alexander Pyhalov,
system administrator of Computer Center of South Federal University

------------------------------------------------------
http://fsvs.tigris.org/ds/viewMessage.do?dsForumId=3928&dsMessageId=2436296

To unsubscribe from this discussion, e-mail: 
[[email protected]].
--- fsvs-1.2.1/configure.in     2009-09-24 12:22:45.000000000 +0400
+++ fsvs-1.2.1_patched/configure.in     2009-12-29 12:16:35.025272313 +0300
@@ -68,7 +68,7 @@
                 # We allow from 3 characters on, although it might not make 
much 
                 # sense.
                 WAA_WC_MD5_CHARS=`perl -e '$_=0+shift; print $_+0 if $_==0 || 
($_>3 && $_<=16)' "$withval"`
-                if [[ "$WAA_WC_MD5_CHARS" == "" ]]
+                if [[ "$WAA_WC_MD5_CHARS" = "" ]]
                 then
                         AC_MSG_ERROR([[The given value for --with-waa_md5 is 
invalid.]])
                 fi
@@ -222,7 +222,7 @@
 fi
 AC_SUBST(HAVE_O_DIRECTORY)
 
-AC_COMPILE_IFELSE(
+AC_LINK_IFELSE(
        [AC_LANG_PROGRAM(
                [[ #include <stdio.h> ]], 
                [[ int main(int argc, char *args[])
@@ -268,7 +268,7 @@
        [])
 AC_SUBST(ENABLE_RELEASE)
 
-if [[ "$ENABLE_RELEASE$ENABLE_DEBUG" == "11" ]]
+if [[ "$ENABLE_RELEASE$ENABLE_DEBUG" = "11" ]]
 then
        AC_MSG_ERROR([[--enable-debug and --enable-release are incompatibel.
        Use one or the other.]])
@@ -292,7 +292,7 @@
 AC_SUBST(HAS_FASTCALL)
 
 # Only i386 (32bit) has fastcall.
-if [[ `uname -m` == i?86 ]]
+if [[ `uname -m` = i?86 ]]
 then
        HAS_FASTCALL=1
 fi
@@ -300,7 +300,7 @@
 AC_TYPE_UINT32_T
 AC_SUBST(HAVE_UINT32_T)
 # See config.h for an explanation.
-if [[ "$ac_cv_c_uint32_t" == "yes" ]]
+if [[ "$ac_cv_c_uint32_t" = "yes" ]]
 then
        ac_cv_c_uint32_t=uint32_t
 fi
@@ -308,7 +308,7 @@
 
 AC_TYPE_UINT64_T
 AC_SUBST(HAVE_UINT64_T)
-if [[ "$ac_cv_c_uint64_t" == "yes" ]]
+if [[ "$ac_cv_c_uint64_t" = "yes" ]]
 then
        ac_cv_c_uint64_t=uint64_t
 fi
@@ -335,8 +335,7 @@
 # Cause a recompile
 touch src/config.h
 
-if [ [[ "$ac_cv_header_linux_kdev_t_h" == "no" && 
-        "x$ENABLE_DEV_FAKE" == "x" ]] ]
+if [ [ "$ac_cv_header_linux_kdev_t_h" = "no" -a "x$ENABLE_DEV_FAKE" = "x" ] ]
 then
        AC_MSG_WARN([
   * MAJOR(), MINOR() and MAKEDEV() definitions not found.
--- fsvs-1.2.1/src/est_ops.c    2009-10-12 23:05:54.000000000 +0400
+++ fsvs-1.2.1_patched/src/est_ops.c    2009-12-28 13:02:00.043453670 +0300
@@ -1715,7 +1715,7 @@
        /* Read data. */
        len_read=special_len;
        STOPIF( apr_file_read( a_stream, special_data, &len_read), NULL);
-       STOPIF_CODE_ERR( len_read != special_len, ENODATA, 
+       STOPIF_CODE_ERR( len_read != special_len, APR_EOF, 
                        "Reading was cut off at byte %llu of %llu",
                        (t_ull)len_read, (t_ull)special_len);
        special_data[len_read]=0;
--- fsvs-1.2.1/src/status.c     2009-10-12 23:05:54.000000000 +0400
+++ fsvs-1.2.1_patched/src/status.c     2009-12-28 13:04:08.633082993 +0300
@@ -786,8 +786,8 @@
                STOPIF_CODE_EPIPE( printf("   Device nr.:\t%llu:%llu\n", 
                                        (t_ull)MAJOR(sts->st.rdev),
                                        (t_ull)MINOR(sts->st.rdev)), NULL);
-       }
 #endif
+       }
        else
                STOPIF_CODE_EPIPE( printf("   Size:  \t%llu\n", 
                                        (t_ull)sts->st.size), NULL);
diff -ru fsvs-1.2.1/src/checksum.h fsvs-1.2.1.patched/src/checksum.h
--- fsvs-1.2.1/src/checksum.h   2009-01-19 10:29:41.000000000 +0300
+++ fsvs-1.2.1.patched/src/checksum.h   2010-01-11 13:28:59.004137644 +0300
@@ -11,7 +11,7 @@
 
 #include "global.h"
 #include "interface.h"
-#include <subversion-1/svn_delta.h>
+#include <svn_delta.h>
 
 /** \file
  * CRC, manber function header file. */
diff -ru fsvs-1.2.1/src/commit.c fsvs-1.2.1.patched/src/commit.c
--- fsvs-1.2.1/src/commit.c     2009-10-12 23:05:54.000000000 +0400
+++ fsvs-1.2.1.patched/src/commit.c     2010-01-11 13:28:59.176731969 +0300
@@ -69,11 +69,11 @@
 #include <apr_pools.h>
 #include <apr_user.h>
 #include <apr_file_io.h>
-#include <subversion-1/svn_delta.h>
-#include <subversion-1/svn_ra.h>
-#include <subversion-1/svn_error.h>
-#include <subversion-1/svn_string.h>
-#include <subversion-1/svn_time.h>
+#include <svn_delta.h>
+#include <svn_ra.h>
+#include <svn_error.h>
+#include <svn_string.h>
+#include <svn_time.h>
 
 #include <sys/types.h>
 #include <sys/mman.h>
diff -ru fsvs-1.2.1/src/commit.h fsvs-1.2.1.patched/src/commit.h
--- fsvs-1.2.1/src/commit.h     2008-02-19 08:57:01.000000000 +0300
+++ fsvs-1.2.1.patched/src/commit.h     2010-01-11 13:28:58.978569371 +0300
@@ -9,7 +9,7 @@
 #ifndef __COMMIT_H__
 #define __COMMIT_H__
 
-#include <subversion-1/svn_delta.h>
+#include <svn_delta.h>
 
 #include "actions.h"
 
diff -ru fsvs-1.2.1/src/export.c fsvs-1.2.1.patched/src/export.c
--- fsvs-1.2.1/src/export.c     2009-10-12 23:05:54.000000000 +0400
+++ fsvs-1.2.1.patched/src/export.c     2010-01-11 13:28:59.135906715 +0300
@@ -14,9 +14,9 @@
  * a WAA area.
  * */
 
-#include <subversion-1/svn_delta.h>
-#include <subversion-1/svn_ra.h>
-#include <subversion-1/svn_error.h>
+#include <svn_delta.h>
+#include <svn_ra.h>
+#include <svn_error.h>
 
 #include "export.h"
 #include "helper.h"
diff -ru fsvs-1.2.1/src/fsvs.c fsvs-1.2.1.patched/src/fsvs.c
--- fsvs-1.2.1/src/fsvs.c       2009-10-12 23:05:54.000000000 +0400
+++ fsvs-1.2.1.patched/src/fsvs.c       2010-01-11 13:28:58.958689284 +0300
@@ -18,7 +18,7 @@
 
 #include <apr_pools.h>
 
-#include <subversion-1/svn_error.h>
+#include <svn_error.h>
 
 #include "global.h"
 #include "interface.h"
diff -ru fsvs-1.2.1/src/global.h fsvs-1.2.1.patched/src/global.h
--- fsvs-1.2.1/src/global.h     2009-10-12 23:05:54.000000000 +0400
+++ fsvs-1.2.1.patched/src/global.h     2010-01-11 13:28:59.211241833 +0300
@@ -19,8 +19,10 @@
 #include <sys/types.h>
 #include <apr_md5.h>
 #include <apr_file_io.h>
-#include <subversion-1/svn_ra.h>
-#include <subversion-1/svn_string.h>
+//#include <subversion-1/svn_ra.h>
+#include <svn_ra.h>
+//#include <subversion-1/svn_string.h>
+#include <svn_string.h>
 #include <pcre.h>
 
 
diff -ru fsvs-1.2.1/src/hash_ops.h fsvs-1.2.1.patched/src/hash_ops.h
--- fsvs-1.2.1/src/hash_ops.h   2008-05-16 08:45:04.000000000 +0400
+++ fsvs-1.2.1.patched/src/hash_ops.h   2010-01-11 13:28:59.039092962 +0300
@@ -10,7 +10,8 @@
 #define __HASH_OPS_H
 
 #include "global.h"
-#include <db.h>
+//#include <db.h>
+#include <gdbm.h>
 
 /** \file
  * Hash operations header file.
diff -ru fsvs-1.2.1/src/helper.c fsvs-1.2.1.patched/src/helper.c
--- fsvs-1.2.1/src/helper.c     2009-08-21 22:02:29.000000000 +0400
+++ fsvs-1.2.1.patched/src/helper.c     2010-01-11 13:28:59.034112804 +0300
@@ -19,7 +19,7 @@
 #include <pwd.h>
 #include <apr_file_io.h>
 #include <apr_md5.h>
-#include <subversion-1/svn_config.h>
+#include <svn_config.h>
 
 #include "global.h"
 #include "waa.h"
diff -ru fsvs-1.2.1/src/log.c fsvs-1.2.1.patched/src/log.c
--- fsvs-1.2.1/src/log.c        2009-10-12 23:05:54.000000000 +0400
+++ fsvs-1.2.1.patched/src/log.c        2010-01-11 13:28:59.039911995 +0300
@@ -45,10 +45,10 @@
 
 
 #include <apr_pools.h>
-#include <subversion-1/svn_ra.h>
-#include <subversion-1/svn_error.h>
-#include <subversion-1/svn_string.h>
-#include <subversion-1/svn_time.h>
+#include <svn_ra.h>
+#include <svn_error.h>
+#include <svn_string.h>
+#include <svn_time.h>
 
 #include <sys/types.h>
 #include <unistd.h>
diff -ru fsvs-1.2.1/src/props.c fsvs-1.2.1.patched/src/props.c
--- fsvs-1.2.1/src/props.c      2009-10-12 23:05:54.000000000 +0400
+++ fsvs-1.2.1.patched/src/props.c      2010-01-11 13:28:59.220024195 +0300
@@ -24,7 +24,7 @@
 #include <unistd.h>
 #include <gdbm.h>
 #include <fcntl.h>
-#include <subversion-1/svn_props.h>
+#include <svn_props.h>
 
 #include "global.h"
 #include "waa.h"
diff -ru fsvs-1.2.1/src/racallback.c fsvs-1.2.1.patched/src/racallback.c
--- fsvs-1.2.1/src/racallback.c 2009-08-20 22:07:53.000000000 +0400
+++ fsvs-1.2.1.patched/src/racallback.c 2010-01-11 13:28:59.026560506 +0300
@@ -15,10 +15,10 @@
 #include <time.h>
 #include <unistd.h>
 
-#include <subversion-1/svn_ra.h>
-#include <subversion-1/svn_auth.h>
-#include <subversion-1/svn_client.h>
-#include <subversion-1/svn_cmdline.h>
+#include <svn_ra.h>
+#include <svn_auth.h>
+#include <svn_client.h>
+#include <svn_cmdline.h>
 
 
 
diff -ru fsvs-1.2.1/src/racallback.h fsvs-1.2.1.patched/src/racallback.h
--- fsvs-1.2.1/src/racallback.h 2009-06-10 10:22:59.000000000 +0400
+++ fsvs-1.2.1.patched/src/racallback.h 2010-01-11 13:28:59.159917534 +0300
@@ -9,7 +9,7 @@
 #ifndef __RACALLBACK_H__
 #define __RACALLBACK_H__
 
-#include <subversion-1/svn_ra.h>
+#include <svn_ra.h>
 
 /** \file
  * The cb__record_changes() and other callback functions header file.  */
diff -ru fsvs-1.2.1/src/revert.c fsvs-1.2.1.patched/src/revert.c
--- fsvs-1.2.1/src/revert.c     2009-10-12 23:05:54.000000000 +0400
+++ fsvs-1.2.1.patched/src/revert.c     2010-01-11 13:28:58.947262954 +0300
@@ -10,8 +10,8 @@
 #include <fcntl.h>
 #include <time.h>
 
-#include <subversion-1/svn_delta.h>
-#include <subversion-1/svn_ra.h>
+#include <svn_delta.h>
+#include <svn_ra.h>
 
 #include "revert.h"
 #include "waa.h"
diff -ru fsvs-1.2.1/src/sync.c fsvs-1.2.1.patched/src/sync.c
--- fsvs-1.2.1/src/sync.c       2009-10-12 23:05:54.000000000 +0400
+++ fsvs-1.2.1.patched/src/sync.c       2010-01-11 13:28:59.163945437 +0300
@@ -65,11 +65,11 @@
 #include <apr_pools.h>
 #include <apr_user.h>
 #include <apr_file_io.h>
-#include <subversion-1/svn_delta.h>
-#include <subversion-1/svn_ra.h>
-#include <subversion-1/svn_error.h>
-#include <subversion-1/svn_string.h>
-#include <subversion-1/svn_time.h>
+#include <svn_delta.h>
+#include <svn_ra.h>
+#include <svn_error.h>
+#include <svn_string.h>
+#include <svn_time.h>
 
 #include <sys/types.h>
 #include <unistd.h>
diff -ru fsvs-1.2.1/src/update.c fsvs-1.2.1.patched/src/update.c
--- fsvs-1.2.1/src/update.c     2009-10-12 23:05:54.000000000 +0400
+++ fsvs-1.2.1.patched/src/update.c     2010-01-11 13:28:59.087366536 +0300
@@ -57,11 +57,11 @@
 #include <apr_pools.h>
 #include <apr_user.h>
 #include <apr_file_io.h>
-#include <subversion-1/svn_delta.h>
-#include <subversion-1/svn_ra.h>
-#include <subversion-1/svn_error.h>
-#include <subversion-1/svn_string.h>
-#include <subversion-1/svn_time.h>
+#include <svn_delta.h>
+#include <svn_ra.h>
+#include <svn_error.h>
+#include <svn_string.h>
+#include <svn_time.h>
 
 #include <sys/types.h>
 #include <unistd.h>
diff -ru fsvs-1.2.1/src/waa.c fsvs-1.2.1.patched/src/waa.c
--- fsvs-1.2.1/src/waa.c        2009-09-23 09:37:40.000000000 +0400
+++ fsvs-1.2.1.patched/src/waa.c        2010-01-11 13:28:58.940216412 +0300
@@ -12,7 +12,7 @@
 #include <errno.h>
 #include <apr_pools.h>
 #include <apr_md5.h>
-#include <subversion-1/svn_md5.h>
+#include <svn_md5.h>
 #include <ctype.h>
 #include <unistd.h>
 #include <strings.h>
--- fsvs-1.2.1/src/helper.c     2010-01-11 17:14:13.896243338 +0300
+++ fsvs-1.2.1.patched/src/helper.c     2010-01-11 17:14:39.878913762 +0300
@@ -358,7 +358,7 @@
                /* We should return -ENOENT here, so that higher levels can 
give 
                 * different error messages ... it might be confusing if "fsvs 
info 
                 * socket" denies some existing entry. */
-               if (S_ISFIFO(st64.st_mode) || S_ISSOCK(st64.st_mode))
+               if (S_ISFIFO(st64.st_mode) || S_ISSOCK(st64.st_mode)|| 
S_ISDOOR(st64.st_mode))
                {
                        st64.st_mode = (st64.st_mode & ~S_IFMT) | S_IFGARBAGE;
                        status=-ENOENT;

Reply via email to