Re: [PATCH 0/3] Fixing volatile HEAD in push.default = current

2013-05-23 Thread Ramkumar Ramachandra
Junio C Hamano wrote: I have largedir I want to get rid of, but there is a directory I want to save, largedir/precious, in it, so I do cp -R largedir/precious precious and then run 'rm -rf largedir' in another terminal in parallel. I would argue that there is something

Re: [PATCH 0/3] Fixing volatile HEAD in push.default = current

2013-05-23 Thread Andreas Krey
On Thu, 23 May 2013 13:25:55 +, Ramkumar Ramachandra wrote: Junio C Hamano wrote: I have largedir I want to get rid of, but there is a directory I want to save, largedir/precious, in it, so I do cp -R largedir/precious precious and then run 'rm -rf largedir' in

Re: [PATCH 0/3] Fixing volatile HEAD in push.default = current

2013-05-23 Thread Junio C Hamano
Ramkumar Ramachandra artag...@gmail.com writes: I would argue that there is something to fix, but that fix involves making the cp a purely atomic operation which is super-complicated, and totally not worth it. Would you _not_ like the above example to work? No. I do not think I like the

Re: [PATCH 0/3] Fixing volatile HEAD in push.default = current

2013-05-23 Thread Andreas Krey
On Thu, 23 May 2013 07:45:34 +, Junio C Hamano wrote: ... Even with 'mv', between the time the main in mv starts and the process finally issues rename(2) on the directory, you can start running what competes and interferes with it in another terminal, so it does not fundamentally change

Re: [PATCH 0/3] Fixing volatile HEAD in push.default = current

2013-05-22 Thread Junio C Hamano
Ramkumar Ramachandra artag...@gmail.com writes: Why should I lie in the patch? The terminal flipping was a very big itch I had, and the patch fixes exactly that issue. Showing the real branch name was an unintended side-effect. I just said early and showed a nice end-user example in which

Re: [PATCH 0/3] Fixing volatile HEAD in push.default = current

2013-05-22 Thread Ramkumar Ramachandra
Junio C Hamano wrote: The patch may have been done by a wrong motivation, in that it does not fundamentally fix the itch. The particular itch is not something we are going to promise to the end users, ever, anyway. Just out of curiosity, is it possible to write a correct fix at all? Even if

Re: [PATCH 0/3] Fixing volatile HEAD in push.default = current

2013-05-22 Thread Junio C Hamano
Ramkumar Ramachandra artag...@gmail.com writes: Junio C Hamano wrote: The patch may have been done by a wrong motivation, in that it does not fundamentally fix the itch. The particular itch is not something we are going to promise to the end users, ever, anyway. Just out of curiosity, is

[PATCH 0/3] Fixing volatile HEAD in push.default = current

2013-05-21 Thread Ramkumar Ramachandra
There's still a lot to think about. [3/3] is the big itch: [1/2] and [2/2] are just setup patches. Ramkumar Ramachandra (3): push: factor out the detached HEAD error message push: fail early with detached HEAD and current push: don't push the volatile HEAD with current builtin/push.c |

Re: [PATCH 0/3] Fixing volatile HEAD in push.default = current

2013-05-21 Thread Junio C Hamano
Ramkumar Ramachandra artag...@gmail.com writes: There's still a lot to think about. Is there? I do not think volatile is particularly a good description for this, but showing what is pushed as a concrete branch name feels like a good improvement to me, at least in principle. I haven't picked

Re: [PATCH 0/3] Fixing volatile HEAD in push.default = current

2013-05-21 Thread Ramkumar Ramachandra
Junio C Hamano wrote: Is there? I do not think volatile is particularly a good description for this, but showing what is pushed as a concrete branch name feels like a good improvement to me, at least in principle. Okay. I used volatile, because push does not lock HEAD when the operation

Re: [PATCH 0/3] Fixing volatile HEAD in push.default = current

2013-05-21 Thread Junio C Hamano
Ramkumar Ramachandra artag...@gmail.com writes: Junio C Hamano wrote: Is there? I do not think volatile is particularly a good description for this, but showing what is pushed as a concrete branch name feels like a good improvement to me, at least in principle. Okay. I used volatile,