GithubHelp home page GithubHelp logo

Comments (5)

xenoscopic avatar xenoscopic commented on July 29, 2024

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.

wid avatar wid commented on July 29, 2024

Hi,
Do you have update on this one ?

from mutagen.

xenoscopic avatar xenoscopic commented on July 29, 2024

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.

xenoscopic avatar xenoscopic commented on July 29, 2024

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.

xenoscopic avatar xenoscopic commented on July 29, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.