Hi List,
I'm pretty sure this has come up before.
What's the best way of using TextMate to edit a remote project via ftp or sftp? The OS X finder's ftp disk seems to be read-only, so that's no good.
Any distilled wisdom?
Cheers, Ian
The best way that I know of is still via Transmit. http://www.panic.com/transmit/
On 9/19/05, Ian White ian.w.white@gmail.com wrote:
Hi List,
I'm pretty sure this has come up before.
What's the best way of using TextMate to edit a remote project via ftp or sftp? The OS X finder's ftp disk seems to be read-only, so that's no good.
Any distilled wisdom?
Cheers, Ian
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
The best way that I know of is still via Transmit. http://www.panic.com/transmit/
Thanks Robert.
That just lets me edit files that I open via the transmit window, right? I was hoping for a solution where I treat the remote side like the filesystem, i.e. open tm on a folder.
Cheers, Ian
If you have your favorites in transmit setup to use the docksend feature, you can create a command in textmate with:
open -a "Transmit" $TM_FILEPATH
Everytime you call this command it will upload the current file to its corresponding remote location.
Of course you have to have a local copy of your remote files that you want to edit, but I'm usually setup that way anyways.
- juan
That just lets me edit files that I open via the transmit window, right? I was hoping for a solution where I treat the remote side like the filesystem, i.e. open tm on a folder.
On 9/19/05, Juan Anorga juananorga@gmail.com wrote:
If you have your favorites in transmit setup to use the docksend feature, you can create a command in textmate with:
open -a "Transmit" $TM_FILEPATH
Everytime you call this command it will upload the current file to its corresponding remote location.
Of course you have to have a local copy of your remote files that you want to edit, but I'm usually setup that way anyways.
I so miss kioslaves when I'm using OSX, fish especially. Quanta combined with fish (basically a remote file system over ssh) is a pretty good combination, hopefully one day soon we'll be able to do something similar with TextMate. :)
Regards,
Or, even more up to date than fish, is shfs, which allows linux computers to mount remote directories over ssh. Porting the code to OS X should be rather straightforward, but apparently there hasn't been much of an audience yet.
On 9/19/05, Jason Bainbridge jbainbridge@gmail.com wrote:
On 9/19/05, Juan Anorga juananorga@gmail.com wrote:
If you have your favorites in transmit setup to use the docksend feature, you can create a command in textmate with:
open -a "Transmit" $TM_FILEPATH
Everytime you call this command it will upload the current file to its corresponding remote location.
Of course you have to have a local copy of your remote files that you want to edit, but I'm usually setup that way anyways.
I so miss kioslaves when I'm using OSX, fish especially. Quanta combined with fish (basically a remote file system over ssh) is a pretty good combination, hopefully one day soon we'll be able to do something similar with TextMate. :)
Regards,
Jason Bainbridge http://kde.org - webmaster@kde.org Personal Site - http://jasonbainbridge.com
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 9/19/05, Robert Deaton false.hopes@gmail.com wrote:
Or, even more up to date than fish, is shfs, which allows linux computers to mount remote directories over ssh. Porting the code to OS X should be rather straightforward, but apparently there hasn't been much of an audience yet.
I will admit that as much as I enjoy working in TextMate, I have remained with Emacs because of the ability to transparently edit documents over FTP/SSH anywhere in the world in a clean fashion. I bought a copy of TextMate, but because of this it sits idle more than it should.
Chris
I use TextMate extensively. That said, I must throw in a vote for improved remote file (and project) support over SFTP/SSH. My life would be easier if Textmate were to accommodate this oft desired process.
...still my infatuation with TextMate continues to grow. Is this love?
Matt Erker
Web Developer TOKY Branding + Design 3139 Olive Street Saint Louis, Missouri 63103
On Sep 19, 2005, at 2:22 PM, Christopher Petrilli wrote:
On 9/19/05, Robert Deaton false.hopes@gmail.com wrote:
Or, even more up to date than fish, is shfs, which allows linux computers to mount remote directories over ssh. Porting the code to OS X should be rather straightforward, but apparently there hasn't been much of an audience yet.
I will admit that as much as I enjoy working in TextMate, I have remained with Emacs because of the ability to transparently edit documents over FTP/SSH anywhere in the world in a clean fashion. I bought a copy of TextMate, but because of this it sits idle more than it should.
Chris
| Christopher Petrilli | petrilli@gmail.com
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
According to Ian White:
That just lets me edit files that I open via the transmit window, right? I was hoping for a solution where I treat the remote side like the filesystem, i.e. open tm on a folder.
I'd recommend using a version control tool instead of modifying files on the fly. My personal preference goes to Mercurial[1] but any of the available systems would do (heck, even cvs would. Hmmm maybe not :-))
----- [1] http://selenic.com/mercurial/
The problem with using Version Control tools is that odds are while debugging, you're writing unnecessary commits all the time. I'd much rather check in only when I finish important code than run through hundreds of commits looking for where the final change to a certain piece of the project is. But then again, that's just me.
On 9/20/05, Ollivier Robert roberto+textmate@keltia.freenix.fr wrote:
According to Ian White:
That just lets me edit files that I open via the transmit window, right? I was hoping for a solution where I treat the remote side like the filesystem, i.e. open tm on a folder.
I'd recommend using a version control tool instead of modifying files on the fly. My personal preference goes to Mercurial[1] but any of the available systems would do (heck, even cvs would. Hmmm maybe not :-))
[1] http://selenic.com/mercurial/
Ollivier ROBERT -=- FreeBSD: The Power to Serve! -=- roberto@keltia.freenix.fr Darwin snuadh.freenix.org Kernel Version 7.9.0: Wed Mar 30 20:11:17 PST 2005
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
According to Robert Deaton:
The problem with using Version Control tools is that odds are while debugging, you're writing unnecessary commits all the time. I'd much
And the problem in that is...? There is no problem.
rather check in only when I finish important code than run through hundreds of commits looking for where the final change to a certain piece of the project is. But then again, that's just me.
It is up to you but that is orthogonal to my answer. What I am trying to say is that, instead of modifying files on the remote side, you do your modifications locally -- whether it is done through 100 csets or one doesn't matter -- then you check the mods in then you update the "live" copy.
That way you have history and easy rollback in case of a problem.
PS: please don't Top post, thanks.
On 9/20/05, Ollivier Robert roberto+textmate@keltia.freenix.fr wrote:
According to Robert Deaton:
The problem with using Version Control tools is that odds are while debugging, you're writing unnecessary commits all the time. I'd much
And the problem in that is...? There is no problem.
The problem is that various organizations have actual guidelines about when things are commited into the repository. For example, at work, you're never to commit non-working code that doesn't pass unit tests. Often while doing development, there are incremental changes to test before you get to a point where everything is "commitable".
Also, some organizations don't use version control, and regardless of my, or your opinion, that is simply the way of the world. Lecturing them on how they need it is not the way to make them happy. Instead, I'd rather have a tool, i.e. Textmate, that bends to my needs, rather than dictating them.
Chris
FWIW, I'm in a situation where I _am_ using version control, but my "local" copy resides on a server external to my mac, accessed either through x-windows, or using an SFTP disk via Interarchy. I view the SFTP disk's local as a project file, but if I could have the project accessing remote files, and have my saves automatically pushed through, that would be a vast improvement. I've used skEdit similarly for other projects, and it's been heavenly. Alas, skEdit's engine isn't as powerful, so I'd really like to see a TM solution.
So as you can see, it's possible to play by the CVS rules, and still wish for a solution as described above.
On 9/20/05, Christopher Petrilli petrilli@gmail.com wrote:
On 9/20/05, Ollivier Robert roberto+textmate@keltia.freenix.fr wrote:
According to Robert Deaton:
The problem with using Version Control tools is that odds are while debugging, you're writing unnecessary commits all the time. I'd much
And the problem in that is...? There is no problem.
On 9/20/05, Ollivier Robert roberto+textmate@keltia.freenix.fr wrote:
According to Ian White:
That just lets me edit files that I open via the transmit window, right? I was hoping for a solution where I treat the remote side like the filesystem, i.e. open tm on a folder.
I'd recommend using a version control tool instead of modifying files on the fly. My personal preference goes to Mercurial[1] but any of the available systems would do (heck, even cvs would. Hmmm maybe not :-))
Sometimes version controls work. Sometimes they don't. This is one of the great few features I really miss from UltraEdit in the old days of me doing most of my programming on windows. There are many, many circumstances where it is just not an option to use version control to edit these remote files.
Open from SFTP would be a godsend and save -so- much time and effort. Transmit'n files back/forth is such a pain :)
--Stephen
On 9/20/05, IxokaI ixokai@gmail.com wrote:
On 9/20/05, Ollivier Robert roberto+textmate@keltia.freenix.fr wrote:
According to Ian White:
That just lets me edit files that I open via the transmit window, right? I was hoping for a solution where I treat the remote side like the filesystem, i.e. open tm on a folder.
I'd recommend using a version control tool instead of modifying files on the fly. My personal preference goes to Mercurial[1] but any of the available systems would do (heck, even cvs would. Hmmm maybe not :-))
Sometimes version controls work. Sometimes they don't. This is one of the great few features I really miss from UltraEdit in the old days of me doing most of my programming on windows. There are many, many circumstances where it is just not an option to use version control to edit these remote files.
Open from SFTP would be a godsend and save -so- much time and effort. Transmit'n files back/forth is such a pain :)
Use CyberDuck and edit in place over SSH, it still isn't ideal but it is better than the back/forth game...
I run into another real-world, practical hurdle which shoots any attempt at version control to hell. Many a project I hand off to a client gets altered by the client forcing me to work from their "current" version. In a case such as that it would be very nice to have a means of organizing and working remotely.
Matt
On Sep 20, 2005, at 4:59 PM, IxokaI wrote:
On 9/20/05, Ollivier Robert roberto+textmate@keltia.freenix.fr wrote:
According to Ian White:
That just lets me edit files that I open via the transmit window, right? I was hoping for a solution where I treat the remote side like the filesystem, i.e. open tm on a folder.
I'd recommend using a version control tool instead of modifying files on the fly. My personal preference goes to Mercurial[1] but any of the available systems would do (heck, even cvs would. Hmmm maybe not :-))
Sometimes version controls work. Sometimes they don't. This is one of the great few features I really miss from UltraEdit in the old days of me doing most of my programming on windows. There are many, many circumstances where it is just not an option to use version control to edit these remote files.
Open from SFTP would be a godsend and save -so- much time and effort. Transmit'n files back/forth is such a pain :)
--Stephen
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
Why not rsync?
I would personally *love* to see rsync built-in to textmate behind the scenes (using ssh of course). So my local project could be 'synced' in both directions to the remote project with a single click. This would also solve Matthew's issue with the client making occasional updates too.
I'm not a Cocoa developer at all but I'm guessing that adding such a feature to TextMate would be fairly trivial since rsync is already available in OS X.
Wouldn't it be possible to just add a few fields to the project for remote document root, username, and password? Then right in the main toolbar there could just be a single button called 'Sync'. Click - bang - everything is fresh in both directions. Since rsync only updates changes, it would be very quick.
If textmate had this ability (and could also do Japanese), I would gladly pay $200 for it. Seriously. It's just such a waste of time to have to launch an FTP client, connect to the server, drill down to the file on the local side, then drill down to the directory on the remote side, then upload -- all that just to update the remote css file or whatever. Rsync to the rescue?!
:-)
Sean
On Sep 21, 2005, at 7:08 AM, Matthew Erker wrote:
I run into another real-world, practical hurdle which shoots any attempt at version control to hell. Many a project I hand off to a client gets altered by the client forcing me to work from their "current" version. In a case such as that it would be very nice to have a means of organizing and working remotely.
Matt
On Sep 20, 2005, at 4:59 PM, IxokaI wrote:
On 9/20/05, Ollivier Robert roberto+textmate@keltia.freenix.fr wrote:
According to Ian White:
That just lets me edit files that I open via the transmit window, right? I was hoping for a solution where I treat the remote side like the filesystem, i.e. open tm on a folder.
I'd recommend using a version control tool instead of modifying files on the fly. My personal preference goes to Mercurial[1] but any of the available systems would do (heck, even cvs would. Hmmm maybe not :-))
Sometimes version controls work. Sometimes they don't. This is one of the great few features I really miss from UltraEdit in the old days of me doing most of my programming on windows. There are many, many circumstances where it is just not an option to use version control to edit these remote files.
Open from SFTP would be a godsend and save -so- much time and effort. Transmit'n files back/forth is such a pain :)
--Stephen
_ 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
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
:::: DataFly.Net :::: Complete Web Services http://www.datafly.net
You can already implement this yourself. Write a command "Sync to server" and one "Sync from server" that uses rsync to sync the project document root to/from the server, with the server defined in project-level environment variables. Then you can just create a new project, set the env vars, and save the project, and from then on simply open the project and sync from server, do whatever work you want, then sync back to server.
On Sep 20, 2005, at 11:29 PM, Sean Schertell wrote:
I would personally *love* to see rsync built-in to textmate behind the scenes (using ssh of course). So my local project could be 'synced' in both directions to the remote project with a single click. This would also solve Matthew's issue with the client making occasional updates too.
I'm not a Cocoa developer at all but I'm guessing that adding such a feature to TextMate would be fairly trivial since rsync is already available in OS X.
Wouldn't it be possible to just add a few fields to the project for remote document root, username, and password? Then right in the main toolbar there could just be a single button called 'Sync'. Click - bang - everything is fresh in both directions. Since rsync only updates changes, it would be very quick.
If textmate had this ability (and could also do Japanese), I would gladly pay $200 for it. Seriously. It's just such a waste of time to have to launch an FTP client, connect to the server, drill down to the file on the local side, then drill down to the directory on the remote side, then upload -- all that just to update the remote css file or whatever. Rsync to the rescue?!
I much prefer the rsync method. I work locally with all code in subversion or cvs and most of the time I rsync to a dev server for testing before commits (the dev server has 20G+ test databases configured, etc).
Doing this in TextMate is a synch. At first I just had an rsync -auv command that synced my ~/Sites with $USER@dev:~/public_html. When I got a lot of projects going I found rsync started to slow down so I use a python script now which basically syncs just the current project or the file (if no project). The script also adds some sugar, like --exclude ".svn" --exclude ".DS_Store" and guesses some paths, can handle multiple servers/users, etc. If anyone would be interested in the script let me know.
In response to Sean's request, "build rsync into TextMate" : *ahem* it is built in :)
On 9/21/05, Kevin Ballard kevin@sb.org wrote:
You can already implement this yourself. Write a command "Sync to server" and one "Sync from server" that uses rsync to sync the project document root to/from the server, with the server defined in project-level environment variables. Then you can just create a new project, set the env vars, and save the project, and from then on simply open the project and sync from server, do whatever work you want, then sync back to server.
On Sep 20, 2005, at 11:29 PM, Sean Schertell wrote:
I would personally *love* to see rsync built-in to textmate behind the scenes (using ssh of course). So my local project could be 'synced' in both directions to the remote project with a single click. This would also solve Matthew's issue with the client making occasional updates too.
I'm not a Cocoa developer at all but I'm guessing that adding such a feature to TextMate would be fairly trivial since rsync is already available in OS X.
Wouldn't it be possible to just add a few fields to the project for remote document root, username, and password? Then right in the main toolbar there could just be a single button called 'Sync'. Click - bang - everything is fresh in both directions. Since rsync only updates changes, it would be very quick.
If textmate had this ability (and could also do Japanese), I would gladly pay $200 for it. Seriously. It's just such a waste of time to have to launch an FTP client, connect to the server, drill down to the file on the local side, then drill down to the directory on the remote side, then upload -- all that just to update the remote css file or whatever. Rsync to the rescue?!
-- Kevin Ballard kevin@sb.org http://www.tildesoft.com http://kevin.sb.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
In response to Sean's request, "build rsync into TextMate" : *ahem* it is built in :)
Really? It's built into TextMate? Where?
Sean
On Sep 22, 2005, at 5:39 AM, Kumar McMillan wrote:
I much prefer the rsync method. I work locally with all code in subversion or cvs and most of the time I rsync to a dev server for testing before commits (the dev server has 20G+ test databases configured, etc).
Doing this in TextMate is a synch. At first I just had an rsync -auv command that synced my ~/Sites with $USER@dev:~/public_html. When I got a lot of projects going I found rsync started to slow down so I use a python script now which basically syncs just the current project or the file (if no project). The script also adds some sugar, like --exclude ".svn" --exclude ".DS_Store" and guesses some paths, can handle multiple servers/users, etc. If anyone would be interested in the script let me know.
In response to Sean's request, "build rsync into TextMate" : *ahem* it is built in :)
On 9/21/05, Kevin Ballard kevin@sb.org wrote:
You can already implement this yourself. Write a command "Sync to server" and one "Sync from server" that uses rsync to sync the project document root to/from the server, with the server defined in project-level environment variables. Then you can just create a new project, set the env vars, and save the project, and from then on simply open the project and sync from server, do whatever work you want, then sync back to server.
On Sep 20, 2005, at 11:29 PM, Sean Schertell wrote:
I would personally *love* to see rsync built-in to textmate behind the scenes (using ssh of course). So my local project could be 'synced' in both directions to the remote project with a single click. This would also solve Matthew's issue with the client making occasional updates too.
I'm not a Cocoa developer at all but I'm guessing that adding such a feature to TextMate would be fairly trivial since rsync is already available in OS X.
Wouldn't it be possible to just add a few fields to the project for remote document root, username, and password? Then right in the main toolbar there could just be a single button called 'Sync'. Click - bang - everything is fresh in both directions. Since rsync only updates changes, it would be very quick.
If textmate had this ability (and could also do Japanese), I would gladly pay $200 for it. Seriously. It's just such a waste of time to have to launch an FTP client, connect to the server, drill down to the file on the local side, then drill down to the directory on the remote side, then upload -- all that just to update the remote css file or whatever. Rsync to the rescue?!
-- Kevin Ballard kevin@sb.org http://www.tildesoft.com http://kevin.sb.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
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 Sep 21, 2005, at 8:40 PM, Sean Schertell wrote:
In response to Sean's request, "build rsync into TextMate" : *ahem* it is built in :)
Really? It's built into TextMate? Where?
...have you not been reading the thread? Kumar was talking about TextMate's ability to execute commands, and his script for doing rsyncing of his projects in TextMate.
In response to Sean's request, "build rsync into TextMate" : *ahem* it is built in :)
Really? It's built into TextMate? Where?
...have you not been reading the thread? Kumar was talking about TextMate's ability to execute commands, and his script for doing rsyncing of his projects in TextMate.
Sorry, I didn't understand that he meant it was a script to be executed by TM. That's pretty neat, but I'd still like to see it just built into the project management with a sync button in the toolbar. Lazy, I know ;-)
Sean
:::: DataFly.Net :::: Complete Web Services http://www.datafly.net
or the file (if no project). The script also adds some sugar, like --exclude ".svn" --exclude ".DS_Store" and guesses some paths, can handle multiple servers/users, etc. If anyone would be interested in the script let me know.
In response to Sean's request, "build rsync into TextMate" : *ahem* it is built in :)
It doesn't seem like anyone has said it yet, but I'd be interested ;-)
Sounds quite nice.
Cheers, -steve
On 9/21/05, Steve Lianoglou lists@arachnedesign.net wrote:
or the file (if no project). The script also adds some sugar, like --exclude ".svn" --exclude ".DS_Store" and guesses some paths, can handle multiple servers/users, etc. If anyone would be interested in the script let me know.
In response to Sean's request, "build rsync into TextMate" : *ahem* it is built in :)
It doesn't seem like anyone has said it yet, but I'd be interested ;-)
Sure. It's attached as psync.py, knock yourself out. It's also useful from the command line, and you can run psync.py -h to see all the options.
I would add it to the TextMate repository but it is sort of a hack in that it assumes you put all your project files in *one* directory named the same as the project filename (without the extension). There are more details about this in code comments. It's convenient for me to make all my projects like this anyway ... maybe you can live with it too.
Put the script somewhere in your search path (i.e. /usr/local/bin) and add this command to your Custom bundle:
# needs trailing slash on your sandbox : SBOX=~/Sites/ SERV=wherever.net
if [ ${#TM_PROJECT_FILEPATH} -ne 0 ]; then psync.py -l $SBOX -p "$TM_PROJECT_FILEPATH" -H $SERV else file="${TM_FILEPATH:${#SBOX}}" if [ ! -f "$file" ]; then echo "file sync would only work if ${TM_FILEPATH} was relative to ${SBOX}" exit 1 fi psync.py -l $SBOX -f "$file" -H $SERV fi
_ .. you will need to swap ssh keys with the remote host otherwise it won't work from TM (will try to ask for your password).
Anyway, this started out as a simple rsync command then grew and grew as I started using it for different purposes. I'm sure most people will still be fine just constructing an rsync command with variables inside a project or as separate TM commands.
K
woops, change:
if [ ! -f "$file" ]; then
to:
if [ ! -f "$SBOX$file" ]; then
copy/paste/other-computer error :) -K
On 21/09/2005, at 0.08, Matthew Erker wrote:
I run into another real-world, practical hurdle which shoots any attempt at version control to hell. Many a project I hand off to a client gets altered by the client forcing me to work from their "current" version. In a case such as that it would be very nice to have a means of organizing and working remotely.
Some VCS's like darcs and mecurial (I think), aren't really bound up to a version as such, and thus are more flexible in situations like this.
-- Sune.