git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] clone --dissociate: avoid locking pack files

From
Max Kirillov <max@max630.net>
Date
Oct 1, 2015, 04:39 UTC
Message-ID
<20151001043936.GB26154@wheezy.local>
In-Reply-To
<20150930192814.GA26154@wheezy.local>
On Wed, Sep 30, 2015 at 10:28:14PM +0300, Max Kirillov wrote:
Show 11 quoted lines
> On Mon, Sep 28, 2015 at 09:44:57PM +0200, Johannes Schindelin wrote:
>> -	if (option_dissociate)
>> +	if (option_dissociate) {
>> +		struct packed_git *p;
>> +
>> +		for (p = packed_git; p; p = p->next) {
>> +			close_pack_windows(p);
>> +			close_pack_index(p);
>> +		}
>>  		dissociate_from_references();
>> +	}
> This does not seem to close handles to the pack files
> themseves, does Windows still allow removing the files? I
> probably did not tried that, because I started from handles,
> and discovered mapped files only later.

Apparently, pack file is closed just after mapping if it's smaller than core.packedGitWindowSize. Could it be the reason that this patch worked in you test case?

-- 
Max
Previous: Junio C HamanoNext: Johannes Schindelin
Message 4 of 23 in “clone --dissociate: avoid locking pack files”
  1. clone --dissociate: avoid locking pack filesJohannes Schindelin, Sep 28, 2015
  2. Max KirillovSep 30, 2015
  3. Junio C HamanoSep 30, 2015
  4. Max KirillovOct 1, 2015
  5. Johannes SchindelinOct 5, 2015
  6. 0/4 Fix locking issues on Windows with `git clone --dissociate`Johannes Schindelin, Oct 5, 2015
  7. 1/4 Demonstrate a Windows file locking issue with `git clone --dissociate`Johannes Schindelin, Oct 5, 2015
  8. 2/4 Consolidate code to close a pack's file descriptorJohannes Schindelin, Oct 5, 2015
  9. Junio C HamanoOct 5, 2015
  10. Johannes SchindelinOct 5, 2015
  11. Junio C HamanoOct 5, 2015
  12. Johannes SchindelinOct 6, 2015
  13. 3/4 Add a function to release all packsJohannes Schindelin, Oct 5, 2015
  14. 4/4 clone --dissociate: avoid locking pack filesJohannes Schindelin, Oct 5, 2015
  15. Junio C HamanoOct 5, 2015
  16. 0/4 Fix locking issues on Windows with `git clone --dissociate`Johannes Schindelin, Oct 6, 2015
  17. 1/4 Demonstrate a Windows file locking issue with `git clone --dissociate`Johannes Schindelin, Oct 6, 2015
  18. 2/4 Consolidate code to close a pack's file descriptorJohannes Schindelin, Oct 6, 2015
  19. 3/4 Add a function to release all packsJohannes Schindelin, Oct 6, 2015
  20. Junio C HamanoOct 7, 2015
  21. Johannes SchindelinOct 8, 2015
  22. 4/4 clone --dissociate: avoid locking pack filesJohannes Schindelin, Oct 6, 2015
  23. Max KirillovOct 11, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.