Skip to content

Commit 516c491

Browse files
authored
Merge pull request #892 from aollier/git_svn
Git client SVN
2 parents a8f1411 + 70bec82 commit 516c491

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

book/09-git-and-other-scms/sections/client-svn.asc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ Checked out HEAD:
102102

103103
This runs the equivalent of two commands – `git svn init` followed by `git svn fetch` – on the URL you provide.
104104
This can take a while.
105-
The test project has only about 75 commits and the codebase isn't that big, but Git has to check out each version, one at a time, and commit it individually.
105+
If, for example, the test project has only about 75 commits and the codebase isn't that big, Git nevertheless must check out each version, one at a time, and commit it individually.
106106
For a project with hundreds or thousands of commits, this can literally take hours or even days to finish.
107107

108108
The `-T trunk -b branches -t tags` part tells Git that this Subversion repository follows the basic branching and tagging conventions.
@@ -162,7 +162,7 @@ Git fetches the tags directly into `refs/tags`, rather than treating them remote
162162

163163
===== Committing Back to Subversion
164164

165-
Now that you have a working repository, you can do some work on the project and push your commits back upstream, using Git effectively as a SVN client.
165+
Now that you have a working directory, you can do some work on the project and push your commits back upstream, using Git effectively as an SVN client.
166166
If you edit one of the files and commit it, you have a commit that exists in Git locally that doesn't exist on the Subversion server:
167167

168168
[source,console]
@@ -375,7 +375,7 @@ But you need to provide a descriptive commit message (via `-m`), or the merge wi
375375
Remember that although you're using `git merge` to do this operation, and the merge likely will be much easier than it would be in Subversion (because Git will automatically detect the appropriate merge base for you), this isn't a normal Git merge commit.
376376
You have to push this data back to a Subversion server that can't handle a commit that tracks more than one parent; so, after you push it up, it will look like a single commit that squashed in all the work of another branch under a single commit.
377377
After you merge one branch into another, you can't easily go back and continue working on that branch, as you normally can in Git.
378-
The `dcommit` command that you run erases any information that says what branch was merged in, so subsequent merge-base calculations will be wrong – the dcommit makes your `git merge` result look like you ran `git merge --squash`.
378+
The `dcommit` command that you run erases any information that says what branch was merged in, so subsequent merge-base calculations will be wrong – the `dcommit` makes your `git merge` result look like you ran `git merge --squash`.
379379
Unfortunately, there's no good way to avoid this situation – Subversion can't store this information, so you'll always be crippled by its limitations while you're using it as your server.
380380
To avoid issues, you should delete the local branch (in this case, `opera`) after you merge it into trunk.
381381

0 commit comments

Comments
 (0)