Git Tricks Tips
Introduction
This is my personal collection of how'tos using
git.
How to "Import a CVS repository into a bare git repository"
<div style="text-align:right"><a style="font-size:smaller" href="/edit/Epics/GitTricksTipsImportCvsIntoGitIncludingHistory">edit</a></div>
# External CVSROOT, e.g. scs@lx-pool.gsi.de:/misc/hadesprojects/slowcontrol/cvsroot/
URL_CVSROOT_EXTERNAL=<[User@]external CVSROOT directory>,
CVSROOT_LOCAL=<local CVSROOT directory>
# Git repository path: e.g. "hadesprojects-slowcontrol.git"
GIT_TARGET_DIR=<New Git Repository>,
# CVS Module to import
MODULE=<CVS Module to extract>
[ ! -z "$CVSROOT_LOCAL" ] mkdir -p "$CVSROOT_LOCAL" &&
[ ! -z "$URL_CVSROOT_EXTERNAL" ] && rsync --progress -a "$URL_CVSROOT_EXTERNAL/" $CVSROOT_LOCAL
[ ! -z "$GIT_TARGET_DIR" ] && GIT_TARGET_REPOSITORY=${GIT_TARGET_DIR%%.git}.git && mkdir -p $GIT_TARGET_REPOSITORY &&
cd $GIT_TARGET_REPOSITORY &&
git init --bare &&
[ ! -z "$MODULE" ] && time git cvsimport -i -o cvshead -p xv -v -k -d $CVSROOT_LOCAL -C $GIT_TARGET_REPOSITORY $MODULE >&/tmp/cvsimport.log ||
echo "import of module \'$MODULE\' of CVS repository \'$URL_CVSROOT_EXTERNAL\' into \'$GIT_TARGET_REPOSITORY\' failed"
git submodule
, illustrated in a few command line examples.
These examples require at least version 1.7.
<div style="text-align:right"><a style="font-size:smaller" href="/edit/Epics/GitTricksTipsSubmodule">edit</a></div>
adding a submodule to a git directory
- git submodule add
- git submodule
- git submodule init
retrieving a repository with submodules
- git clone
- git submodule update
converting a repository into projects with submodules
(H.Brand)
- create new branch
- go into sub directory
- git init
- create remote bare repository
- push to (final) remote repository
- delete local sub directory and
- replace by add submodule pointing to remote,
- commit
- checkout and test
- merge new branch into current "master"
<div style="text-align:right"><a style="font-size:smaller" href="/edit/Epics/GitTricksTipsWorkflow">edit</a></div>
Possible Git Workflow
- (https://raw.githubusercontent.com/AnarManafov/GitWorkflow/master/GitWorkflow_fig1.png)
-
--
PeterZumbruch - 14 Nov 2014