Jaki jest prawidłowy przepływ pracy dla łączenia gałęzi śledzonych svn za pomocą git-svn. Czytałem trochę o git-svn svn.pushmergeinfo klucza config, a zastrzeżenia to:Przepływ pracy git-svn do łączenia za pomocą svn.pushmergeinfo
Od http://www.kernel.org/pub/software/scm/git/docs/git-svn.html:
klucz config: svn.pushmergeinfo
Ta opcja spowoduje git -svn na spróbuje automatycznie wypełnić właściwość svn: mergeinfo w repozytorium SVN , jeśli to możliwe. Obecnie można to zrobić tylko wtedy, gdy dcommitting non-fast-forward łączy się, gdy wszyscy rodzice, ale pierwszy zostały już przekazane do SVN.
Więc mój normalny przepływ pracy jest:
Zakładając Mam SVN Branch ^/oddziały/feature_branch
# Ensure git-svn is configured to populate svn:mergeinfo
git config --global svn.pushmergeinfo true
# Update my local svn remotes state
git svn fetch
# Track a local branch against a remote SVN backed ^/branches/feature_branch
git checkout -b local_feature_branch remotes/feature_branch
# Modify files and commit to local git repo
git commit -a -m "changes"
# Push changes to SVN branch ^/branches/feature_branch
git svn dcommit
Następnie scalić się ^/trunk do mojego local_feature_branch Zakładam zrobić coś jak ?
# Sync to the latest SVN
git svn fetch
# Rebase "master" which is tracking the remote SVN ^/trunk
git checkout master
git svn rebase
# Checkout the local_feature_branch
git checkout local_feature_branch
# Merge "master" into "local_feature" which is tracking ^/trunk
git merge --squash master
git commit -m "merge master which is tracking SVN ^/trunk"
# Dry run the dcommit to SVN which should include svn:mergeinfo property changes
git svn dcommit --dry-run
# Commit merge to trunk
git svn dcommit
Wygląda na rozsądną. O co chodzi? –