You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Chris Smith <sm...@bigfoot.com> on 2005/03/01 00:29:25 UTC

Single user repos/working copy, multi-boot

SVN,
 Everything is great.
 I have a dual boot with XP and Gentoo.
 A fat32 partition with my fsfs repository and working copy is between the
 main OS partitions.  d:\ gets mounted as /mnt/dmz when I boot Gentoo.
 I understand how to write a script to detect the URL setting for the
 working copy, and that I could use >svn switch to tweak that setting.
 However, if the url setting is for the 'other' OS, I get an error.
 a) Should I just switch over to the 'other' system, effect the
 change, and reboot, or
 b) Can I just use a script regex to update the url members of the XML
 files safely?  IOW, is that information only living in the XML.
 (yeah, I could experiment, but why not just ask?)
Thanks,
Chris


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Single user repos/working copy, multi-boot

Posted by Chris Smith <sm...@bigfoot.com>.
>>>>> "Max" == Max Bowsher <ma...@ukf.net> writes:

    Max> switch and switch --relocate are *VERY* different
    Max> operations. You are doing the wrong one for your situation.

    Max> Max.
Furthermore, my GNU URL was AFU.  I had a spurious / in my file:///.
Thanks for the calibration, boss.
Chris 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Single user repos/working copy, multi-boot

Posted by Max Bowsher <ma...@ukf.net>.
Chris Smith wrote:
>>>>>> "Max" == Max Bowsher <ma...@ukf.net> writes:
>
>    Max> Chris Smith wrote:
>    >> SVN, Everything is great.  I have a dual boot with XP and
>    >> Gentoo.  A fat32 partition with my fsfs repository and working
>    >> copy is between the main OS partitions.  d:\ gets mounted as
>    >> /mnt/dmz when I boot Gentoo.  I understand how to write a
>    >> script to detect the URL setting for the working copy, and that
>    >> I could use >svn switch to tweak that setting.  However, if the
>    >> url setting is for the 'other' OS, I get an error.  a) Should I
>    >> just switch over to the 'other' system, effect the change, and
>    >> reboot, or b) Can I just use a script regex to update the url
>    >> members of the XML files safely?  IOW, is that information only
>    >> living in the XML.  (yeah, I could experiment, but why not just
>    >> ask?)
>
>    Max> Aaargh! DO NOT HAND EDIT THE XML!
>
>    Max> "svn switch --relocate" is the proper command to use.
>
>    Max> If this doesn't work for you then show us the exact usage and
>    Max> exact error message.
>
>    Max> Max.
>
> Summary:
> SVN switch --relocate seems to assert that the OS is constant.
>
> I think by 'HAND EDIT' you mean 'outside the SVN api', no?  I would
> like to tweak Unix-style paths while operating under a Redmond
> operating system, and vice-versa.
> I get this error readout (hope pysvn is OK):
>
...
>    svn.switch(this_path,new_path)

switch and switch --relocate are *VERY* different operations. You are doing 
the wrong one for your situation.

Max.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Single user repos/working copy, multi-boot

Posted by Chris Smith <sm...@bigfoot.com>.
>>>>> "Max" == Max Bowsher <ma...@ukf.net> writes:

    Max> Chris Smith wrote:
    >> SVN, Everything is great.  I have a dual boot with XP and
    >> Gentoo.  A fat32 partition with my fsfs repository and working
    >> copy is between the main OS partitions.  d:\ gets mounted as
    >> /mnt/dmz when I boot Gentoo.  I understand how to write a
    >> script to detect the URL setting for the working copy, and that
    >> I could use >svn switch to tweak that setting.  However, if the
    >> url setting is for the 'other' OS, I get an error.  a) Should I
    >> just switch over to the 'other' system, effect the change, and
    >> reboot, or b) Can I just use a script regex to update the url
    >> members of the XML files safely?  IOW, is that information only
    >> living in the XML.  (yeah, I could experiment, but why not just
    >> ask?)

    Max> Aaargh! DO NOT HAND EDIT THE XML!

    Max> "svn switch --relocate" is the proper command to use.

    Max> If this doesn't work for you then show us the exact usage and
    Max> exact error message.

    Max> Max.

Summary:
 SVN switch --relocate seems to assert that the OS is constant.

I think by 'HAND EDIT' you mean 'outside the SVN api', no?  I would
like to tweak Unix-style paths while operating under a Redmond
operating system, and vice-versa.
I get this error readout (hope pysvn is OK):

D:\proj\mddl2>python pysvn_switch.py
E
======================================================================
ERROR: test_toggle (__main__.Test_working_copy)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "pysvn_switch.py", line 41, in test_toggle
    toggle_working_copy_urls()
  File "pysvn_switch.py", line 35, in toggle_working_copy_urls
    svn.switch(this_path,new_path)
ClientError: Unable to open an ra_local session to URL
Unable to open repository 'file:///mnt/dmz/arc/mddl'

----------------------------------------------------------------------
Ran 1 test in 1.091s


For the following script:
#--------8<-----------------------------------------------------------
import os
import unittest
import pysvn

"""
This script tries to support an fsfs repository in a dual-boot situation.

A FAT32 partition, known as the dmz (de-militarized zone) sits
between the NTFS and ext3 partitions.
Under Windows, projects live in d:\proj.
When the Gentoo boots, /etc/fstab mounts the FAT32 partition as /mnt/dmz.
"""
REPOSITORY_PATH_WIN   = "d:/arc/mddl"
REPOSITORY_PATH_GNU   = "/mnt/dmz/arc/mddl"
WORKING_COPY_PATH_WIN = "d:\\proj\\mddl2\\mddl"
WORKING_COPY_PATH_GNU = "/mnt/dmz/proj/mddl2/mddl"
COLON_POS             = 9

def toggle_working_copy_urls():
    svn     = pysvn.Client()
    this_os = os.environ["OS"]
    if this_os == "Windows_NT":
        this_path = WORKING_COPY_PATH_WIN
        new_path  = "file:///" + REPOSITORY_PATH_GNU
    else:
        this_path = WORKING_COPY_PATH_GNU
        new_path  = "file:///" + REPOSITORY_PATH_WIN
    
    magic_char = str(svn.info(this_path))[COLON_POS:COLON_POS+1]
    if   magic_char == ":" and this_os == "Windows_NT":
        pass
    elif magic_char != ":" and this_os != "Windows_NT":
        pass
    else:
        svn.switch(this_path,new_path)

class Test_working_copy(unittest.TestCase):
    def setUp(self):
        pass
    def test_toggle(self):
        toggle_working_copy_urls()

if __name__ == '__main__':
    unittest.main()

#--------8<-----------------------------------------------------------

Thanks, boss.
Chris


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Single user repos/working copy, multi-boot

Posted by Max Bowsher <ma...@ukf.net>.
Chris Smith wrote:
> SVN,
> Everything is great.
> I have a dual boot with XP and Gentoo.
> A fat32 partition with my fsfs repository and working copy is between the
> main OS partitions.  d:\ gets mounted as /mnt/dmz when I boot Gentoo.
> I understand how to write a script to detect the URL setting for the
> working copy, and that I could use >svn switch to tweak that setting.
> However, if the url setting is for the 'other' OS, I get an error.
> a) Should I just switch over to the 'other' system, effect the
> change, and reboot, or
> b) Can I just use a script regex to update the url members of the XML
> files safely?  IOW, is that information only living in the XML.
> (yeah, I could experiment, but why not just ask?)

Aaargh! DO NOT HAND EDIT THE XML!

"svn switch --relocate" is the proper command to use.

If this doesn't work for you then show us the exact usage and exact error 
message.

Max.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org