Remove GitStatus::GetStatusString(), load strings directly

Signed-off-by: Sup Yut Sum <ch3cooli@gmail.com>
Mark g_IndexFileMap extern

Signed-off-by: Sup Yut Sum <ch3cooli@gmail.com>
Call git_threads_shutdown() after freeing all global variables

Signed-off-by: Sup Yut Sum <ch3cooli@gmail.com>
Can disable TGitCache to load/save cache to disk

Signed-off-by: Sup Yut Sum <ch3cooli@gmail.com>
Add CacheSave to Advanced Settings

Signed-off-by: Sup Yut Sum <ch3cooli@gmail.com>
Fix broken build since 9c74b645d02e90716b49f01c77dd4332db116508

Signed-off-by: Sup Yut Sum <ch3cooli@gmail.com>
Refactored: split CAppUtils::Merge()

Signed-off-by: Yue Lin Ho <b8732003@student.nsysu.edu.tw>
Fixed issue 1608 *partially*(Merge): Add "Retry" button where applicable

Memo:

 Tested:
 * Switch 1217
 * Merge 3039
 * Fetch 2414
 * Reset 1423

 Un-test:
 * Pull 2270
 * Push? 2584
 * Export? 1044
 * BisectStart? 3321

我看到了一個 pattern:
1. Data/parameter data collection dialog
2. prepare git-cli/libgit2 for specific cmd
3. prepare post cmd, including retry
4. Run Progress/cmd

或許可以用 OO, 把一系列的命令串起來
然後設計一個介面讓使用者可以自訂一系列命令並執行
同時解掉 issue #246 ?

Signed-off-by: Yue Lin Ho <b8732003@student.nsysu.edu.tw>