Comments (5)
Thanks for reporting this. Sorry I've been slow to respond, I've been traveling until just recently.
This is definitely a bug and something that needs to be fixed, especially since this is a common setup on shared Linux systems.
Utilities like mv
will detect this particular error and just do a copy/remove in that case, but since we need to stage the file first and then want the illusion of atomicity, it'll take a bit of thinking about exactly where the file should be relocated before being renamed into place. I'm thinking maybe it could be copied alongside its target first (perhaps with a .
prefix and UUID suffix) and then renamed into place.
I'm hesitant to stage directly into the synchronization root because it could leave a lot of garbage sitting around. It's easier to have a staging directory that can be wiped after each successful synchronization cycle.
I'll investigate potential solutions and aim to have something done later this week. Probably doing whatever Unison does is the "right" thing to do, though at first glance it seems to just call down to the System.rename
function, so I'm not sure it's handling this case.
from mutagen.
Hi,
Do you have update on this one ?
from mutagen.
Hey, not just yet, but it's at the top of the priority queue. Life's just been a bit hectic until this week. I've just updated everything to take advantage of some new Go 1.8 features, and so far the performance seems a bit better just by virtue of the new 1.8 toolchain (probably due to the SSA and GC improvements). I'm not sure I'll get around to fixing this tonight, but I want it done ASAP.
from mutagen.
I've just opened pull request #18 which should fix this. CI builds are running and I still need to test this on Windows, but I should be able to put out version 0.1.1 this weekend to fix this. Thanks for your patience!
from mutagen.
This should be fixed by #18. I'll do a release (v0.1.1) later this weekend with this change. I've closed for now, but please re-open if this does not resolve the issue.
from mutagen.
Related Issues (20)
- permission changes after restart computer on Windows
- Last error: beta polling error: unable to receive poll response: unable to read message length: unexpected EOF
- unable to create symbolic link: operation not permitted
- unable to swap file: unable to validate existing file: modification detected
- Ability to ignore different file mode (executable) as conflicts
- Ability to synchronize timestamps HOT 2
- Ability to create multiple config templates in `.mutagen.yml`
- Ability to have end-to-end encryption transmission
- Really slow scan/staging on NFS mount
- Ability to execute custom command after synchronization done
- Mutagen does'nt sync files on my MAC HOT 1
- [Windows]: Could not find ssh in the lookup path when installed with winget
- High rescan time with watching disabled on endpoint HOT 9
- Add support for hardlink detection and matching HOT 1
- Mutagen sync create will fail to find ssh even when present
- Ability to create forward proxy for creating SOCKS proxy HOT 1
- Feature request: Allow specifying a command-line argument for MUTAGEN_DATA_DIRECTORY HOT 1
- Overview of active syncs/forwards
- Ignored directories are still processed
- Max staging file size does not work as expected
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 mutagen.