LINUX.IE, website of the Irish Linux Users' Group
Tux rules!

   
Home
New Users
Articles
Download
Projects
Community
Vendors

  Print Version
Email to...
 
Archives:


planetILUG

Recent News

News Archive


Join the
ILUG
on FaceBook


Join the
ILUG
on LinkedIn


Join the
ILUG SETI
Group



















 
 :: Mailing Lists

[ILUG] svn over curlftpfs

[ILUG] svn over curlftpfs

Gavin McCullagh gmccullagh at gmail.com
Sat Mar 12 10:32:32 GMT 2011


Hi,

we have a remote website available over ftp which we'd like to keep
versioning of (ideally) with subversion.

The idea is (or was) to run a nightly script which looked for any new files
and added them to the archive, then ran a commit.  We would get a patchset
by email every time a change was made to the site.

I tried mirroring the files to a local directory, then running svn on the
local dir, but this is messy to say the least.

I then started using curlftpfs to mount the remote filesystem.  It's not
very efficient, but it worked for a while and it's only a small site so
convenience over-rode efficiency.  Regrettably, it has started failing
on file adds with:

  svn: Can't open '.svn/props/tempfile.tmp': Operation not supported

An strace of "svn add heca.php" includes:

rename(".svn/tmp/entries", ".svn/entries") = 0 
lstat64(".svn/entries", {st_mode=S_IFREG|0644, st_size=5012, ...}) = 0 
chmod(".svn/entries", 0444)             = 0 
lstat64("heca.php", {st_mode=S_IFREG|0755, st_size=73, ...}) = 0 
stat64(".svn/prop-base/heca.php.svn-base", 0xbfad960c) = -1 ENOENT (No such file or directory)
open(".svn/props/tempfile.tmp", O_RDWR|O_CREAT|O_EXCL|O_LARGEFILE, 0666) = -1 EOPNOTSUPP (Operation not supported)
lstat64("heca.php", {st_mode=S_IFREG|0755, st_size=73, ...}) = 0 
lstat64("heca.php", {st_mode=S_IFREG|0755, st_size=73, ...}) = 0 
lstat64("heca.php", {st_mode=S_IFREG|0755, st_size=73, ...}) = 0 
stat64(".svn/text-base/heca.php.svn-base", 0xbfad92ac) = -1 ENOENT (No such file or directory)
brk(0x9cbd000)                          = 0x9cbd000
open(".svn/text-base/heca.php.svn-base", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
lstat64(".svn/text-base/heca.php.svn-base", 0xbfad93dc) = -1 ENOENT (No such file or directory)
open(".svn/all-wcprops", O_RDONLY|O_LARGEFILE) = 3 
fcntl64(3, F_GETFD)                     = 0 
fcntl64(3, F_SETFD, FD_CLOEXEC)         = 0 

My guess is that opening the file with O_EXCL isn't implemented in
curlftpfs.  Strangely, only certain files show this problem though.  When I
ftp'ed in I noticed a difference in permissions (the failing files had
execute set).  In some cases removing the execute bit fixed this, but it
didn't in others.

Needless to say "svn commit" isn't working either.

A bit of a long shot, but has anyone any suggestions?

Gavin



More information about the ILUG mailing list
Read this without the formatting.
                                                                                                    

 

Hosted by HEAnet


Maintained by the ILUG website team. The aim of Linux.ie is to support and help commercial and private users of Linux in Ireland. You can display ILUG news in your own webpages, read backend information to find out how. Networking services kindly provided by HEAnet, server kindly donated by Dell. Linux is a trademark of Linus Torvalds, used with permission. No penguins were harmed in the production or maintenance of this highly praised website. Looking for the Indian Linux Users' Group? Try here. If you've read all this and aren't a lawyer: you should be!
RSS Version
Powered by Dell