I have a big repository and git svn dcommit
takes pretty big time.
Will my repo be in consistent state if I’ll modify sources (without any git operations) while dcommit is in progress?
I’d advise against making changes while a dcommit
is in progress, although that may work if you’re always pushing out your HEAD
commit and it goes cleanly.
When HEAD
is being dcommit
d, the process ends with doing git reset --mixed
against the new commit which reflects the current state of the svn repository. If you’d instead push some older commit, the process would end by attempting to rebase your current branch on top of the new commit that was fetched from svn; this would abort if there are uncommitted changes.
You’re also likely to have problems if dcommit
would run into a conflict while pushing the changes to svn, which you would then need to resolve manually. Having unrelated changes in the working tree is likely to mess this up.
You could create a separate clone of your git svn
repository, do all your actual work there, and use the git svn
repository only for interacting with the svn repository. Then it would of course be safe to make any changes in your working repository while the other one was processing a dcommit
operation. But you would, of course, need to be pushing and/or pulling commits between those repositories.
3