patmaddox / giternal

non-sucky git externals
MIT License
194 stars 14 forks source link

Undo unfreeze with freeze leaves modified .git.frozen.tgz #5

Open rocketraman opened 13 years ago

rocketraman commented 13 years ago

Lets say module M is currently frozen.

I decide to unfreeze module M to continue development -- giternal now deletes the files from the frozen module and adds those deletes to the index.

Now I realize I unfroze by mistake and I want to "undo" the unfreeze. I have two options:

1) git reset --hard HEAD, or

2) giternal freeze.

Both of these sort of result in problems. Doing Option 1 leaves a .git directory in each module which should not exist, and needs to be manually deleted. Doing Option 2 leaves modified .git.frozen.tgz files in the index for each module.

Option 2 is "better" since the "fix" is as simple as git reset --hard HEAD.

I'm not sure what the best solution to this is, but perhaps giternal should have an "undo" command that reverses the last operation if the commit hasn't yet been done? Or alternatively, giternal freeze could check if the module was already frozen in the last commit and automatically revert to the old .git.frozen.tgz files.

patmaddox commented 13 years ago

Funky...I'll have to think about how to handle this. Thanks for the report.