Hi all,

As per the bug/issue guidelines, I'm posting something that I consider
to be a bug (but which may be contentious) to this list for
consideration before filing a bug report.

= The Problem =
I am unable to work with (checkout/update) a working copy on an NTFS
filesystem mounted using NTFS-3G unless it is mounted with uid=me,
even when full read/write permissions (fmask=111,dmask=000) are
granted.  The results are as follows:

$ svn co http://svn.apache.org/repos/asf/subversion/trunk testdir
svn: E000001: Can't set permissions on '<path>/testdir/.svn/tmp/svn-HZAmRw': 
Operation not permitted

I first encountered this behavior with the version in Debian testing
(1.6.17dfsg-1) and I have just confirmed the same behavior is present
in trunk.

= Why I Contend it is a Bug =
I'll be brief here, unless there is opposition:  I think it is worth
supporting working directories on filesystems without POSIX
permissions support, where reasonable, and that the current behavior
is highly inconvenient for such use by requiring either remounting the
filesystem or copying the working directory to another filesystem.

= Possible to Fix? =
I've attached a backtrace to the source of the error message.  Is
there a chance it can be made non-fatal, or that the permission change
can be avoided where not necessary?

Thanks for your consideration.

P.S.  Please CC me in replies as I am not subscribed to the list.

-- 
Cheers,      |  ke...@kevinlocke.name   | JIM:  kevin...@jabber.org
Kevin        |  http://kevinlocke.name  | IRC: kevinoid on freenode
#0  file_perms_set2 (file=0xbfffe44c, unique_path=0xb73fc068, 
    dirpath=0xb74130a8 "/foo/bar/.svn/tmp", 
    delete_when=svn_io_file_del_none, result_pool=0xb73fc018, 
    scratch_pool=0xb7413018) at subversion/libsvn_subr/io.c:868
#1  svn_io_open_unique_file3 (file=0xbfffe44c, unique_path=0xb73fc068, 
    dirpath=0xb74130a8 "/foo/bar/.svn/tmp", 
    delete_when=svn_io_file_del_none, result_pool=0xb73fc018, 
    scratch_pool=0xb7413018) at subversion/libsvn_subr/io.c:4226
#2  0xb7ea3537 in svn_stream_open_unique (stream=0xbfffe4e0, 
    temp_path=0xb73fc068, 
    dirpath=0xb74130a8 "/foo/bar/.svn/tmp", 
    delete_when=svn_io_file_del_none, result_pool=0xb73fc018, 
    scratch_pool=0xb7413018) at subversion/libsvn_subr/stream.c:882
#3  0xb7f0354b in svn_wc__open_writable_base (stream=0xbfffe4e0, 
    temp_base_abspath=0xb73fc068, md5_checksum=0x0, sha1_checksum=0xb73fc088, 
    db=0xb7e5c838, 
    wri_abspath=0xb742a110 "/foo/bar", 
    result_pool=0xb73fc018, scratch_pool=0xb7413018)
    at subversion/libsvn_wc/adm_files.c:338
#4  0xb7f3a43b in apply_textdelta (file_baton=0xb7411058, 
    expected_checksum=0x0, pool=0xb7413018, handler=0xb742fd98, 
    handler_baton=0xb742fd9c) at subversion/libsvn_wc/update_editor.c:3506
#5  0xb7edb236 in apply_textdelta (file_baton=0xb7413058, base_checksum=0x0, 
    pool=0xb7413018, handler=0xb742fd98, handler_baton=0xb742fd9c)
    at subversion/libsvn_delta/cancel.c:217
#6  0xb7be9741 in start_element (elem=0xbfffe5dc, userdata=0xb742fd58, 
    parent=225, nspace=0x8084d20 "svn:", elt_name=0x8084c10 "txdelta", 
    atts=0xb7dea278) at subversion/libsvn_ra_neon/fetch.c:1709
#7  0xb7bf7c27 in wrapper_startelm_cb (baton=0xb74220d8, parent=225, 
    nspace=0x8084d20 "svn:", name=0x8084c10 "txdelta", atts=0xb7dea278)
    at subversion/libsvn_ra_neon/util.c:1095
#8  0xb7de1340 in ?? () from /usr/lib/libneon-gnutls.so.27
#9  0xb77a1c7c in xmlParseStartTag () from /usr/lib/libxml2.so.2
#10 0xb77aa72d in ?? () from /usr/lib/libxml2.so.2
#11 0xb77ab405 in xmlParseChunk () from /usr/lib/libxml2.so.2
#12 0xb7de169c in ne_xml_parse () from /usr/lib/libneon-gnutls.so.27
#13 0xb7de17ab in ne_xml_parse_v () from /usr/lib/libneon-gnutls.so.27
#14 0xb7bf78ab in cancellation_callback (userdata=0xb7425768, 
    block=0x80bfba0 
"-enhancements:870119-870195,870197-870288\n/subversion/branches/svn-patch-improvements:918519-934609\n/subversion/branches/svnpatch-diff:865738-876477\n/subversion/branches/svnraisetc:874709-875149\n/subv"...,
 
    len=2570) at subversion/libsvn_ra_neon/util.c:1241
