Author: mmu_man Date: 2010-01-09 00:37:05 +0100 (Sat, 09 Jan 2010) New Revision: 34961 Changeset: http://dev.haiku-os.org/changeset/34961/haiku Modified: haiku/trunk/src/bin/Jamfile haiku/trunk/src/bin/checkitout.cpp haiku/trunk/src/bin/checkitout.rdef Log: Add rsync:// support. There seems to be a cvs: uri scheme too according to http://en.wikipedia.org/wiki/URI_scheme but we'd have to decode it. TODO. checkitout needs libtracker. Modified: haiku/trunk/src/bin/Jamfile =================================================================== --- haiku/trunk/src/bin/Jamfile 2010-01-08 23:06:14 UTC (rev 34960) +++ haiku/trunk/src/bin/Jamfile 2010-01-08 23:37:05 UTC (rev 34961) @@ -110,7 +110,6 @@ # standard commands that need libbe.so and libsupc++.so StdBinCommands alert.cpp - checkitout.cpp dstcheck.cpp hey.cpp reindex.cpp @@ -183,6 +182,7 @@ # standard commands that need libbe.so, libtracker.so StdBinCommands + checkitout.cpp filepanel.cpp : be tracker $(TARGET_LIBSUPC++) : $(haiku-utils_rsrc) ; Modified: haiku/trunk/src/bin/checkitout.cpp =================================================================== --- haiku/trunk/src/bin/checkitout.cpp 2010-01-08 23:06:14 UTC (rev 34960) +++ haiku/trunk/src/bin/checkitout.cpp 2010-01-08 23:37:05 UTC (rev 34961) @@ -165,7 +165,7 @@ BString user = url.User(); BString pass = url.Pass(); BString path = url.Path(); -printf("url %s\n", url.String()); + PRINT(("url %s\n", url.String())); BPath refPath(ref); if (proto == "git") { @@ -180,6 +180,18 @@ be_roster->Launch(kTerminalSig, 3, args); return B_OK; } + if (proto == "rsync") { + BString cmd("rsync "); + cmd << url; + cmd << " '" << refPath.Path() << "/" << name << "'"; + PRINT(("CMD='%s'\n", cmd.String())); + cmd << " && open '" << refPath.Path() << "/" << name << "'"; + cmd << failc; + PRINT(("CMD='%s'\n", cmd.String())); + args[2] = (char*)cmd.String(); + be_roster->Launch(kTerminalSig, 3, args); + return B_OK; + } if (proto == "svn" || proto == "svn+ssh") { BString cmd("svn checkout "); cmd << url; Modified: haiku/trunk/src/bin/checkitout.rdef =================================================================== --- haiku/trunk/src/bin/checkitout.rdef 2010-01-08 23:06:14 UTC (rev 34960) +++ haiku/trunk/src/bin/checkitout.rdef 2010-01-08 23:37:05 UTC (rev 34961) @@ -4,8 +4,10 @@ resource(1, "BEOS:FILE_TYPES") message { + /*"types" = "application/x-vnd.Be.URL.cvs",*/ + "types" = "application/x-vnd.Be.URL.git", + "types" = "application/x-vnd.Be.URL.rsync", "types" = "application/x-vnd.Be.URL.svn", - "types" = "application/x-vnd.Be.URL.svn+ssh", - "types" = "application/x-vnd.Be.URL.git" + "types" = "application/x-vnd.Be.URL.svn+ssh" };