[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Locks on the Bzr repository
From: |
Stephen J. Turnbull |
Subject: |
Re: Locks on the Bzr repository |
Date: |
Sun, 22 Aug 2010 15:52:44 +0900 |
Eli Zaretskii writes:
> > From: Leo <address@hidden>
> > Date: Sat, 21 Aug 2010 20:50:35 +0100
> >
> > Branching in git is as fast as:
> >
> > echo 7adb0b64823cbdcfbbcac9a9e32c6b435f57d889 >
> > .git/refs/heads/mybranch
> >
> > basically writing a 40-char string to a file.
>
> Are all the branches co-located?
I can't speak for Leo, but in my case all my git branches are
colocated by project. If I had any upstreams that used git, my
integration branches would have repos separate from my working
branches, but the working branches would all share objects (see
below). I even tried colocating Emacs and XEmacs, which worked (eg,
for cherry-picking changes) but wasn't worth the effort (because I
didn't update Emacs that often, and then XEmacs decided on hg which
didn't do colocated branches at all well at that time).
> If not, how do you cope with the bootstrap of a new branch, which
> takes much longer than writing a string to a file?
It doesn't take very long to create a new branch in a separate
workspace. It takes the time it takes to unpack a source tarball if
you do it sanely.
# get the original, maintain it as a mirror
# takes me less than 2 minutes IIRC; Linus's branch of kernel < 15 min.
$ git clone ssh://scm.kernel.org/git/git.git pristine
# make a new working branch the least efficient usual way
# creates new .git with metadata by copying (a few kB), symlinks to
# object database (probably many MB, a few files), then checks out
# working tree
$ git clone pristine working
# switch HEAD to branch named "working"
$ git checkout -b working
# make a new working branch very efficiently, but somewhat fragile
# shares the object database
$ export GIT_OBJECT_DIRECTORY=`pwd`/pristine/.git/objects
$ mkdir yowsa
$ cd yowsa
# assume we want to start this branch from "master" (git-ese for "trunk")
$ git checkout -b yowsa master
I just don't hesitate to do these operations in git or hg. I hesitate
to even think about them in bzr or darcs.
- Re: Locks on the Bzr repository, (continued)
- Re: Locks on the Bzr repository, Stephen J. Turnbull, 2010/08/21
- Re: Locks on the Bzr repository, Stephen J. Turnbull, 2010/08/21
- Re: Locks on the Bzr repository, Leo, 2010/08/21
- Re: Locks on the Bzr repository, Eli Zaretskii, 2010/08/21
- Re: Locks on the Bzr repository, Leo, 2010/08/21
- Re: Locks on the Bzr repository, Leo, 2010/08/21
- Re: Locks on the Bzr repository, Tom Tromey, 2010/08/21
- Re: Locks on the Bzr repository, Leo, 2010/08/21
- Re: Locks on the Bzr repository, David De La Harpe Golden, 2010/08/22
- Re: Locks on the Bzr repository, Andreas Schwab, 2010/08/22
- Re: Locks on the Bzr repository,
Stephen J. Turnbull <=
- Re: Locks on the Bzr repository, Eli Zaretskii, 2010/08/22
- Re: Locks on the Bzr repository, Stephen J. Turnbull, 2010/08/22
- Re: Locks on the Bzr repository, Leo, 2010/08/22
- Re: Locks on the Bzr repository, Eli Zaretskii, 2010/08/22
- Re: Locks on the Bzr repository, Eli Zaretskii, 2010/08/21
- Re: Locks on the Bzr repository, Uday S Reddy, 2010/08/21
- Re: Locks on the Bzr repository, Stefan Monnier, 2010/08/21
- Re: Locks on the Bzr repository, Uday S Reddy, 2010/08/22
- Re: Locks on the Bzr repository, Teemu Likonen, 2010/08/22
- Re: Locks on the Bzr repository, Eli Zaretskii, 2010/08/22