Add -l option to `adb sync`
Change-Id: I87c01663dff319dde24b70560e6fe5647ebf9d49
diff --git a/file_sync_client.c b/file_sync_client.c
index 65d4941..da25ae8 100644
--- a/file_sync_client.c
+++ b/file_sync_client.c
@@ -670,7 +670,7 @@
}
-static int copy_local_dir_remote(int fd, const char *lpath, const char *rpath, int checktimestamps)
+static int copy_local_dir_remote(int fd, const char *lpath, const char *rpath, int checktimestamps, int listonly)
{
copyinfo *filelist = 0;
copyinfo *ci, *next;
@@ -718,8 +718,9 @@
for(ci = filelist; ci != 0; ci = next) {
next = ci->next;
if(ci->flag == 0) {
- fprintf(stderr,"push: %s -> %s\n", ci->src, ci->dst);
- if(sync_send(fd, ci->src, ci->dst, ci->time, ci->mode, 0 /* no verify APK */)){
+ fprintf(stderr,"%spush: %s -> %s\n", listonly ? "would " : "", ci->src, ci->dst);
+ if(!listonly &&
+ sync_send(fd, ci->src, ci->dst, ci->time, ci->mode, 0 /* no verify APK */)){
return 1;
}
pushed++;
@@ -757,7 +758,7 @@
if(S_ISDIR(st.st_mode)) {
BEGIN();
- if(copy_local_dir_remote(fd, lpath, rpath, 0)) {
+ if(copy_local_dir_remote(fd, lpath, rpath, 0, 0)) {
return 1;
} else {
END();
@@ -1001,7 +1002,7 @@
}
}
-int do_sync_sync(const char *lpath, const char *rpath)
+int do_sync_sync(const char *lpath, const char *rpath, int listonly)
{
fprintf(stderr,"syncing %s...\n",rpath);
@@ -1012,7 +1013,7 @@
}
BEGIN();
- if(copy_local_dir_remote(fd, lpath, rpath, 1)){
+ if(copy_local_dir_remote(fd, lpath, rpath, 1, listonly)){
return 1;
} else {
END();