Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>The problem is step 4 of course. A dcommit tries to replay your local history to the server. Dcommit pretends that you're a SVN client. Now, if the code you're dcommitting isn't only from you, that's something that is hard to dcommit to SVN. </p> <p>Here's what the <a href="http://www.markus-gattol.name/ws/scm.html#sec22" rel="noreferrer">guru</a> writes on the matter:</p> <blockquote> <ul> <li>For the sake of simplicity and interoperating with SVN, it is recommended that all git-svn users clone, fetch and dcommit directly from the SVN server (the remote SVN repository that is), and avoid all git-clone/pull/merge/push operations between git repositories and branches which are either retrieved via git svn clone and which are also used to push back changesets into the remote SVN repository.</li> <li>The recommended method of exchanging code between git branches and users is git format-patch and git am, or just git svn dcommit to the SVN repository.</li> <li>Since git svn dcommit uses git svn rebase internally, any git branches we git push to before git svn dcommit on them will require forcing an overwrite of the existing ref on the remote repository. This is generally considered bad practice, see the git-push documentation for details.</li> <li>Running git merge or git pull is not recommended on a branch we plan to git svn dcommit from. SVN does not represent merges in any reasonable or useful fashion so users using SVN cannot see any merges we have made. Furthermore, if we git merge or git pull from a git branch that is a mirror of an SVN branch, git svn dcommit may commit to the wrong branch.</li> <li>git clone does not clone branches under the refs/remotes/ hierarchy or any git-svn metadata, or config. So repositories created and managed with using git-svn should use <a href="http://www.markus-gattol.name/ws/scm.html#rsync" rel="noreferrer">rsync</a> for cloning, if cloning is to be done at all.</li> <li>We should not use the --amend option of git commit on a change we have already dcommitted. It is considered bad practice to --amend commits we have already pushed to a remote repository for other users, and dcommit with SVN is analogous to that. More information on this can be found at Modifying a single commit and <a href="http://www.markus-gattol.name/ws/scm.html#problems_with_rewriting_history" rel="noreferrer">Problems with rewriting history</a>.</li> </ul> </blockquote>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload