[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Move to git is imminent - awaiting Stefan's approval

From: David Kastrup
Subject: Re: Move to git is imminent - awaiting Stefan's approval
Date: Mon, 06 Jan 2014 23:57:19 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

Angelo Graziosi <address@hidden> writes:

> Usually I build emacs trunk weekly. My local copy of trunk has been
> created, the first time, with
> $ bzr checkout --lightweight http://bzr.savannah.gnu.org/r/emacs/trunk
> emacs-trunk
> and then updating "daily" it with
> $ cd emacs-trunk
> $ bzr up


> When I find a problem ("bug"), I flag it to this list saying something
> like this
> "In trunk rev. 115890 there is this problem... BLA BLA BLA..."
> Now trying
> $ git clone git://git.savannah.gnu.org/emacs.git emacs.git
> I don't get any revision number.. So in my future bug report how the
> trunk will be identified?

The commit ids are unique.  It's usually easiest to quote the entire
SHA128 via copy&paste, but the first 16 digits or so are usually

> Beside this, my local copy of BZR repository has dimension
> $ du -s emacs-trunk/
> 126M  emacs-trunk/


> instead the git repository has dimension
> $ du -s emacs.git/
> 1.1G  emacs.git/
> it contains an emacs.git/.git directory of about 930M which probably
> doesn't need for the Emacs build (bootstrap).

For the build?  No.  git clone has the following options:

        --depth <depth>
           Create a shallow clone with a history truncated to the specified
           number of revisions. A shallow repository has a number of
           limitations (you cannot clone or fetch from it, nor push from nor
           into it), but is adequate if you are only interested in the recent
           history of a large project with a long history, and would want to
           send in fixes as patches.

           Clone only the history leading to the tip of a single branch,
           either specified by the --branch option or the primary branch
           remote’s HEAD points at. When creating a shallow clone with the
           --depth option, this is the default, unless --no-single-branch is
           given to fetch the histories near the tips of all branches. Further
           fetches into the resulting repository will only update the
           remote-tracking branch for the branch this option was used for the
           initial cloning. If the HEAD at the remote did not point at any
           branch when --single-branch clone was made, no remote-tracking
           branch is created.

In addition, once you have a local repository, something like

git clone existing_workdir new_workdir

will do the cloning by using hard links, taking almost no time and no
space.  I often do that for one-off testing of stuff while my "main"
workdir is busy compiling stuff.

David Kastrup

reply via email to

[Prev in Thread] Current Thread [Next in Thread]