| Version 1 (modified by janderson, 3 years ago) |
|---|
Mirroring github.com to common-lisp.net
There are two aspects * git and/or subversion support for perl * a staging repository
git/svn perl support
On OS X, port was sufficient to bring git and subversion up to date. If necessary deactivate, clean, and install (cf. port install pv-svn-simple). Also watch for incomplete perl search paths, which don't locate SVN/core. It was sufficient to specify the actual location (cf. locate Core.pm) in the shell enviromnent as PERL5LIB.
a staging repository
$ mkdir de-setf-amqp.git
$ cd de-setf-amqp.git/
$ git svn clone svn+ssh://common-lisp.net/project/de-setf-amqp/svn .
Initialized empty Git repository in /Development/Source/production/Library/net/common-lisp/de-setf-amqp.git/.git/
A README-common-lisp-net
r1 = 4c8310774d66e1744ec372ecf611f3576e70a8e0 (git-svn)
Checked out HEAD:
svn+ssh://common-lisp.net/project/de-setf-amqp/svn r1
$ ls
README-common-lisp-net
$ ls .git/
HEAD config hooks info objects svn
branches description index logs refs
$ git remote add github git://github.com/lisp/de.setf.amqp.git
$ git pull github
warning: no common commits
remote: Counting objects: 378, done.
remote: Compressing objects: 100% (368/368), done.
remote: Total 378 (delta 219), reused 0 (delta 0)
Receiving objects: 100% (378/378), 373.35 KiB | 472 KiB/s, done.
Resolving deltas: 100% (219/219), done.
From git://github.com/lisp/de.setf.amqp
* [new branch] master -> github/master
You asked me to pull without telling me which branch you
want to merge with, and 'branch.master.merge' in
your configuration file does not tell me either. Please
specify which branch you want to merge on the command line and
try again (e.g. 'git pull <repository> <refspec>').
See git-pull(1) for details.
If you often merge with the same branch, you may want to
configure the following variables in your configuration
file:
branch.master.remote = <nickname>
branch.master.merge = <remote-ref>
remote.<nickname>.url = <url>
remote.<nickname>.fetch = <refspec>
See git-config(1) for details.
$ git status
# On branch master
nothing to commit (working directory clean)
$ emacs README-common-lisp-net
$ git status
# On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: README-common-lisp-net
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# README-common-lisp-net~
no changes added to commit (use "git add" and/or "git commit -a")
$ emacs .git/info/exclude # entries for *~ and .DS_Store
# an immediate commit now notices just the edited readme
$ git commit -a -m "readme update"
[master 416d02a] readme update
1 files changed, 2 insertions(+), 0 deletions(-)
$ git svn dcommit
Committing to svn+ssh://common-lisp.net/project/de-setf-amqp/svn ...
M README-common-lisp-net
Committed r2
M README-common-lisp-net
r2 = c904410e3970ed272761766a6997a5c00ac88913 (git-svn)
No changes between current HEAD and refs/remotes/git-svn
Resetting to the latest refs/remotes/git-svn
$ git svn rebase # does nothing special
Current branch master is up to date.
$ git status
# On branch master
nothing to commit (working directory clean)
$ git branch -a
* master
remotes/git-svn
remotes/github/master
# so, what about working with the branches as present
$ git checkout -b remotes/git-svn
Switched to a new branch 'remotes/git-svn'
$ git svn rebase
warning: refname 'remotes/git-svn' is ambiguous.
Current branch remotes/git-svn is up to date.
$ git merge remotes/github/master
Merge made by recursive.
AMQP-1-1-0-8-0/AMQP-1-1-0-8-0.asd | 37 +
AMQP-1-1-0-8-0/abstract-classes.lisp | 41 +
AMQP-1-1-0-8-0/classes.lisp | 3593 ++++++++++++++++++
...
$ ls
AMQP-1-1-0-8-0 classes.lisp parameters.lisp
AMQP-1-1-0-9-0 commands.lisp processing.lisp
...
# which is nice
$ git commit -a -m "merge remotes/github/master -> remotes/git-svn"
# On branch remotes/git-svn
nothing to commit (working directory clean)
# ok, so now svn
$ git svn dcommit
Committing to svn+ssh://common-lisp.net/project/de-setf-amqp/svn ...
A AMQP-1-1-0-8-0/AMQP-1-1-0-8-0.asd
A AMQP-1-1-0-8-0/abstract-classes.lisp
A AMQP-1-1-0-8-0/classes.lisp
# ok, so, that worked
