tags:

views:

847

answers:

4

I need to have a file synchronizing feature in my .NET application. Can I make use of rsync? Is there any API available?

A: 

If you are looking for some simple automation you could just write a tiny wrapper that invokes RSync via System.Diagnostic.Process

I did read somewhere that someone circa 2006 created an rsync port in C#, but to be honest with you I would not consider using it cause its far from popular and impossible to find.

Sam Saffron
+1  A: 

You can use the source code that comes with DeltaCopy, which is a "'Windows Friendly' wrapper" to the original RSync.
The source is written in c++, so it's not exactly .Net, but you can write managed C++ wrappers and use them.
It's not a direct solution, I know, but it may be somewhat helpful. (in other words, HTH)

Ron Klein
+1  A: 

DeltaCopy is just a wrapper around the rsync executable. However, librsync itself can be built on Windows as well as UNIX and GNU/Linux (see their README and this EE thread). Thus, that's another option to consider. You would still need some kind of unmanaged-managed interop.

Matthew Flaschen
A: 

There is a C# implementation of RSync on github with some recent commits:

http://github.com/MatthewSteeples/rsync.net

Almond