skip config reference check in sync #58
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Git and other clients such as SourceTree will rewrite .git/config
in the modules when checking out a branch tracking a remote branch.
The rewrite appears to be a remove then recreate operation, which
efectively removes the .git/config symlink.
As a consequence, repo sync will complain in project._CheckDirReference()
will detect the src and dst for 'config' to be different and assume there
are local changes which need not be overwritten/lost.
As a workaround, from the sync context we skip the check on the config file
to be correctly linked.
This is probabaly NOT the Right Way(TM) to fix this, but is enough to
allow the sync to work in a way which does not seem to be catastrophic
or obviously broken.
Probably the correct solution would be to remove the .repo config and
replace and re-symlink it with the one in the module itself.