Draft git repo posted (HOWTO to follow soon)

Gerald (Jerry) Carter jerry at samba.org
Thu Oct 4 17:00:57 GMT 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Folks,

I've posted a draft git repo.  This is only for experimentation
and commit history review.  Please do not consider this as an
official repo since I will probably delete it after everyone
agrees that it is working is ok (in order to create a repo
from the latest svn tree).

  $ git clone git://git.samba.org/jerry/samba-draft.git

This is current as of SVN r25501 IIRC.


What is there?
- --------------

There are several branches.  I choose the unstable/test/stable
scheme since most people are familiar with Debian releases.
The branches are like this

  v*-unstable -> Was previous SAMBA_x_x branch
  v*-test     -> Branched from v*-unstable and copied
                 over current release series dev tree
  v*-stable   -> What will become the next release in
                 that series.

For example:

  v3-2-unstable is the previous SAMBA_3_2 tree.
  v3-2-test branched from v3-0-unstable and rsync'd
    SAMBA_3_2_0 on top
  v3-2-stable branched from v3-2-test

The "unstable" will be run on the build farm (more on this
later).  The "test" tree will pull complete changesets that are
deemed functional (by review).  The "stable" tree should be safe
for any user to pull at any point in time and run in production.
Not that I recommend that but it should highlight the quality
expected in that branch.  Currently the gap between "unstable"
and "test" is pretty big.  I would like to see that reduced by
either (a) merging code into test where appropriate, or (b)
moving unfinished code out of "unstable" and into private
branches.

My plan is to have "unstable" that Samba team members can push
to.  I will pull changes from trees into "test" and merge them
to "stable".  This is similar to the svn model except you
only push to the SAMBA_x_x branches and not the release series
branches.   "stable" is similar to the SAMBA_x_x_RELEASE branches
in svn but will be updated as features become ready and not
only at release time.  I'll explain how to have things pulled
into "test" in the upcoming HOWTO (next mail).

  $ git branch
    v2-2-stable
    v3-0-stable
    v3-0-test
    v3-0-unstable
    v3-2-stable
    v3-2-test
    v3-2-unstable
    v4-0-stable
    v4-0-test
    v4-0-unstable

Metze has setup an interface at http://gitweb.samba.org/ as well.


History
- -------

I combined the cvs and svn histories by first importing both
repos (using cvs2svn's git support and git-svnimport respectively).
Then:

  $ mkdir samba-draft && cd samba-draft
  $ git init
  $ git remote add cvs $HOME/src/git/import/samba-cvs.git
  $ git fetch cvs
  $ git remote add svn $HOME/src/git/import/samba-svn.git
  $ git fetch svn
  $ git checkout -b v3-0-unstable cvs/SAMBA_3_0
  $ for $rev in `git-log --reverse svn/SAMBA_3_0 | <other greg magic>`
    do
       git-cherry-pick $rev
    done

(note that there might be an issue with how tags were created
in the cvs import that I'm looking in to)


Testing Tips
- ------------

Clone the draft repo:

  $ git clone git://git.samba.org/jerry/samba-draft.git

If you want to view the import history as well:

  $ git remote add cvs git://git.samba.org/jerry/samba-cvsimport.git
  $ git remote add cvs-samba4 \
      git://git.samba.org/jerry/samba4-cvsimport.git
  $ git remote add svn git://git.samba.org/jerry/samba-svnimport.git

  $ for r in cvs cvs-samba4 svn; do git fetch $r; done

View available branches:

  $ git branch -r

View tags:

  $ git tag -l

git-log  will work on local checkouts and remote refs as well.
For example,

  $ git log svn/SAMBA_3_2

I've verified history using a git branch and svn tree at specific
svn revisions and so far everything is ok.  Would be nice
for other people to check this as well.  The svn revision number
is included in the git commit msg from the import.  There were a
couple of hick-ups that required manual intervention on the Samba
4 and 3.0 code bases.  But they should be minimally intrusive.


Questions
- ---------

1.  Does the history look ok to everyone?
2.  Is the unstable/test/stable branching strategy reasonable?

That's it for this mail.  More details coming in another msg
regarding work flow and toolchain use.




cheers, jerry

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHBRxJIR7qMdg1EfYRAiHNAKDdnH9/mTwCYsXnBiFMMJAXxlV3+QCggJJ0
mbKjq3AHFIRY1bN42GqB0kU=
=ueqD
-----END PGP SIGNATURE-----


More information about the samba-technical mailing list