[asterisk-dev] DAHDI migration to Git
Russ Meyerriecks
rmeyerriecks at digium.com
Wed Dec 5 10:52:37 CST 2012
Great news! DAHDI is migrating to Git!
This is mainly to ease development burden as the DAHDI developers
already use Git in our primary workflow. Also, the Asterisk project
has expressed interest in making the same move and might be
interested in our switch as a pilot. [1]
The idea here is to create a non-rewindable "golden" repo that
developers may clone from. Patches may be built off of this repo as
was done prior in svn. More info will be provided on the wiki but
here is a quick example:
Previously:
svn co http://svn.asterisk.org/svn/dahdi/linux/trunk dahdi-linux
cd dahdi-linux
<make edits to files>
svn diff > patch.patch
<upload patch to http://issues.asterisk.org>
Now:
git clone git://git.asterisk.org/dahdi/linux dahdi-linux
cd dahdi-linux
<make edits to files>
git commit -a
<write commit message>
git format-patch HEAD^
<upload patch to http://issues.asterisk.org>
I have created what I think to be a suitable "golden" dahdi-linux
git repo here:
http://git.asterisk.org/gitweb/?p=dahdi/linux.git;a=summary
Here are the highlights:
* It contains all commits from version 2.4.0 and up. DAHDI versions
prior to 2.4.0 contain a subversion external (the oct612x library)
which breaks compiles from git checkouts. We plan on creating a
dahdi/history git repository that does a best effort job of
publishing the entire history of DAHDI in a git repository.
* Development branches have been named 2.4.y, 2.5.y, 2.6.y to follow
linux tree convention. Point releases and minior point releases are
then tagged off of these.
* All svn "tags" are now git tags with proper reference off of their
development branch. Tags beginning with "v" indicate a cut/tarballed
release.
* Author attributes are handled properly where able. If you
submitted a patch in the past that was committed by somebody else,
you might now have the proper attribution. (This is a big bonus
feature of git vs svn, in my mind)
* I've added a series of branched-* tags that are used to indicate,
from the main branch, where a sub-branch joins. This is handy in
situations when you're browsing the code and would like to know what
patches are in what version.
If you have an interest in DAHDI, please give the repo a sanity
check as feedback is welcome.
As this migration moves forward, I will be adding more info onto a
page on wiki.asterisk.org. I will explain the git workflow and how
to do everything you're currently doing in svn, in git.
[1] https://wiki.asterisk.org/wiki/display/AST/AstriDevCon+2012#AstriDevCon2012-Policies
--
Russ Meyerriecks
Digium, Inc. | Linux Kernel Developer
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
direct: +1 256-428-6025
Check us out at: www.digium.com & www.asterisk.org
More information about the asterisk-dev
mailing list