Commits on Dec 28, 2011
  1. @infininight

    Add readme.

    infininight committed Dec 28, 2011
Commits on Oct 31, 2011
  1. @sorbits

    Merge pull request #1 from JEG2/master

    Setting default arguments to favor the use of SSH tunnels.
    sorbits committed Oct 31, 2011
Commits on Oct 28, 2011
  1. @JEG2

    Cleaning up option output.

    JEG2 committed Oct 28, 2011
  2. @JEG2
  3. @JEG2

    Defaulting to an SSH tunnel friendly configuration and leaving the ol…

    …d connection semantics available as a new option.
    JEG2 committed Oct 28, 2011
  4. @JEG2

    Making sure we write binary.

    JEG2 committed Oct 28, 2011
  5. @JEG2

    Adding back the arguments to Ruby.

    JEG2 committed Oct 28, 2011
  6. @sorbits

    Alter shebang and add encoding comment.

    We use ‘env’ to find ‘ruby’ so that it is still found if installed outside ‘/usr/bin’ (presuming its location is listed in the PATH environment variable).
    Since not all implementations of ‘env’ support additional arguments to the executable we wish to run, there now is an encoding comment to replace the -KU argument (for ruby 1.9).
    sorbits committed Oct 28, 2011
Commits on Oct 18, 2011
  1. @sorbits

    Support RMATE_{HOST,PORT}.

    This allows setting the default host/port as environment variables and additionally, if the server accepts environment variables from the connecting client, solves the problem where multiple clients connects to the same account (e.g. same user on different machines).
    sorbits committed Oct 18, 2011
Commits on Jan 23, 2011
  1. @sorbits

    Add --host/--port options.

    Also explicitly list -h/--help as -h would otherwise be matched by --host.
    sorbits committed Jan 23, 2011
  2. @sorbits

    Encapsulate settings in a class.

    sorbits committed Jan 23, 2011
Commits on Sep 24, 2010
  1. @lasersox

    Don't warn the user that the file isn't writeable when he is editing …

    …a path that doesn't yet exist!
    lasersox committed Sep 24, 2010
  2. @lasersox

    Adding -w/--wait flag to let rmate block while the user edits the fil…

    …e. This is to support GIT_EDITOR and other such use-cases.
    lasersox committed Sep 24, 2010
  3. @lasersox
  4. @lasersox


    lasersox committed Sep 24, 2010
  5. @lasersox

    Organizing the program by putting functions and class definitions at …

    …the begining of the script.
    lasersox committed Sep 24, 2010
  6. @lasersox
Commits on Aug 20, 2010
  1. @lasersox

    rmate will abort when any file being opened is not writable. Force it…

    … to open with -f / --force.
    lasersox committed Aug 20, 2010
Commits on Jun 27, 2010
  1. @sorbits
Commits on Jun 8, 2010
  1. @sorbits
Commits on May 16, 2010
  1. @sorbits

    Change rmate / RMateServer to rely on exposed IP.

    This avoids doing ssh tunnels but also opens up the host for potential exploits so we should not make this the default and/or provide some possible authentication system.
    sorbits committed May 16, 2010
Commits on May 13, 2010
  1. @sorbits
Commits on Oct 18, 2009
  1. @sorbits

    Only do a backup file when file exists.

    Also remove backup file after (successful) save.
    sorbits committed Oct 18, 2009
  2. @sorbits

    Allow rmate to work for non-existing files.

    Presently it sends an empty string as the file data to the server. This cause a proxy icon to show for the file which is misleading. Ideally it shouldn’t send any file data, but that’ll cause “Save” to be treated as “Save As…” (will be fixed later).
    sorbits committed Oct 18, 2009
Commits on Jun 22, 2009
  1. @ciaran

    Fix rmate saving.

    FileUtils.cp throws an exception on failure (rather than false return), as will a failed, so this allows us to catch errors in a simple rescue block.
    FileUtils.cp will try to overwrite an existing file at the target path, so there is no need to explicitly unlink an existing backup first.
    Long-term we probably want some way for rmate to notify the server that the save failed.
    ciaran committed Jun 22, 2009
Commits on Jun 20, 2009
  1. @ciaran

    Preserve the original file’s flags by copying it and overwriting the …

    …content, instead of creating a new file.
    ciaran committed Jun 20, 2009
Commits on Jun 19, 2009
  1. @ciaran
  2. @ciaran
  3. @ciaran
  4. @ciaran

    Add saving to RMate.

    When a save command is received, the original file will be renamed to take a ~ suffix, and (if this succeeds) the new data will be written to the original path.
    ciaran committed Jun 19, 2009
  5. @sorbits

    Add ruby version of mate.

    This is not saving back (on the server) but otherwise works. It takes one or more files as argument and opens this in the local version of Avian.
    I have this in my .ssh/config for the host:
        RemoteForward 25757 localhost:25757
        ForwardAgent yes
        ControlPath ~/.ssh/master-%r@%h:%p
        ControlMaster auto
    The first line is the essential one, the next ones are so that it re-uses the connection, that way, it won’t try to setup forward for same port if a second session is opened.
    The protocol with Avian is very simply, it is: First line is just «command» and then zero or more «variable»: «value» to provide settings.
    One special case is that the variable ‘data’ has a integer as value which tells how many raw bytes should be read next, after those, more variables may follow (even another data variable, in which case the bytes read should be appended to those already read, this is to allow transferring data in chunks, e.g. TM may not know in advance how many bytes a file will amount to (due to encodings and such)).
    The rmate app tells Avian that it wants the file data back on save with ‘data-on-save: YES’ (look in the source). Avian sends back ‘save’ as command and then the data via the variable system explained above. It sends back the ‘close’ command when a file is closed. It puts the token among the variables sent back if one was provided during open.
    sorbits committed Jun 19, 2009
Commits on Mar 1, 2008
  1. @sorbits

    Initial commit

    sorbits committed Mar 1, 2008