Hi,
We are evaluating textmate as part of a wider move from PHP to Rails. I have an issue which I hope someone here might be able to help me with...
We have a shared linux development server and we each checkout and edit our files on the server remotely either via samba shares or directly by SSHing in. This is so we can preview the changes in our dev sites as we make them.
This works OK for the windows guys (they use Tortoise svn and map a network drive to get to their files). I am OK as I am comfortable in the terminal and don't mind SSHing over to the dev server to do any subversion stuff, but we have a couple of designers who have a fear of command lines and want to work strictly within textmate. Running any SVN command from textmate fails because the samba share appears like a local directory and all the SVN commands get screwed up. It then locks their copy and we have to clean up the locks.
Is it possible to set up textmate to either tunnel the SVN commands through SSH so they run in the devserver environment as if performed in a dev server shell or switch to using a different network filesystem (SSHFS, maybe?) so that we can edit our files remotely on the development server and use SVN from within TextMate?
We'd even consider moving to another open source version control system to fix this as long as there is good support for Mac, Win and linux...
Many thanks in advance,
Matt.
--------------------------------- What kind of emailer are you? Find out today - get a free analysis of your email personality. Take the quiz at the Yahoo! Mail Championship.
On Mar 21, 2007, at 4:01 PM, Matthew Law wrote:
We'd even consider moving to another open source version control system to fix this as long as there is good support for Mac, Win and linux...
Have you considered changing your subversion server to use mod_svn and apache? It's pretty easy to set up, just as secure, will work with every subversion client even if you don't have ssh or a command line, and just generally feels like less of a hack, at least to me.
I'm not familiar with mod_svn. If it will allow us to connect as a network drive from the finder, then add,edit and delete files in TxtMate and perform the subversion commands in the SVN bundle without falling over, I'll go for it...?
Thanks,
Matt
--- Dave Carrigan dave@rudedog.org wrote:
On Mar 21, 2007, at 4:01 PM, Matthew Law wrote:
We'd even consider moving to another open source
version control
system to fix this as long as there is good
support for Mac, Win
and linux...
Have you considered changing your subversion server to use mod_svn and apache? It's pretty easy to set up, just as secure, will work with every subversion client even if you don't have ssh or a command line, and just generally feels like less of a hack, at least to me.
-- Dave Carrigan Seattle, WA, USA dave@rudedog.org | http://www.rudeog.org
______________________________________________________________________
For new threads USE THIS: textmate@lists.macromates.com (threading gets destroyed and the universe will collapse if you don't)
http://lists.macromates.com/mailman/listinfo/textmate
___________________________________________________________ Now you can scan emails quickly with a reading pane. Get the new Yahoo! Mail. http://uk.docs.yahoo.com/nowyoucan.html
On Mar 21, 2007, at 7:30 PM, Matthew Law wrote:
I'm not familiar with mod_svn. If it will allow us to connect as a network drive from the finder, then add,edit and delete files in TxtMate and perform the subversion commands in the SVN bundle without falling over, I'll go for it...?
I have tried to use Subversion with Samba as well. If I understand your question correctly, it won't matter if you use svn://, svn +ssh://, or http:// to interact with the repository. The problem you're running into is a function of how the *working copy* is accessed, not the repository. If the working copy is stored locally, it generally works fine, but if the working copy is stored on a samba filesystem, there are things that will break when after you commit changes and svn tries to update the working copy.
I think we have one project where we access the working copy via DAV and subversion commands work (we still use svn+ssh to interact with the repository itself) but DAV is so slow, it's almost unusable with TextMate's project window.
If you're talking about modifying the Subversion bundle in TextMate to always run `ssh remote_server svn blah files` instead of `svn blah files`, you could probably do it, but then your Subversion bundle would only ever be useful for that one repository. Something else you might experiment with: There's a `TM_SVN` variable that TextMate uses to locate Subversion and you can set variables per project. Perhaps instead of using the usual `/usr/local/bin/svn`, you could set `TM_SVN` for that project to something like this:
ssh -t remote_server /usr/bin/svn
I would be very surprised if that worked smoothly, though.
--- Rob McBroom http://www.skurfer.com/ I didn't "switch" to Apple... my OS did.
--- Rob McBroom textmate@skurfer.com wrote:
On Mar 21, 2007, at 7:30 PM, Matthew Law wrote: I have tried to use Subversion with Samba as well. If I understand your question correctly, it won't matter if you use svn://, svn +ssh://, or http:// to interact with the repository. The problem you're running into is a function of how the *working copy* is accessed, not the repository. If the working copy is stored locally, it generally works fine, but if the working copy is stored on a samba filesystem, there are things that will break when after you commit changes and svn tries to update the working copy.
That is exactly the scenario. We can read and write files fine over the network, but svn explodes.
I think we have one project where we access the working copy via DAV and subversion commands work (we still use svn+ssh to interact with the repository itself) but DAV is so slow, it's almost unusable with TextMate's project window.
I setup DAV today and it is even worse than working in a samba share :-(
If you're talking about modifying the Subversion bundle in TextMate to always run `ssh remote_server svn blah files` instead of `svn blah files`, you could probably do it, but then your Subversion bundle would only ever be useful for that one repository. Something else you might experiment with: There's a `TM_SVN` variable that TextMate uses to locate Subversion and you can set variables per project. Perhaps instead of using the usual `/usr/local/bin/svn`, you could set `TM_SVN` for that project to something like this:
ssh -t remote_server /usr/bin/svn
I would be very surprised if that worked smoothly, though.
It didn't, so I'm back to either setting up a development environment on the designer's Macs or making them learn and use the command line. Then I've got to make sure svn filters out all of the nasty '._*' files that the finder leaves everywhere...
Thanks for your help,
Matt.
___________________________________________________________ Copy addresses and emails from any email account to Yahoo! Mail - quick, easy and free. http://uk.docs.yahoo.com/trueswitch2.html
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi,
the locking Problem is a long known Bug of OSXs way of handling Samba shares (it messes up some rights, especially with .folders). Sometimes, you can find custom Subversion builds that try to work around this (and usually fail and get discontinued :/).
One of the suggested solutions is to use NFS instead of Samba for sharing (which has the drawback of having 2 ways of network sharing). Another idea would that came to our mind (but we didn't have time to test) is to use a FUSE implementation of SMB to connect to the server. (using macfuse) We had the idea after a colleague of mine used sshfs via macfuse to use svn on a remote server that didn't have svn. (Slow, but it works)
Greetings Florian
Matthew Law wrote:
Hi,
We are evaluating textmate as part of a wider move from PHP to Rails. I have an issue which I hope someone here might be able to help me with...
We have a shared linux development server and we each checkout and edit our files on the server remotely either via samba shares or directly by SSHing in. This is so we can preview the changes in our dev sites as we make them.
This works OK for the windows guys (they use Tortoise svn and map a network drive to get to their files). I am OK as I am comfortable in the terminal and don't mind SSHing over to the dev server to do any subversion stuff, but we have a couple of designers who have a fear of command lines and want to work strictly within textmate. Running any SVN command from textmate fails because the samba share appears like a local directory and all the SVN commands get screwed up. It then locks their copy and we have to clean up the locks.
Is it possible to set up textmate to either tunnel the SVN commands through SSH so they run in the devserver environment as if performed in a dev server shell or switch to using a different network filesystem (SSHFS, maybe?) so that we can edit our files remotely on the development server and use SVN from within TextMate?
We'd even consider moving to another open source version control system to fix this as long as there is good support for Mac, Win and linux...
Many thanks in advance,
Matt.
What kind of emailer are you? Find out today - get a free analysis of your email personality. Take the quiz at the Yahoo! Mail Championship http://uk.rd.yahoo.com/mail/uk/taglines/default/championships/quiz/*http://uk.rd.yahoo.com/evt=44106/*http://mail.yahoo.net/uk/.
For new threads USE THIS: textmate@lists.macromates.com (threading gets destroyed and the universe will collapse if you don't) http://lists.macromates.com/mailman/listinfo/textmate
On Mar 22, 2007, at 1:51 PM, Matthew Law wrote:
Then I've got to make sure svn filters out all of the nasty '._*' files that the finder leaves everywhere...
After a user runs `svn` for the first time, they should have a `~/.subversion/config` file. Look for the global-ignores setting and make sure it includes `.DS_Store` and `._*`. Mine looks like this:
[miscellany] global-ignores = *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store ._*
(which I think is just the default with `._*` tacked onto the end)
--- Rob McBroom http://www.skurfer.com/ I didn't "switch" to Apple... my OS did.
--- Rob McBroom textmate@skurfer.com wrote:
On Mar 22, 2007, at 1:51 PM, Matthew Law wrote:
Then I've got to make sure svn filters out all of
the nasty '._*'
files that the finder leaves everywhere...
After a user runs `svn` for the first time, they should have a `~/.subversion/config` file. Look for the global-ignores setting and make sure it includes `.DS_Store` and `._*`. Mine looks like this:
[miscellany] global-ignores = *.o *.lo *.la #*# .*.rej *.rej
.*~ *~ .#* .DS_Store ._*
(which I think is just the default with `._*` tacked onto the end)
Done, Rob. Thanks!
___________________________________________________________ Inbox full of unwanted email? Get leading protection and 1GB storage with All New Yahoo! Mail. http://uk.docs.yahoo.com/nowyoucan.html
Matthew Law wrote:
Hi,
We have a shared linux development server and we each checkout and edit our files on the server remotely either via samba shares or directly by SSHing in. This is so we can preview the changes in our dev sites as we make them.
What exactly is the reason that you don't have a local checkout of the repository? Editing the files remotely seems like a bad idea to me, if you can instead just edit locally, and push changes using svn (or whatever scm).
-Jacob
--- Jacob Rus jrus@hcs.harvard.edu wrote:
Matthew Law wrote:
Hi,
We have a shared linux development server and we
each checkout and edit our files on the server remotely either via samba shares or directly by SSHing in. This is so we can preview the changes in our dev sites as we make them.
What exactly is the reason that you don't have a local checkout of the repository? Editing the files remotely seems like a bad idea to me, if you can instead just edit locally, and push changes using svn (or whatever scm).
We all have our own sites on the development server which is a copy of our live linux box so it behaves the same as the live server. Our designers are not technical and we dont want to have to install apache mysql and PHP on everyone's Mac, so we work in our own dev sites and then commit when done making changes.
Local is great for rails but to for this environment we would have to commit each change to see it and have a commit hook in subversion trigger an update of the development site. Seems a bit clunky to me...
___________________________________________________________ New Yahoo! Mail is the ultimate force in competitive emailing. Find out more at the Yahoo! Mail Championships. Plus: play games and win prizes. http://uk.rd.yahoo.com/evt=44106/*http://mail.yahoo.net/uk