Comments (4)
You can try by commenting out this line. It's a quick hack, but it works for me. Be careful about that, you should know what you're doing.
Given the way the code is structured, it's a bit difficult for me to work on a quick and stable patch. I might try to have a look in the following days, but maybe @divVerent has a suggestion for a better solution.
from adb-sync.
Okay, I'll give that a try sometime. Thanks heaps.
Just out of curiosity, what does commenting out that one line change?
Does it just ignore the error and continue copying files? Would this then ignore other failed copy's?
I'm not very knowledgeable when it come to coding.
from adb-sync.
IIRC, errors during file copy are handled in a different way, since in that case adb
gets called directly, not using that Popen
wrapper (see code from this line and this line).
That line ignores command lines exiting with a non-zero status code (which might signal an error). But it does in a bit of a strange way.
Some processes exit with non-zero status code just to tell the user that they have completed the task partially or that some error occurred in performing the task, but the task was completed anyway.
In this case ls
is throwing an error because it encounters .android_secure
, but it's still able to list the other files (try it by yourself, typing: adb shell ls -l <target folder containing .android_secure>
in a shell, then type echo $?
as the next command, you should see a non-zero number).
You can also see that that error is not suddenly breaking the execution of adb-sync
, because the rest of the nested calls are performed correctly, and that takes some time (depending on how big is the files structure in that filesystem). The program breaks when exiting the level of the call which received the first error (unless other errors are raised somewhere in the middle).
As you can see that flow is not optimal, since the error is basically deferred to the end of a potentially very long walk through your file tree, and it's not necessarily a breaking error.
from adb-sync.
I see, that makes so much more sense to me now. Thanks for taking the time to reply and explain it to me, hopefully I can set-up a one step backup process now when I get some free time.
from adb-sync.
Related Issues (20)
- error running it. stacktrace. HOT 1
- Colon not supported in folder name HOT 8
- Hard-coded location of python3 HOT 2
- TypeError with latest rev HOT 1
- Problems with parameters: a bytes-like object is required, not 'str' HOT 3
- adb-sync seems to close standard input? HOT 3
- anyway to --reverse and --delete?
- Problems with encoding: UnicodeDecodeError: 'utf-8' codec can't decode byte: invalid start byte HOT 6
- Is this project still active? HOT 2
- windows 10 HOT 8
- adb-sync doesn't work correctly with symlinks
- Crashes when trying to copy files with question marks in the name.
- adb-sync doesn't copy files properly if names are same on local and remote HOT 5
- When the file length is the same, it will be considered as no difference HOT 1
- two way sync breaks when filename contains spaces
- Scanning and diffing takes a long time for large directories HOT 2
- "bad date" from "touch" when using -t option HOT 1
- Ignore unreadable files
- Use my fork HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from adb-sync.