Re[2]: [PATCH 4/5] git-svn: fix bottleneck in stash_placeholder_list()
- From
- Ilya Basin <basinilya@gmail.com>
- Date
- May 1, 2013, 08:31 UTC
- Message-ID
- <1409591910.20130501123153@gmail.com>
- In-Reply-To
- <1438528085.20130501090926@gmail.com>
IB> In my repo the placeholders change too often (in 1/4 commits). I'm IB> thinking of using: IB> 'git config --unset "svn-remote.$repo_id.added-placeholder" path_regex' IB> instead of full rewrite.
I need your help. There are still problems:
$ grep "define MAX_MATCHES" ~/builds/git/git-git/config.c
#define MAX_MATCHES 8192 $ grep added-placeholder .git/config | wc -l
44301/4 commits change the list of placeholders, usually 1 folder changes. Clearing and re-adding the entries to the config takes ~1 minute. Pressing Ctrl-C at this time makes the list incomplete.
Re-adding all entries using 'config --add' is slow. Does Git::config package have tools to modify multiple entries at once? I wonder why 'git config --get-all' is used instead of some Git::config routine.
Otherwise, to make this atomic, I think, the modification should be made to a backup config file, then it should replace .git/config (or rewrite it with signals blocked).
How to determine GIT_DIR from Fetcher.pm?
maybe I can simply append a duplicate section '[svn-remote "svn"]'. But then I would need to escape the values myself.
Also, git --unset-all leaves one empty section: '[svn-remote "svn"]' Is it a bug?