Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save masak/80408 to your computer and use it in GitHub Desktop.
Save masak/80408 to your computer and use it in GitHub Desktop.
masak@pele:~$ svnadmin create experimental-repo
masak@pele:~$ mkdir experiment
masak@pele:~$ mkdir experiment/trunk
masak@pele:~$ mkdir experiment/branches
masak@pele:~$ mkdir experiment/tags
masak@pele:~$ echo This is an experiment. > experiment/trunk/README
masak@pele:~$ svn import experiment file:///home/masak/experimental-repo/experiment -m 'Initial import'
Adding experiment/trunk
Adding experiment/trunk/README
Adding experiment/branches
Adding experiment/tags
Committed revision 1.
masak@pele:~$ rm -r experiment
masak@pele:~$ logout
Connection to pele closed.
kaye:~ masak$ cd tmp
kaye:tmp masak$ svn checkout svn+ssh://pele/home/masak/experimental-repo/experiment
A experiment/trunk
A experiment/trunk/README
A experiment/branches
A experiment/tags
Checked out revision 1.
kaye:tmp masak$ cd experiment/
kaye:experiment masak$ svn cp trunk/ branches/let-us-rebase-upstream
A branches/let-us-rebase-upstream
kaye:experiment masak$ svn st
A + branches/let-us-rebase-upstream
kaye:experiment masak$ svn ci
Adding branches/let-us-rebase-upstream
Committed revision 2.
kaye:experiment masak$ cd ..
kaye:tmp masak$ git svn clone svn+ssh://pele/home/masak/experimental-repo/experiment --trunk=trunk --branches=branches --tags=tags
Initialized empty Git repository in /private/tmp/experiment/.git/
kaye:tmp masak$ rm -rf experiment/
kaye:tmp masak$ git svn clone svn+ssh://pele/home/masak/experimental-repo/experiment --trunk=trunk --branches=branches --tags=tags
Initialized empty Git repository in /private/tmp/experiment/.git/
Using higher level of URL: svn+ssh://pele/home/masak/experimental-repo/experiment => svn+ssh://pele/home/masak/experimental-repo
A README
r1 = d2f0f95b9cbd56693b9f4230c361e5a3ea2aa280 (trunk)
Found possible branch point: svn+ssh://pele/home/masak/experimental-repo/experiment/trunk => svn+ssh://pele/home/masak/experimental-repo/experiment/branches/let-us-rebase-upstream, 1
Found branch parent: (let-us-rebase-upstream) d2f0f95b9cbd56693b9f4230c361e5a3ea2aa280
Following parent with do_switch
Successfully followed parent
r2 = 3b1383c5fac484c2e3c45fcbf6794ec3a832de45 (let-us-rebase-upstream)
Checked out HEAD:
svn+ssh://pele/home/masak/experimental-repo/experiment/branches/let-us-rebase-upstream r2
kaye:tmp masak$ cd experiment/
kaye:experiment masak$ ls
README
kaye:experiment masak$ git st
# On branch master
nothing to commit (working directory clean)
kaye:experiment masak$ git branch -a
* master
let-us-rebase-upstream
trunk
kaye:experiment masak$ git co -b local/let-us-rebase-upstream let-us-rebase-upstream
Switched to a new branch "local/let-us-rebase-upstream"
kaye:experiment masak$ cat README
This is an experiment.
kaye:experiment masak$ echo This is an experiment with a change in the branch. > README
kaye:experiment masak$ git ci -a -m 'changed something in the branch'
[local/let-us-rebase-upstream]: created 29a0931: "changed something in the branch"
1 files changed, 1 insertions(+), 1 deletions(-)
kaye:experiment masak$ git svn dcommit
Committing to svn+ssh://pele/home/masak/experimental-repo/experiment/branches/let-us-rebase-upstream ...
M README
Committed r3
M README
r3 = a6b8071f81b7b1228f5bbeaaa4e2b9427338f6ee (let-us-rebase-upstream)
No changes between current HEAD and refs/remotes/let-us-rebase-upstream
Resetting to the latest refs/remotes/let-us-rebase-upstream
kaye:experiment masak$ git co master
Switched to branch "master"
kaye:experiment masak$ cat README
This is an experiment.
kaye:experiment masak$ echo This is an experiment with a change in master. > README
kaye:experiment masak$ git ci -a -m 'changed something in master'
[master]: created b3024b8: "changed something in master"
1 files changed, 1 insertions(+), 1 deletions(-)
kaye:experiment masak$ git co local/let-us-rebase-upstream
Switched to branch "local/let-us-rebase-upstream"
kaye:experiment masak$ git rebase master # heh, heh
First, rewinding head to replay your work on top of it...
Applying: changed something in the branch
error: patch failed: README:1
error: README: patch does not apply
Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
Auto-merging README
CONFLICT (content): Merge conflict in README
Failed to merge in the changes.
Patch failed at 0001.
When you have resolved this problem run "git rebase --continue".
If you would prefer to skip this patch, instead run "git rebase --skip".
To restore the original branch and stop rebasing run "git rebase --abort".
kaye:experiment masak$ echo This is an experiment with a merged change. > README
kaye:experiment masak$ git add README
kaye:experiment masak$ git rebase --continue
Applying: changed something in the branch
kaye:experiment masak$ git svn dcommit # boom!
Committing to svn+ssh://pele/home/masak/experimental-repo/experiment/branches/let-us-rebase-upstream ...
M README
Transaction is out of date: File '/experiment/branches/let-us-rebase-upstream/README' is out of date at /opt/local/libexec/git-core/git-svn line 480
kaye:experiment masak$
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment