That's interesting. At the moment I still unable to push changes from Windows, because of more Windows-Dulwich-HgGit-Mercurial bugs (I use Mercurial for bisecting Dulwich), but I hope Jelmer finds the time to apply attached patch manually. I attach rebased patch against first mention of 0.5.1 in repository. This probably be better rebased to the first revision, where the fix is desired, so that if people grab history for bisecting - they can make revisions in between GitFile inclusion and the patch also work on Windows by merging branches (or hg heads).
It lacks some test cases though, for example, that pack.write_pack_index_v2() writes binary file with linefeed data correctly. And locking logic on Windows doesn't allow atomic renames, but the issue is complicated, so it should be best split it into some "No atomic file renames on Windows" issue with description of consequences until the solution is found.
That's interesting. At the moment I still unable to push changes from Windows, because of more Windows- Dulwich- HgGit-Mercurial bugs (I use Mercurial for bisecting Dulwich), but I hope Jelmer finds the time to apply attached patch manually. I attach rebased patch against first mention of 0.5.1 in repository. This probably be better rebased to the first revision, where the fix is desired, so that if people grab history for bisecting - they can make revisions in between GitFile inclusion and the patch also work on Windows by merging branches (or hg heads).
It lacks some test cases though, for example, that pack.write_ pack_index_ v2() writes binary file with linefeed data correctly. And locking logic on Windows doesn't allow atomic renames, but the issue is complicated, so it should be best split it into some "No atomic file renames on Windows" issue with description of consequences until the solution is found.