#15 0xb7ddf371 in ?? () from /usr/lib/libneon-gnutls.so.27
#16 0xb7dd283f in ne_read_response_block () from /usr/lib/libneon-gnutls.so.27
#17 0xb7dd2c3c in ne_discard_response () from /usr/lib/libneon-gnutls.so.27
#18 0xb7dd2c81 in ne_request_dispatch () from /usr/lib/libneon-gnutls.so.27
#19 0xb7bf8f1b in svn_ra_neon__request_dispatch (code_p=0x0, req=0xb7422058, 
    extra_headers=0xb74255f8, body=<value optimized out>, okay_1=200, 
    okay_2=0, pool=0xb7434018) at subversion/libsvn_ra_neon/util.c:1534
#20 0xb7bf98c7 in parsed_request (sess=0xb742c100, 
    method=<value optimized out>, 
    url=0xb742c5e8 "/repos/asf/!svn/vcc/default", body=0x0, 
    body_file=0xb742ff68, set_parser=0, 
    startelm_cb=0xb7be890b <start_element>, 
    cdata_cb=0xb7be8749 <cdata_handler>, endelm_cb=0xb7be803a <end_element>, 
    baton=0xb742fd58, extra_headers=0xb74255f8, status_code=0x0, 
    spool_response=0, pool=0xb7434018) at subversion/libsvn_ra_neon/util.c:1320
#21 svn_ra_neon__parsed_request (sess=0xb742c100, 
    method=<value optimized out>, 
    url=0xb742c5e8 "/repos/asf/!svn/vcc/default", body=0x0, 
    body_file=0xb742ff68, set_parser=0, 
    startelm_cb=0xb7be890b <start_element>, 
    cdata_cb=0xb7be8749 <cdata_handler>, endelm_cb=0xb7be803a <end_element>, 
    baton=0xb742fd58, extra_headers=0xb74255f8, status_code=0x0, 
    spool_response=0, pool=0xb7434018) at subversion/libsvn_ra_neon/util.c:1373
#22 0xb7be7574 in reporter_finish_report (report_baton=0xb742fd58, 
    pool=0xb7434018) at subversion/libsvn_ra_neon/fetch.c:2413
#23 0xb7f02309 in svn_wc_crawl_revisions5 (wc_ctx=0xb7e5c828, 
    local_abspath=0xb7434158 "/foo/bar", 
    reporter=0xb7c00078, report_baton=0xb742fd58, restore_files=1, 
    depth=svn_depth_unknown, honor_depth_exclude=1, 
    depth_compatibility_trick=0, use_commit_times=0, 
    cancel_func=0x8055960 <svn_cl__check_cancel>, cancel_baton=0x0, 
    notify_func=0x8059910 <notify>, notify_baton=0xb7437178, 
    scratch_pool=0xb7434018) at subversion/libsvn_wc/adm_crawler.c:861
#24 0xb7fd3506 in update_internal (result_rev=0x0, 
    local_abspath=0xb7434158 "/foo/bar", 
    anchor_abspath=0xb742e708 "/foo/bar", 
    revision=0xbfffed90, depth=svn_depth_unknown, depth_is_sticky=0, 
    ignore_externals=0, allow_unver_obstructions=0, adds_as_modification=1, 
    timestamp_sleep=0xbfffee3c, notify_summary=1, ctx=0xb7e5c7c8, 
    pool=0xb7434018) at subversion/libsvn_client/update.c:399
#25 0xb7fd3bae in svn_client__update_internal (result_rev=0x0, 
    local_abspath=0xb7434158 "/foo/bar", 
    revision=0xbfffeefc, depth=svn_depth_unknown, depth_is_sticky=1, 
    ignore_externals=0, allow_unver_obstructions=0, adds_as_modification=1, 
    make_parents=0, innerupdate=0, timestamp_sleep=0xbfffee3c, ctx=0xb7e5c7c8, 
    pool=0xb7434018) at subversion/libsvn_client/update.c:541
#26 0xb7f96223 in svn_client__checkout_internal (result_rev=0x0, 
    url=0xb7437980 "http://svn.apache.org/repos/asf/subversion/trunk";, 
    local_abspath=0xb7434158 "/foo/bar", 
    peg_revision=0xbfffef08, revision=0xbfffeefc, ra_cache=0x0, 
    depth=svn_depth_unknown, ignore_externals=0, allow_unver_obstructions=0, 
    timestamp_sleep=0x0, ctx=0xb7e5c7c8, pool=0xb7434018)
    at subversion/libsvn_client/checkout.c:215
#27 0xb7f96385 in svn_client_checkout3 (result_rev=0x0, 
    URL=0xb7437980 "http://svn.apache.org/repos/asf/subversion/trunk";, 
    path=0xb7437b28 "/foo/bar", 
    peg_revision=0xbfffef08, revision=0xbfffeefc, depth=svn_depth_unknown, 
    ignore_externals=0, allow_unver_obstructions=0, ctx=0xb7e5c7c8, 
    pool=0xb7434018) at subversion/libsvn_client/checkout.c:255
#28 0x0804e36e in svn_cl__checkout (os=0xb7e5c1c0, baton=0xbffff014, 
    pool=0xb7e5c018) at subversion/svn/checkout-cmd.c:161
#29 0x080584f8 in main (argc=4, argv=0xbffff234) at subversion/svn/main.c:2587

Reply via email to