* Re: Move to git is imminent - awaiting Stefan's approval
@ 2014-01-06 22:14 Angelo Graziosi
2014-01-06 22:57 ` David Kastrup
2014-01-06 23:01 ` Andreas Schwab
0 siblings, 2 replies; 62+ messages in thread
From: Angelo Graziosi @ 2014-01-06 22:14 UTC (permalink / raw
To: emacs
Eli Zaretskii wrote:
> 8. There's the emacs-bzr-version whose value gets copied into the bug
> reports. This should be replaced by the suitable git equivalent,
> or else the bug reports (of which we have quite a few each day)
> will not identify the version correctly.
Perhaps I have a similar question (or the same?)
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
which prints each time the trunk revision number, e.g.
[...]
All changes applied successfully.
Updated to revision 115890 of branch
http://bzr.savannah.gnu.org/r/emacs/trunk
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?
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).
This is very annoying...
Ciao,
Angelo.
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-06 22:14 Move to git is imminent - awaiting Stefan's approval Angelo Graziosi
@ 2014-01-06 22:57 ` David Kastrup
2014-01-11 22:34 ` Nix
2014-01-06 23:01 ` Andreas Schwab
1 sibling, 1 reply; 62+ messages in thread
From: David Kastrup @ 2014-01-06 22:57 UTC (permalink / raw
To: emacs-devel
Angelo Graziosi <angelo.graziosi@alice.it> 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
"lightweight"
> 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
sufficient.
> Beside this, my local copy of BZR repository has dimension
>
> $ du -s emacs-trunk/
> 126M emacs-trunk/
"lightweight"
> 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.
--[no-]single-branch
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
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-06 22:14 Move to git is imminent - awaiting Stefan's approval Angelo Graziosi
2014-01-06 22:57 ` David Kastrup
@ 2014-01-06 23:01 ` Andreas Schwab
2014-01-07 10:24 ` Angelo Graziosi
` (2 more replies)
1 sibling, 3 replies; 62+ messages in thread
From: Andreas Schwab @ 2014-01-06 23:01 UTC (permalink / raw
To: Angelo Graziosi; +Cc: emacs
Angelo Graziosi <angelo.graziosi@alice.it> writes:
> 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?
A good way to identify a git branch is to use git describe. However it
prefers to have an annotated (release) tag available to base on, which
we currently don't have (bzr doesn't have the concept of annotated
tags).
> 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/
By default git downloads the history of all branches. You can use
--single-branch to only clone a single branch. This is the default if
you create a shallow clone.
Andreas.
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-06 23:01 ` Andreas Schwab
@ 2014-01-07 10:24 ` Angelo Graziosi
2014-01-07 10:37 ` Git tips for Emacs development (was Re: Move to git is imminent - awaiting Stefan's approval) Nic Ferrier
` (3 more replies)
2014-01-07 13:37 ` Angelo Graziosi
2014-01-07 16:14 ` Eli Zaretskii
2 siblings, 4 replies; 62+ messages in thread
From: Angelo Graziosi @ 2014-01-07 10:24 UTC (permalink / raw
To: Andreas Schwab; +Cc: emacs
Il 07/01/2014 0.01, Andreas Schwab ha scritto:
> Angelo Graziosi <angelo.graziosi@alice.it> writes:
>
>> 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?
>
> A good way to identify a git branch is to use git describe. However it
> prefers to have an annotated (release) tag available to base on, which
> we currently don't have (bzr doesn't have the concept of annotated
> tags).
>
>> 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/
>
> By default git downloads the history of all branches. You can use
> --single-branch to only clone a single branch. This is the default if
> you create a shallow clone.
David Kastrup wrote:
> For the build? No. git clone has the following options:
>
> --depth <depth>
...
> --[no-]single-branch
...
OK, trying
$ git clone --single-branch git://git.savannah.gnu.org/emacs.git emacs.git
the local repository has dimension 1.1G, so probably I need a more
explicit example...
Instead, trying
$ git clone --depth 1 git://git.savannah.gnu.org/emacs.git emacs.git
the local repository has dimension 160M which is a little greater than
my current BZR (checkout --lightweight) repository (126M), but acceptable...
Suppose now I want identify which "revision" introduced a bug. I am able
to do this with a binary search using the BZR command
$ bzr up -r ARG
How can I do this with the "minimal" clone done with GIT?
I hope someone creates a Wiki page with all these doubts clarified with
explicit examples... :-)
Thanks,
Angelo.
^ permalink raw reply [flat|nested] 62+ messages in thread
* Git tips for Emacs development (was Re: Move to git is imminent - awaiting Stefan's approval)
2014-01-07 10:24 ` Angelo Graziosi
@ 2014-01-07 10:37 ` Nic Ferrier
2014-01-07 16:05 ` Eli Zaretskii
2014-01-07 12:27 ` Move to git is imminent - awaiting Stefan's approval Sven Axelsson
` (2 subsequent siblings)
3 siblings, 1 reply; 62+ messages in thread
From: Nic Ferrier @ 2014-01-07 10:37 UTC (permalink / raw
To: Angelo Graziosi; +Cc: Andreas Schwab, emacs
Angelo Graziosi <angelo.graziosi@alice.it> writes:
> Instead, trying
>
> $ git clone --depth 1 git://git.savannah.gnu.org/emacs.git emacs.git
>
> the local repository has dimension 160M which is a little greater than
> my current BZR (checkout --lightweight) repository (126M), but acceptable...
>
> Suppose now I want identify which "revision" introduced a bug. I am able
> to do this with a binary search using the BZR command
>
> $ bzr up -r ARG
What does ARG do in this context?
> How can I do this with the "minimal" clone done with GIT?
>
>
> I hope someone creates a Wiki page with all these doubts clarified with
> explicit examples... :-)
http://www.emacswiki.org/emacs/GitForEmacsDevs
is the start of one.
Do add questions.
Nic
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-07 10:24 ` Angelo Graziosi
2014-01-07 10:37 ` Git tips for Emacs development (was Re: Move to git is imminent - awaiting Stefan's approval) Nic Ferrier
@ 2014-01-07 12:27 ` Sven Axelsson
2014-01-07 14:41 ` Stephen Berman
` (2 more replies)
2014-01-07 12:29 ` David Kastrup
2014-01-07 16:11 ` Eli Zaretskii
3 siblings, 3 replies; 62+ messages in thread
From: Sven Axelsson @ 2014-01-07 12:27 UTC (permalink / raw
To: Angelo Graziosi; +Cc: Andreas Schwab, emacs
On 7 January 2014 11:24, Angelo Graziosi <angelo.graziosi@alice.it> wrote:
>
>
> OK, trying
>
> $ git clone --single-branch git://git.savannah.gnu.org/emacs.git emacs.git
>
> the local repository has dimension 1.1G, so probably I need a more explicit example...
This clones only the main branch (master). Since this is where almost
all Emacs history is located it won't make much difference size wise.
> Instead, trying
>
> $ git clone --depth 1 git://git.savannah.gnu.org/emacs.git emacs.git
>
> the local repository has dimension 160M which is a little greater than my current BZR (checkout --lightweight) repository (126M), but acceptable...
>
> Suppose now I want identify which "revision" introduced a bug. I am able to do this with a binary search using the BZR command
>
> $ bzr up -r ARG
>
> How can I do this with the "minimal" clone done with GIT?
Git does not have any concept like Bazaar's lightweight checkouts -
nor does any other dvcd afaik. Depth 1 truncates all history except
for the most recent commit. From `man git clone`:
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.
--
Sven Axelsson
++++++++++[>++++++++++>+++++++++++>++++++++++>++++++
>++++<<<<<-]>++++.+.++++.>+++++.>+.<<-.>>+.>++++.<<.
+++.>-.<<++.>>----.<++.>>>++++++.<<<<.>>++++.<----.
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-07 10:24 ` Angelo Graziosi
2014-01-07 10:37 ` Git tips for Emacs development (was Re: Move to git is imminent - awaiting Stefan's approval) Nic Ferrier
2014-01-07 12:27 ` Move to git is imminent - awaiting Stefan's approval Sven Axelsson
@ 2014-01-07 12:29 ` David Kastrup
2014-01-07 16:11 ` Eli Zaretskii
3 siblings, 0 replies; 62+ messages in thread
From: David Kastrup @ 2014-01-07 12:29 UTC (permalink / raw
To: emacs-devel
Angelo Graziosi <angelo.graziosi@alice.it> writes:
> Instead, trying
>
> $ git clone --depth 1 git://git.savannah.gnu.org/emacs.git emacs.git
>
> the local repository has dimension 160M which is a little greater than
> my current BZR (checkout --lightweight) repository (126M), but
> acceptable...
>
> Suppose now I want identify which "revision" introduced a bug. I am
> able to do this with a binary search using the BZR command
>
> $ bzr up -r ARG
>
> How can I do this with the "minimal" clone done with GIT?
Uh, not at all? Either you fetch previous revisions and can make use of
them, or not. I think there is some command for extending a shallow
clone, but of course that will have the respective impact on the
repository size.
--
David Kastrup
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-06 23:01 ` Andreas Schwab
2014-01-07 10:24 ` Angelo Graziosi
@ 2014-01-07 13:37 ` Angelo Graziosi
2014-01-07 14:24 ` Andreas Schwab
2014-01-07 16:14 ` Eli Zaretskii
2 siblings, 1 reply; 62+ messages in thread
From: Angelo Graziosi @ 2014-01-07 13:37 UTC (permalink / raw
To: Andreas Schwab; +Cc: emacs
Il 07/01/2014 0.01, Andreas Schwab ha scritto:
> A good way to identify a git branch is to use git describe. However it
> prefers to have an annotated (release) tag available to base on, which
> we currently don't have (bzr doesn't have the concept of annotated
> tags).
Just for completeness...
I see that I can download the trunk source with
$ wget
http://git.savannah.gnu.org/cgit/emacs.git/snapshot/emacs-trunk.tar.gz
but how I can identify it?
After unpacking it, the tree should contain at least a text file with a
revision number or the SHA sum of the last commit... or not?
Ciao,
Angelo.
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-07 13:37 ` Angelo Graziosi
@ 2014-01-07 14:24 ` Andreas Schwab
2014-01-09 12:18 ` Angelo Graziosi
0 siblings, 1 reply; 62+ messages in thread
From: Andreas Schwab @ 2014-01-07 14:24 UTC (permalink / raw
To: Angelo Graziosi; +Cc: emacs
Angelo Graziosi <angelo.graziosi@alice.it> writes:
> I see that I can download the trunk source with
>
> $ wget
> http://git.savannah.gnu.org/cgit/emacs.git/snapshot/emacs-trunk.tar.gz
>
> but how I can identify it?
Normally git get-tar-commit-id should do it, but the archive wasn't
produced by git archive, or it was created from a tree ID instead of a
commit ID. That looks like a bug in cgit.
Andreas.
--
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-07 12:27 ` Move to git is imminent - awaiting Stefan's approval Sven Axelsson
@ 2014-01-07 14:41 ` Stephen Berman
2014-01-07 14:57 ` Andreas Schwab
2014-01-07 15:00 ` Angelo Graziosi
2014-01-07 16:17 ` Eli Zaretskii
2014-01-10 6:40 ` Antonio Nikishaev
2 siblings, 2 replies; 62+ messages in thread
From: Stephen Berman @ 2014-01-07 14:41 UTC (permalink / raw
To: Sven Axelsson; +Cc: emacs, Andreas Schwab, Angelo Graziosi
On Tue, 7 Jan 2014 13:27:22 +0100 Sven Axelsson <sven.axelsson@gmail.com> wrote:
> On 7 January 2014 11:24, Angelo Graziosi <angelo.graziosi@alice.it> wrote:
>>
>>
>> OK, trying
>>
>> $ git clone --single-branch git://git.savannah.gnu.org/emacs.git emacs.git
>>
>> the local repository has dimension 1.1G, so probably I need a more explicit
>> example...
>
> This clones only the main branch (master). Since this is where almost
> all Emacs history is located it won't make much difference size wise.
Is it correct that main or master is the same thing as the Emacs trunk
branch? If so, I wonder why the git repository containing just this is
so large: my bzr Emacs repository only contains the trunk (as a bound
branch), several local branches of it, and the emacs-24 branch; the
.bzr/ directory of the repository, containing all the history, is only
428 MiB, not 1.1 GiB (the trunk directory itself contains an additional
129.3 MiB, but the total is still half the size of the git repo). Why
is the git repository so much larger than the bzr repository?
Steve Berman
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-07 14:41 ` Stephen Berman
@ 2014-01-07 14:57 ` Andreas Schwab
2014-01-07 15:05 ` Stephen Berman
2014-01-07 16:25 ` Eli Zaretskii
2014-01-07 15:00 ` Angelo Graziosi
1 sibling, 2 replies; 62+ messages in thread
From: Andreas Schwab @ 2014-01-07 14:57 UTC (permalink / raw
To: Stephen Berman; +Cc: Angelo Graziosi, Sven Axelsson, emacs
Stephen Berman <stephen.berman@gmx.net> writes:
> Why is the git repository so much larger than the bzr repository?
The git repositories on savannah appear to be packed rather badly. A
reasonably well packed emacs repository should have around 350MB.
Andreas.
--
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-07 14:41 ` Stephen Berman
2014-01-07 14:57 ` Andreas Schwab
@ 2014-01-07 15:00 ` Angelo Graziosi
1 sibling, 0 replies; 62+ messages in thread
From: Angelo Graziosi @ 2014-01-07 15:00 UTC (permalink / raw
To: Stephen Berman, Sven Axelsson; +Cc: Andreas Schwab, emacs
Il 07/01/2014 15.41, Stephen Berman ha scritto:
> Is it correct that main or master is the same thing as the Emacs trunk
> branch? If so, I wonder why the git repository containing just this is
> so large: my bzr Emacs repository only contains the trunk (as a bound
> branch), several local branches of it, and the emacs-24 branch; the
> .bzr/ directory of the repository, containing all the history, is only
> 428 MiB, not 1.1 GiB (the trunk directory itself contains an additional
> 129.3 MiB, but the total is still half the size of the git repo). Why
> is the git repository so much larger than the bzr repository?
As I noticed before
(http://lists.gnu.org/archive/html/emacs-devel/2014-01/msg00515.html),
it contains emacs.git/.git directory of about 930 MiB...
Ciao,
Angelo.
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-07 14:57 ` Andreas Schwab
@ 2014-01-07 15:05 ` Stephen Berman
2014-01-07 16:25 ` Eli Zaretskii
1 sibling, 0 replies; 62+ messages in thread
From: Stephen Berman @ 2014-01-07 15:05 UTC (permalink / raw
To: Andreas Schwab; +Cc: Angelo Graziosi, Sven Axelsson, emacs
On Tue, 07 Jan 2014 15:57:05 +0100 Andreas Schwab <schwab@suse.de> wrote:
> Stephen Berman <stephen.berman@gmx.net> writes:
>
>> Why is the git repository so much larger than the bzr repository?
>
> The git repositories on savannah appear to be packed rather badly. A
> reasonably well packed emacs repository should have around 350MB.
Ok. If the packing can be improved, I think it would be good for that
to happen before finalizing the move to git.
Steve Berman
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Git tips for Emacs development (was Re: Move to git is imminent - awaiting Stefan's approval)
2014-01-07 10:37 ` Git tips for Emacs development (was Re: Move to git is imminent - awaiting Stefan's approval) Nic Ferrier
@ 2014-01-07 16:05 ` Eli Zaretskii
0 siblings, 0 replies; 62+ messages in thread
From: Eli Zaretskii @ 2014-01-07 16:05 UTC (permalink / raw
To: Nic Ferrier; +Cc: emacs-devel, schwab, angelo.graziosi
> From: Nic Ferrier <nferrier@ferrier.me.uk>
> Date: Tue, 07 Jan 2014 10:37:44 +0000
> Cc: Andreas Schwab <schwab@linux-m68k.org>, emacs <emacs-devel@gnu.org>
>
> > $ bzr up -r ARG
>
> What does ARG do in this context?
It's the revision to which the tree will be updated.
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-07 10:24 ` Angelo Graziosi
` (2 preceding siblings ...)
2014-01-07 12:29 ` David Kastrup
@ 2014-01-07 16:11 ` Eli Zaretskii
3 siblings, 0 replies; 62+ messages in thread
From: Eli Zaretskii @ 2014-01-07 16:11 UTC (permalink / raw
To: Angelo Graziosi; +Cc: schwab, emacs-devel
> Date: Tue, 07 Jan 2014 11:24:12 +0100
> From: Angelo Graziosi <angelo.graziosi@alice.it>
> Cc: emacs <emacs-devel@gnu.org>
>
> >> $ du -s emacs-trunk/
> >> 126M emacs-trunk/
> >>
> >> instead the git repository has dimension
> >>
> >> $ du -s emacs.git/
> >> 1.1G emacs.git/
> >
> > By default git downloads the history of all branches. You can use
> > --single-branch to only clone a single branch. This is the default if
> > you create a shallow clone.
>
> David Kastrup wrote:
>
> > For the build? No. git clone has the following options:
> >
> > --depth <depth>
> ...
> > --[no-]single-branch
> ...
>
> OK, trying
>
> $ git clone --single-branch git://git.savannah.gnu.org/emacs.git emacs.git
>
> the local repository has dimension 1.1G, so probably I need a more
> explicit example...
The command you tried is correct, it's just that it doesn't save too
much disk space because the trunk has almost all of the revisions.
> Instead, trying
>
> $ git clone --depth 1 git://git.savannah.gnu.org/emacs.git emacs.git
>
> the local repository has dimension 160M which is a little greater than
> my current BZR (checkout --lightweight) repository (126M), but acceptable...
This is not recommended at all, as such a shallow repository is
severely limited: you cannot clone from it, nor push from or to it.
You also have almost no history, and git does not support bzr-like
operation whereby commands in lightweight checkouts that need history
information go to the server. So you will be unable to walk through
history and bisect.
> Suppose now I want identify which "revision" introduced a bug. I am able
> to do this with a binary search using the BZR command
>
> $ bzr up -r ARG
>
> How can I do this with the "minimal" clone done with GIT?
You don't, see above. With a full repository, or at least one that
was cloned with --single-branch, the equivalent of "bzr up" with git
is "git checkout", and the revision which you want is specified by
either is SHA1 signature or relatively, as in HEAD~20.
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-06 23:01 ` Andreas Schwab
2014-01-07 10:24 ` Angelo Graziosi
2014-01-07 13:37 ` Angelo Graziosi
@ 2014-01-07 16:14 ` Eli Zaretskii
2014-01-07 17:38 ` Rüdiger Sonderfeld
2 siblings, 1 reply; 62+ messages in thread
From: Eli Zaretskii @ 2014-01-07 16:14 UTC (permalink / raw
To: Andreas Schwab; +Cc: emacs-devel, angelo.graziosi
> From: Andreas Schwab <schwab@linux-m68k.org>
> Date: Tue, 07 Jan 2014 00:01:45 +0100
> Cc: emacs <emacs-devel@gnu.org>
>
> Angelo Graziosi <angelo.graziosi@alice.it> writes:
>
> > 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?
>
> A good way to identify a git branch is to use git describe. However it
> prefers to have an annotated (release) tag available to base on, which
> we currently don't have
Indeed:
$ git describe
fatal: No annotated tags can describe 'e1d32fe4408170b992528a2da4b917a63e86fbc4'
I think Angelo wants one of the following, which will all produce
exactly the same output:
git log --pretty='format:%H' @^..
git rev-list @^..
git rev-parse --verify HEAD
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-07 12:27 ` Move to git is imminent - awaiting Stefan's approval Sven Axelsson
2014-01-07 14:41 ` Stephen Berman
@ 2014-01-07 16:17 ` Eli Zaretskii
2014-01-10 6:40 ` Antonio Nikishaev
2 siblings, 0 replies; 62+ messages in thread
From: Eli Zaretskii @ 2014-01-07 16:17 UTC (permalink / raw
To: Sven Axelsson; +Cc: emacs-devel, schwab, angelo.graziosi
> Date: Tue, 7 Jan 2014 13:27:22 +0100
> From: Sven Axelsson <sven.axelsson@gmail.com>
> Cc: Andreas Schwab <schwab@linux-m68k.org>, emacs <emacs-devel@gnu.org>
>
> Depth 1 truncates all history except for the most recent
> commit.
I think it keeps the 2 last commits, try "git log" in such a clone.
> From `man git clone`:
>
> 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.
For these reasons, this kind of repository is not recommended for
"Emacs devs".
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-07 14:57 ` Andreas Schwab
2014-01-07 15:05 ` Stephen Berman
@ 2014-01-07 16:25 ` Eli Zaretskii
2014-01-07 16:35 ` Andreas Schwab
1 sibling, 1 reply; 62+ messages in thread
From: Eli Zaretskii @ 2014-01-07 16:25 UTC (permalink / raw
To: Andreas Schwab
Cc: stephen.berman, emacs-devel, sven.axelsson, angelo.graziosi
> From: Andreas Schwab <schwab@suse.de>
> Date: Tue, 07 Jan 2014 15:57:05 +0100
> Cc: Angelo Graziosi <angelo.graziosi@alice.it>,
> Sven Axelsson <sven.axelsson@gmail.com>, emacs <emacs-devel@gnu.org>
>
> The git repositories on savannah appear to be packed rather badly. A
> reasonably well packed emacs repository should have around 350MB.
Can repacking be done locally, or does it have to be on savannah? If
the former, how to do it?
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-07 16:25 ` Eli Zaretskii
@ 2014-01-07 16:35 ` Andreas Schwab
2014-01-07 16:37 ` Angelo Graziosi
0 siblings, 1 reply; 62+ messages in thread
From: Andreas Schwab @ 2014-01-07 16:35 UTC (permalink / raw
To: Eli Zaretskii; +Cc: stephen.berman, emacs-devel, sven.axelsson, angelo.graziosi
Eli Zaretskii <eliz@gnu.org> writes:
> Can repacking be done locally, or does it have to be on savannah?
You can always repack locally. It's just that during clone, you inherit
the packing of the remote, since existing deltas are not recomputed.
Andreas.
--
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-07 16:35 ` Andreas Schwab
@ 2014-01-07 16:37 ` Angelo Graziosi
2014-01-07 16:41 ` Andreas Schwab
0 siblings, 1 reply; 62+ messages in thread
From: Angelo Graziosi @ 2014-01-07 16:37 UTC (permalink / raw
To: Andreas Schwab, Eli Zaretskii; +Cc: stephen.berman, sven.axelsson, emacs-devel
Il 07/01/2014 17.35, Andreas Schwab ha scritto:
> Eli Zaretskii <eliz@gnu.org> writes:
>
>> Can repacking be done locally, or does it have to be on savannah?
>
> You can always repack locally. It's just that during clone, you inherit
> the packing of the remote, since existing deltas are not recomputed.
OK, but Eli asked how do it... So how?
Thanks,
Angelo.
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-07 16:37 ` Angelo Graziosi
@ 2014-01-07 16:41 ` Andreas Schwab
2014-01-07 17:08 ` Eli Zaretskii
0 siblings, 1 reply; 62+ messages in thread
From: Andreas Schwab @ 2014-01-07 16:41 UTC (permalink / raw
To: Angelo Graziosi; +Cc: Eli Zaretskii, stephen.berman, sven.axelsson, emacs-devel
Angelo Graziosi <angelo.graziosi@alice.it> writes:
> Il 07/01/2014 17.35, Andreas Schwab ha scritto:
>> Eli Zaretskii <eliz@gnu.org> writes:
>>
>>> Can repacking be done locally, or does it have to be on savannah?
>>
>> You can always repack locally. It's just that during clone, you inherit
>> the packing of the remote, since existing deltas are not recomputed.
>
> OK, but Eli asked how do it... So how?
See git-gc(1)
Andreas.
--
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-07 16:41 ` Andreas Schwab
@ 2014-01-07 17:08 ` Eli Zaretskii
2014-01-07 17:23 ` Óscar Fuentes
` (3 more replies)
0 siblings, 4 replies; 62+ messages in thread
From: Eli Zaretskii @ 2014-01-07 17:08 UTC (permalink / raw
To: Andreas Schwab
Cc: stephen.berman, emacs-devel, sven.axelsson, angelo.graziosi
> From: Andreas Schwab <schwab@suse.de>
> Cc: Eli Zaretskii <eliz@gnu.org>, stephen.berman@gmx.net, sven.axelsson@gmail.com, emacs-devel@gnu.org
> Date: Tue, 07 Jan 2014 17:41:43 +0100
>
> Angelo Graziosi <angelo.graziosi@alice.it> writes:
>
> > Il 07/01/2014 17.35, Andreas Schwab ha scritto:
> >> Eli Zaretskii <eliz@gnu.org> writes:
> >>
> >>> Can repacking be done locally, or does it have to be on savannah?
> >>
> >> You can always repack locally. It's just that during clone, you inherit
> >> the packing of the remote, since existing deltas are not recomputed.
> >
> > OK, but Eli asked how do it... So how?
>
> See git-gc(1)
Thanks. "git gc" gets me from 1.18GB to 1.1GB. I tried --aggressive,
but that ran out of memory (trying to allocate 1GB) after some time
and errored out.
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-07 17:08 ` Eli Zaretskii
@ 2014-01-07 17:23 ` Óscar Fuentes
2014-01-07 17:56 ` Eli Zaretskii
2014-01-07 17:24 ` Stephen J. Turnbull
` (2 subsequent siblings)
3 siblings, 1 reply; 62+ messages in thread
From: Óscar Fuentes @ 2014-01-07 17:23 UTC (permalink / raw
To: emacs-devel
Eli Zaretskii <eliz@gnu.org> writes:
> Thanks. "git gc" gets me from 1.18GB to 1.1GB. I tried --aggressive,
> but that ran out of memory (trying to allocate 1GB) after some time
> and errored out.
That's strange:
oscar@qcore:~/dev/emacs/emacs$ time git gc
Counting objects: 734772, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (145032/145032), done.
Writing objects: 100% (734772/734772), done.
Total 734772 (delta 589118), reused 734312 (delta 588658)
Checking connectivity: 734772, done.
oscar@qcore:~/dev/emacs/emacs$ du -sh .git
289M .git
oscar@qcore:~/dev/emacs/emacs$ git branch -a | wc
127 130 4667
Maybe you instructed git to download extra info (such as the meta-data
the fast-import/export process uses and is useful for relating git
commits to their corresponding bzr commits.)
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-07 17:08 ` Eli Zaretskii
2014-01-07 17:23 ` Óscar Fuentes
@ 2014-01-07 17:24 ` Stephen J. Turnbull
2014-01-07 18:05 ` Eli Zaretskii
2014-01-07 18:02 ` Thien-Thi Nguyen
2014-01-07 20:08 ` Angelo Graziosi
3 siblings, 1 reply; 62+ messages in thread
From: Stephen J. Turnbull @ 2014-01-07 17:24 UTC (permalink / raw
To: Eli Zaretskii
Cc: Andreas Schwab, stephen.berman, sven.axelsson, angelo.graziosi,
emacs-devel
Eli Zaretskii writes:
> > See git-gc(1)
git-gc does not necessarily repack existing packs according to the
doc.
Try git-repack.
Or wait for me to try it ... it's past my bedtime, will report
tomorrow if somebody doesn't beat me to it.
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-07 16:14 ` Eli Zaretskii
@ 2014-01-07 17:38 ` Rüdiger Sonderfeld
0 siblings, 0 replies; 62+ messages in thread
From: Rüdiger Sonderfeld @ 2014-01-07 17:38 UTC (permalink / raw
To: emacs-devel, Eli Zaretskii; +Cc: Andreas Schwab, angelo.graziosi
On Tuesday 07 January 2014 18:14:45 Eli Zaretskii wrote:
> $ git describe
> fatal: No annotated tags can describe
> 'e1d32fe4408170b992528a2da4b917a63e86fbc4'
>
> I think Angelo wants one of the following, which will all produce
> exactly the same output:
>
> git log --pretty='format:%H' @^..
> git rev-list @^..
> git rev-parse --verify HEAD
Or
git describe --always
git show --pretty=oneline
git show --oneline
(Produces a different output though)
Regards
Rüdiger
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-07 17:23 ` Óscar Fuentes
@ 2014-01-07 17:56 ` Eli Zaretskii
0 siblings, 0 replies; 62+ messages in thread
From: Eli Zaretskii @ 2014-01-07 17:56 UTC (permalink / raw
To: Óscar Fuentes; +Cc: emacs-devel
> From: Óscar Fuentes <ofv@wanadoo.es>
> Date: Tue, 07 Jan 2014 18:23:48 +0100
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > Thanks. "git gc" gets me from 1.18GB to 1.1GB. I tried --aggressive,
> > but that ran out of memory (trying to allocate 1GB) after some time
> > and errored out.
>
> That's strange:
>
> oscar@qcore:~/dev/emacs/emacs$ time git gc
> Counting objects: 734772, done.
> Delta compression using up to 4 threads.
> Compressing objects: 100% (145032/145032), done.
> Writing objects: 100% (734772/734772), done.
> Total 734772 (delta 589118), reused 734312 (delta 588658)
> Checking connectivity: 734772, done.
>
> oscar@qcore:~/dev/emacs/emacs$ du -sh .git
> 289M .git
> oscar@qcore:~/dev/emacs/emacs$ git branch -a | wc
> 127 130 4667
>
>
> Maybe you instructed git to download extra info (such as the meta-data
> the fast-import/export process uses and is useful for relating git
> commits to their corresponding bzr commits.)
Nope, just "git clone" followed by pull's.
I now tried on fencepost.gnu.org, a 64-bit GNU/Linux system, with
similar results: gc goes from 1.78GB down to 1.6GB. --aggressive also
fails there, funnily enough.
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-07 17:08 ` Eli Zaretskii
2014-01-07 17:23 ` Óscar Fuentes
2014-01-07 17:24 ` Stephen J. Turnbull
@ 2014-01-07 18:02 ` Thien-Thi Nguyen
2014-01-07 18:06 ` Sven Axelsson
2014-01-07 20:08 ` Angelo Graziosi
3 siblings, 1 reply; 62+ messages in thread
From: Thien-Thi Nguyen @ 2014-01-07 18:02 UTC (permalink / raw
To: emacs-devel
[-- Attachment #1: Type: text/plain, Size: 684 bytes --]
() Eli Zaretskii <eliz@gnu.org>
() Tue, 07 Jan 2014 19:08:04 +0200
Thanks. "git gc" gets me from 1.18GB to 1.1GB. I tried
--aggressive, but that ran out of memory (trying to allocate 1GB)
after some time and errored out.
I had the same problem in a similar circumstance (git-bzr). See:
http://lists.gnu.org/archive/html/emacs-devel/2014-01/msg00329.html
for the resolution (briefly: use "git repack" w/ ‘--window-memory’).
--
Thien-Thi Nguyen
GPG key: 4C807502
(if you're human and you know it)
read my lisp: (responsep (questions 'technical)
(not (via 'mailing-list)))
=> nil
[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-07 17:24 ` Stephen J. Turnbull
@ 2014-01-07 18:05 ` Eli Zaretskii
2014-01-07 18:17 ` Sven Axelsson
0 siblings, 1 reply; 62+ messages in thread
From: Eli Zaretskii @ 2014-01-07 18:05 UTC (permalink / raw
To: Stephen J. Turnbull
Cc: schwab, stephen.berman, sven.axelsson, angelo.graziosi,
emacs-devel
> From: "Stephen J. Turnbull" <stephen@xemacs.org>
> Cc: Andreas Schwab <schwab@suse.de>,
> stephen.berman@gmx.net,
> emacs-devel@gnu.org,
> sven.axelsson@gmail.com,
> angelo.graziosi@alice.it
> Date: Wed, 08 Jan 2014 02:24:02 +0900
>
> Eli Zaretskii writes:
>
> > > See git-gc(1)
>
> git-gc does not necessarily repack existing packs according to the
> doc.
>
> Try git-repack.
I thought "git gc" runs git-repack, no?
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-07 18:02 ` Thien-Thi Nguyen
@ 2014-01-07 18:06 ` Sven Axelsson
2014-01-07 18:47 ` Andreas Schwab
0 siblings, 1 reply; 62+ messages in thread
From: Sven Axelsson @ 2014-01-07 18:06 UTC (permalink / raw
To: emacs
On 7 January 2014 19:02, Thien-Thi Nguyen <ttn@gnu.org> wrote:
> () Eli Zaretskii <eliz@gnu.org>
> () Tue, 07 Jan 2014 19:08:04 +0200
>
> Thanks. "git gc" gets me from 1.18GB to 1.1GB. I tried
> --aggressive, but that ran out of memory (trying to allocate 1GB)
> after some time and errored out.
>
> I had the same problem in a similar circumstance (git-bzr). See:
>
> http://lists.gnu.org/archive/html/emacs-devel/2014-01/msg00329.html
>
> for the resolution (briefly: use "git repack" w/ ‘--window-memory’).
>
Using `git repack -a -d -f --window=250 --depth=250` as mentioned
earlier in the conversation brings the .git folder down to 211 Mb for
me.
--
Sven Axelsson
++++++++++[>++++++++++>+++++++++++>++++++++++>++++++
>++++<<<<<-]>++++.+.++++.>+++++.>+.<<-.>>+.>++++.<<.
+++.>-.<<++.>>----.<++.>>>++++++.<<<<.>>++++.<----.
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-07 18:05 ` Eli Zaretskii
@ 2014-01-07 18:17 ` Sven Axelsson
2014-01-07 18:49 ` Stephen J. Turnbull
0 siblings, 1 reply; 62+ messages in thread
From: Sven Axelsson @ 2014-01-07 18:17 UTC (permalink / raw
To: Eli Zaretskii
Cc: schwab, Stephen J. Turnbull, stephen.berman, angelo.graziosi,
emacs
On 7 January 2014 19:05, Eli Zaretskii <eliz@gnu.org> wrote:
>> From: "Stephen J. Turnbull" <stephen@xemacs.org>
>> Cc: Andreas Schwab <schwab@suse.de>,
>> stephen.berman@gmx.net,
>> emacs-devel@gnu.org,
>> sven.axelsson@gmail.com,
>> angelo.graziosi@alice.it
>> Date: Wed, 08 Jan 2014 02:24:02 +0900
>>
>> Eli Zaretskii writes:
>>
>> > > See git-gc(1)
>>
>> git-gc does not necessarily repack existing packs according to the
>> doc.
>>
>> Try git-repack.
>
> I thought "git gc" runs git-repack, no?
No. git-repack is often a very expensive operation, so it is never run
automatically, which git-gc can be.
--
Sven Axelsson
++++++++++[>++++++++++>+++++++++++>++++++++++>++++++
>++++<<<<<-]>++++.+.++++.>+++++.>+.<<-.>>+.>++++.<<.
+++.>-.<<++.>>----.<++.>>>++++++.<<<<.>>++++.<----.
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-07 18:06 ` Sven Axelsson
@ 2014-01-07 18:47 ` Andreas Schwab
2014-01-07 19:07 ` Sven Axelsson
0 siblings, 1 reply; 62+ messages in thread
From: Andreas Schwab @ 2014-01-07 18:47 UTC (permalink / raw
To: Sven Axelsson; +Cc: emacs
Sven Axelsson <sven.axelsson@gmail.com> writes:
> Using `git repack -a -d -f --window=250 --depth=250` as mentioned
> earlier in the conversation brings the .git folder down to 211 Mb for
> me.
That's basically what git gc --aggressive does.
Andreas.
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-07 18:17 ` Sven Axelsson
@ 2014-01-07 18:49 ` Stephen J. Turnbull
2014-01-07 19:06 ` Eli Zaretskii
0 siblings, 1 reply; 62+ messages in thread
From: Stephen J. Turnbull @ 2014-01-07 18:49 UTC (permalink / raw
To: Sven Axelsson
Cc: schwab, Eli Zaretskii, stephen.berman, emacs, angelo.graziosi
Sven Axelsson writes:
> On 7 January 2014 19:05, Eli Zaretskii <eliz@gnu.org> wrote:
> >> From: "Stephen J. Turnbull" <stephen@xemacs.org>
> >> git-gc does not necessarily repack existing packs according to the
> >> doc.
> >>
> >> Try git-repack.
> >
> > I thought "git gc" runs git-repack, no?
It kinda pisses me off that you complain about the excessive detail of
git documentation, and then ask others to tell you about the details
you could read in the documentation.
> No. git-repack is often a very expensive operation, so it is never
> run automatically, which git-gc can be.
Specifically, according to the help, git-gc removes garbage (in the
usual sense of a tracing collector) and "compresses" (ie, packs) loose
objects using delta compression (and then the result is deflated as
with loose objects, I believe). It will repack the packs into *one*
pack (presumably with better delta compression) if the number of packs
is greater than the value of gc.autopacklimit (in .git/config;
default: 50).
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-07 18:49 ` Stephen J. Turnbull
@ 2014-01-07 19:06 ` Eli Zaretskii
2014-01-08 3:47 ` Stephen J. Turnbull
0 siblings, 1 reply; 62+ messages in thread
From: Eli Zaretskii @ 2014-01-07 19:06 UTC (permalink / raw
To: Stephen J. Turnbull
Cc: schwab, stephen.berman, emacs-devel, sven.axelsson,
angelo.graziosi
> From: "Stephen J. Turnbull" <stephen@xemacs.org>
> Cc: Eli Zaretskii <eliz@gnu.org>,
> schwab@suse.de,
> stephen.berman@gmx.net,
> angelo.graziosi@alice.it,
> emacs <emacs-devel@gnu.org>
> Date: Wed, 08 Jan 2014 03:49:24 +0900
>
> Sven Axelsson writes:
> > On 7 January 2014 19:05, Eli Zaretskii <eliz@gnu.org> wrote:
> > >> From: "Stephen J. Turnbull" <stephen@xemacs.org>
>
> > >> git-gc does not necessarily repack existing packs according to the
> > >> doc.
> > >>
> > >> Try git-repack.
> > >
> > > I thought "git gc" runs git-repack, no?
>
> It kinda pisses me off that you complain about the excessive detail of
> git documentation, and then ask others to tell you about the details
> you could read in the documentation.
I did read the documentation. The docs of gc mentions git-repack, so
I thought the former runs the latter. What part did I miss?
> Specifically, according to the help, git-gc removes garbage (in the
> usual sense of a tracing collector) and "compresses" (ie, packs) loose
> objects using delta compression (and then the result is deflated as
> with loose objects, I believe). It will repack the packs into *one*
> pack (presumably with better delta compression) if the number of packs
> is greater than the value of gc.autopacklimit (in .git/config;
> default: 50).
And how was I supposed to know from this whether git-repack will or
won't be run, what with the word "repack" explicitly in this text (and
in other parts of that man page)?
Don't bother answering if you are still pissed off.
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-07 18:47 ` Andreas Schwab
@ 2014-01-07 19:07 ` Sven Axelsson
2014-01-07 19:16 ` Eli Zaretskii
0 siblings, 1 reply; 62+ messages in thread
From: Sven Axelsson @ 2014-01-07 19:07 UTC (permalink / raw
To: Andreas Schwab; +Cc: emacs
On 7 January 2014 19:47, Andreas Schwab <schwab@linux-m68k.org> wrote:
> Sven Axelsson <sven.axelsson@gmail.com> writes:
>
>> Using `git repack -a -d -f --window=250 --depth=250` as mentioned
>> earlier in the conversation brings the .git folder down to 211 Mb for
>> me.
>
> That's basically what git gc --aggressive does.
Looking at the source for git-gc I see that you are indeed correct.
Specifically, `git gc --aggressive` will run `git repack -d -l -f
--depth=250 --window=250`, among other things. Maybe this setting is
more appropriate: using the -a flag can give a better pack, but may
cause extra network traffic when fetching the repo over a dumb
protocol. All this can be found in tha man pages.
--
Sven Axelsson
++++++++++[>++++++++++>+++++++++++>++++++++++>++++++
>++++<<<<<-]>++++.+.++++.>+++++.>+.<<-.>>+.>++++.<<.
+++.>-.<<++.>>----.<++.>>>++++++.<<<<.>>++++.<----.
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-07 19:07 ` Sven Axelsson
@ 2014-01-07 19:16 ` Eli Zaretskii
2014-01-08 3:52 ` Stephen J. Turnbull
0 siblings, 1 reply; 62+ messages in thread
From: Eli Zaretskii @ 2014-01-07 19:16 UTC (permalink / raw
To: Sven Axelsson; +Cc: schwab, emacs-devel
> Date: Tue, 7 Jan 2014 20:07:06 +0100
> From: Sven Axelsson <sven.axelsson@gmail.com>
> Cc: emacs <emacs-devel@gnu.org>
>
> >> Using `git repack -a -d -f --window=250 --depth=250` as mentioned
> >> earlier in the conversation brings the .git folder down to 211 Mb for
> >> me.
> >
> > That's basically what git gc --aggressive does.
>
> Looking at the source for git-gc I see that you are indeed correct.
> Specifically, `git gc --aggressive` will run `git repack -d -l -f
> --depth=250 --window=250`, among other things. Maybe this setting is
> more appropriate: using the -a flag can give a better pack, but may
> cause extra network traffic when fetching the repo over a dumb
> protocol. All this can be found in tha man pages.
Which was why I interpreted them to mean that gc runs repack.
Stephen can now be pissed off by himself.
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-07 17:08 ` Eli Zaretskii
` (2 preceding siblings ...)
2014-01-07 18:02 ` Thien-Thi Nguyen
@ 2014-01-07 20:08 ` Angelo Graziosi
2014-01-08 17:32 ` Eli Zaretskii
3 siblings, 1 reply; 62+ messages in thread
From: Angelo Graziosi @ 2014-01-07 20:08 UTC (permalink / raw
To: Eli Zaretskii, Andreas Schwab; +Cc: stephen.berman, sven.axelsson, emacs-devel
Il 07/01/2014 18.08, Eli Zaretskii ha scritto:
> Thanks. "git gc" gets me from 1.18GB to 1.1GB. I tried --aggressive,
> but that ran out of memory (trying to allocate 1GB) after some time
> and errored out.
>
Here (on Cygwin) it worked... Firstly, I did
$ git clone git://git.savannah.gnu.org/emacs.git emacs.git
and its size was
$ du -s emacs.git/
1,1G emacs.git/
then I did
$ cd emacs.git/
$ git gc --aggressive
Counting objects: 735546, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (734446/734446), done.
Writing objects: 100% (735546/735546), done.
Total 735546 (delta 589814), reused 143177 (delta 0)
Checking connectivity: 735546, done.
which took almost 3 hours to be completed.
And the size is:
$ cd ..
$ du -s emacs.git/
327M emacs.git/
which seems very good!
Ciao,
Angelo.
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-07 19:06 ` Eli Zaretskii
@ 2014-01-08 3:47 ` Stephen J. Turnbull
2014-01-08 15:23 ` Eli Zaretskii
0 siblings, 1 reply; 62+ messages in thread
From: Stephen J. Turnbull @ 2014-01-08 3:47 UTC (permalink / raw
To: Eli Zaretskii
Cc: schwab, stephen.berman, sven.axelsson, angelo.graziosi,
emacs-devel
Eli Zaretskii writes:
> I did read the documentation. The docs of gc mentions git-repack, so
> I thought the former runs the latter. What part did I miss?
The fact that the documentation clearly puts conditions on when git-gc
runs git-repack.
> And how was I supposed to know from this whether git-repack will or
> won't be run, what with the word "repack" explicitly in this text (and
> in other parts of that man page)?
Huh? If there's a condition on whether it runs, then presumably
sometimes it doesn't run. That's all that I deduced from it, and
advised you run git-repack manually.
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-07 19:16 ` Eli Zaretskii
@ 2014-01-08 3:52 ` Stephen J. Turnbull
0 siblings, 0 replies; 62+ messages in thread
From: Stephen J. Turnbull @ 2014-01-08 3:52 UTC (permalink / raw
To: Eli Zaretskii; +Cc: schwab, Sven Axelsson, emacs-devel
Eli Zaretskii writes:
> Which was why I interpreted them to mean that gc runs repack.
You read the source? I find that hard to believe. (The doc for
--aggressive says nothing about repack, only that it optimizes
harder.)
> Stephen can now be pissed off by himself.
Yup. And I won't waste time on suppressing my irritation while
helping with GitForEmacsDevs, since you're the main person I would
(normally) care to make such an effort for.
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-08 3:47 ` Stephen J. Turnbull
@ 2014-01-08 15:23 ` Eli Zaretskii
0 siblings, 0 replies; 62+ messages in thread
From: Eli Zaretskii @ 2014-01-08 15:23 UTC (permalink / raw
To: Stephen J. Turnbull
Cc: schwab, stephen.berman, sven.axelsson, angelo.graziosi,
emacs-devel
> From: "Stephen J. Turnbull" <stephen@xemacs.org>
> Cc: schwab@suse.de,
> stephen.berman@gmx.net,
> emacs-devel@gnu.org,
> sven.axelsson@gmail.com,
> angelo.graziosi@alice.it
> Date: Wed, 08 Jan 2014 12:47:29 +0900
>
> Eli Zaretskii writes:
> > I did read the documentation. The docs of gc mentions git-repack, so
> > I thought the former runs the latter. What part did I miss?
>
> The fact that the documentation clearly puts conditions on when git-gc
> runs git-repack.
I wouldn't qualify the gc manpage as "clear" on this matter, see
below. But given what it does say, I _guessed_ that "git gc" _might_
run git-repack, and asked whether that wasn't so. Why that pissed you
off I don't know. You seem to have deduced a different conclusion,
but IMO that's just one more evidence that the man page is not really
clear on this matter.
> > And how was I supposed to know from this whether git-repack will or
> > won't be run, what with the word "repack" explicitly in this text (and
> > in other parts of that man page)?
>
> Huh? If there's a condition on whether it runs, then presumably
> sometimes it doesn't run.
AFAIU, you refer to this part of your previous message:
> Specifically, according to the help, git-gc removes garbage (in the
> usual sense of a tracing collector) and "compresses" (ie, packs) loose
> objects using delta compression (and then the result is deflated as
> with loose objects, I believe). It will repack the packs into *one*
> pack (presumably with better delta compression) if the number of packs
> is greater than the value of gc.autopacklimit (in .git/config;
> default: 50).
However, this comes from the part in the man page that describes the
"--auto" option to gc. I didn't use and didn't mean to use that
option, so the above is not necessarily relevant to "git gc".
But even if this description is relevant when --auto is not used,
the above says that repacking will sometimes happen.
As to what happens regardless of any options, the man page says just
this:
DESCRIPTION
Runs a number of housekeeping tasks within the current repository,
such as compressing file revisions (to reduce disk space and
increase performance) and removing unreachable objects which may
have been created from prior invocations of git add.
This says "such as", which doesn't imply an exhaustive list of tasks.
Moreover, it never says that "compressing file revisions" and
"removing unreachable objects" is not done by git-repack. So the
above description does not contradict my conclusion, and definitely
doesn't present exact description of the conditions under which gc
will run repack. Perhaps if I knew exactly what repack does, I could
have filled the voids, but I don't.
Finally, the "Configuration" section has this, among the rest:
The optional configuration variable gc.packrefs determines if git gc
runs git pack-refs. This can be set to "notbare" to enable it within
all non-bare repos or it can be set to a boolean value. This
defaults to true.
The optional configuration variable gc.aggressiveWindow controls how
much time is spent optimizing the delta compression of the objects
in the repository when the --aggressive option is specified. The
larger the value, the more time is spent optimizing the delta
compression. See the documentation for the --window' option in
git-repack(1) for more details. This defaults to 250.
Both of these configuration settings explicitly mention packing and/or
repacking. Again, without knowing exactly what repack does, there's
no clarity here whether pack-refs is related to repack in any way,
shape or form (looking in the sources resolves this, see below).
Given these hints, IMO it was a reasonable guess that gc does run
repack at least under some conditions, when --auto is not used. Since
these conditions are not defined completely by the man page, it was my
guess that gc, with or without the --aggressive option, might run
repack. As it turns out, the second part is surely true.
> You read the source? I find that hard to believe.
I didn't read the source in this case, only the documentation.
I don't understand the "hard to believe" part, though: I do have the
git's git repo on my disk, and you could easily imagine that I'm not
new to reading sources.
Having now looked in the sources, this is what I see:
if (pack_refs && run_command_v_opt(pack_refs_cmd.argv, RUN_GIT_CMD))
return error(FAILED_RUN, pack_refs_cmd.argv[0]);
if (run_command_v_opt(reflog.argv, RUN_GIT_CMD))
return error(FAILED_RUN, reflog.argv[0]);
if (run_command_v_opt(repack.argv, RUN_GIT_CMD))
return error(FAILED_RUN, repack.argv[0]);
if (prune_expire) {
argv_array_push(&prune, prune_expire);
if (quiet)
argv_array_push(&prune, "--no-progress");
if (run_command_v_opt(prune.argv, RUN_GIT_CMD))
return error(FAILED_RUN, prune.argv[0]);
}
if (run_command_v_opt(rerere.argv, RUN_GIT_CMD))
return error(FAILED_RUN, rerere.argv[0]);
My reading of this is that "git gc" runs, in sequence, pack-refs
(conditioned on gc.packrefs), reflog, repack, prune (conditioned on
the --prune option), and finally rerere. IOW, "git gc" does run
repack. The only difference between --aggressive and non-aggressive
modes is here:
if (aggressive) {
argv_array_push(&repack, "-f");
argv_array_push(&repack, "--depth=250");
if (aggressive_window > 0)
argv_array_pushf(&repack, "--window=%d", aggressive_window);
}
That is, --aggressive just passes the -f switch to git-repack, which
tells it not to reuse deltas (i.e. recompute them anew, AFAIU).
> (The doc for --aggressive says nothing about repack, only that it
> optimizes harder.)
See above: the description of aggressiveWindow setting quite clearly
says that --aggressive does run repack. And in fact it does, indeed.
> > Stephen can now be pissed off by himself.
>
> Yup. And I won't waste time on suppressing my irritation while
> helping with GitForEmacsDevs
Too bad.
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-07 20:08 ` Angelo Graziosi
@ 2014-01-08 17:32 ` Eli Zaretskii
2014-01-08 18:34 ` Andreas Schwab
2014-01-08 21:55 ` Angelo Graziosi
0 siblings, 2 replies; 62+ messages in thread
From: Eli Zaretskii @ 2014-01-08 17:32 UTC (permalink / raw
To: Angelo Graziosi; +Cc: schwab, stephen.berman, sven.axelsson, emacs-devel
> Date: Tue, 07 Jan 2014 21:08:51 +0100
> From: Angelo Graziosi <angelo.graziosi@alice.it>
> CC: stephen.berman@gmx.net, sven.axelsson@gmail.com, emacs-devel@gnu.org
>
> $ cd emacs.git/
> $ git gc --aggressive
> Counting objects: 735546, done.
> Delta compression using up to 2 threads.
> Compressing objects: 100% (734446/734446), done.
> Writing objects: 100% (735546/735546), done.
> Total 735546 (delta 589814), reused 143177 (delta 0)
> Checking connectivity: 735546, done.
>
> which took almost 3 hours to be completed.
>
> And the size is:
>
> $ cd ..
>
> $ du -s emacs.git/
> 327M emacs.git/
>
> which seems very good!
I guess this was on Windows 7, right? I succeeded to do this on a
64-bit Windows 7 as well, and it took about 2 hours. And now I
understand why git ran out of memory on Windows XP: the memory
footprint of git-pack-objects goes up to 3GB, whereas Windows XP has
only 3GB address space for all the applications.
So I guess we will need to repack the repository on savannah as a
prerequisite for switching, and then make sure it is repacked
regularly afterwards. Otherwise, people with low memory and/or slow
CPUs will need many hours to do this on their local machines.
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-08 17:32 ` Eli Zaretskii
@ 2014-01-08 18:34 ` Andreas Schwab
2014-01-08 18:42 ` Eli Zaretskii
2014-01-12 6:27 ` Bob Proulx
2014-01-08 21:55 ` Angelo Graziosi
1 sibling, 2 replies; 62+ messages in thread
From: Andreas Schwab @ 2014-01-08 18:34 UTC (permalink / raw
To: Eli Zaretskii; +Cc: stephen.berman, emacs-devel, sven.axelsson, Angelo Graziosi
Eli Zaretskii <eliz@gnu.org> writes:
> So I guess we will need to repack the repository on savannah as a
> prerequisite for switching, and then make sure it is repacked
> regularly afterwards.
I think what should be done is to increase the default configuration
value of pack.window for the git repos on savannah. That should help
keeping the packs better packed in the long run.
Andreas.
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-08 18:34 ` Andreas Schwab
@ 2014-01-08 18:42 ` Eli Zaretskii
2014-01-08 21:59 ` Angelo Graziosi
2014-01-12 6:27 ` Bob Proulx
1 sibling, 1 reply; 62+ messages in thread
From: Eli Zaretskii @ 2014-01-08 18:42 UTC (permalink / raw
To: Andreas Schwab
Cc: stephen.berman, emacs-devel, sven.axelsson, angelo.graziosi
> From: Andreas Schwab <schwab@linux-m68k.org>
> Cc: Angelo Graziosi <angelo.graziosi@alice.it>, stephen.berman@gmx.net, sven.axelsson@gmail.com, emacs-devel@gnu.org
> Date: Wed, 08 Jan 2014 19:34:56 +0100
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > So I guess we will need to repack the repository on savannah as a
> > prerequisite for switching, and then make sure it is repacked
> > regularly afterwards.
>
> I think what should be done is to increase the default configuration
> value of pack.window for the git repos on savannah. That should help
> keeping the packs better packed in the long run.
Whatever the experts say, I know nowhere near enough about that. The
goal is to let people clone 330MB as opposed to 1.1GB.
Thanks.
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-08 17:32 ` Eli Zaretskii
2014-01-08 18:34 ` Andreas Schwab
@ 2014-01-08 21:55 ` Angelo Graziosi
2014-01-09 19:44 ` Eli Zaretskii
1 sibling, 1 reply; 62+ messages in thread
From: Angelo Graziosi @ 2014-01-08 21:55 UTC (permalink / raw
To: Eli Zaretskii; +Cc: schwab, stephen.berman, sven.axelsson, emacs-devel
Il 08/01/2014 18.32, Eli Zaretskii ha scritto:
>> Date: Tue, 07 Jan 2014 21:08:51 +0100
>> From: Angelo Graziosi <angelo.graziosi@alice.it>
>> CC: stephen.berman@gmx.net, sven.axelsson@gmail.com, emacs-devel@gnu.org
>>
>> $ cd emacs.git/
>> $ git gc --aggressive
>> Counting objects: 735546, done.
>> Delta compression using up to 2 threads.
>> Compressing objects: 100% (734446/734446), done.
>> Writing objects: 100% (735546/735546), done.
>> Total 735546 (delta 589814), reused 143177 (delta 0)
>> Checking connectivity: 735546, done.
>>
>> which took almost 3 hours to be completed.
>>
>> And the size is:
>>
>> $ cd ..
>>
>> $ du -s emacs.git/
>> 327M emacs.git/
>>
>> which seems very good!
>
> I guess this was on Windows 7, right? I succeeded to do this on a
NO!! It is on Win XP 32 bit (SP3) with AMD Athlon 64 X2 Dual Core
Processor 3800+ and 1.7GiB of RAM.
On the same machine I have Kubuntu 12.04 and "git gc --aggressive" works
there too..
BTW, I noticed that running "git pull" to have the local repository
updated, the size increases of about 1 MiB.
> 64-bit Windows 7 as well, and it took about 2 hours. And now I
> understand why git ran out of memory on Windows XP: the memory
> footprint of git-pack-objects goes up to 3GB, whereas Windows XP has
> only 3GB address space for all the applications.
Here, on XP, Task Manager shows a memory usage under 1500 MiB (about 1.4
GiB)
In any case this
> So I guess we will need to repack the repository on savannah as a
> prerequisite for switching, and then make sure it is repacked
> regularly afterwards. Otherwise, people with low memory and/or slow
> CPUs will need many hours to do this on their local machines.
>
should be mandatory..
Ciao,
Angelo.
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-08 18:42 ` Eli Zaretskii
@ 2014-01-08 21:59 ` Angelo Graziosi
2014-01-09 0:05 ` Stefan Monnier
0 siblings, 1 reply; 62+ messages in thread
From: Angelo Graziosi @ 2014-01-08 21:59 UTC (permalink / raw
To: Eli Zaretskii, Andreas Schwab; +Cc: stephen.berman, sven.axelsson, emacs-devel
Il 08/01/2014 19.42, Eli Zaretskii ha scritto:
> Whatever the experts say, I know nowhere near enough about that. The
> goal is to let people clone 330MB as opposed to 1.1GB.
Indeed.. Why should one clone 1.1 GiB and the repack all in 330 MiB? and
shouldn't the remote repository "cleaned" (repacked etc..) regularly?
Ciao,
Angelo.
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-08 21:59 ` Angelo Graziosi
@ 2014-01-09 0:05 ` Stefan Monnier
2014-01-09 6:35 ` Eli Zaretskii
0 siblings, 1 reply; 62+ messages in thread
From: Stefan Monnier @ 2014-01-09 0:05 UTC (permalink / raw
To: Angelo Graziosi
Cc: Eli Zaretskii, stephen.berman, Andreas Schwab, sven.axelsson,
emacs-devel
> Indeed.. Why should one clone 1.1 GiB and the repack all in 330 MiB? and
> shouldn't the remote repository "cleaned" (repacked etc..) regularly?
Because Git is so much more efficient,
Stefan
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-09 0:05 ` Stefan Monnier
@ 2014-01-09 6:35 ` Eli Zaretskii
0 siblings, 0 replies; 62+ messages in thread
From: Eli Zaretskii @ 2014-01-09 6:35 UTC (permalink / raw
To: Stefan Monnier
Cc: emacs-devel, stephen.berman, schwab, sven.axelsson,
angelo.graziosi
> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: Eli Zaretskii <eliz@gnu.org>, Andreas Schwab <schwab@linux-m68k.org>, stephen.berman@gmx.net, sven.axelsson@gmail.com, emacs-devel@gnu.org
> Date: Wed, 08 Jan 2014 19:05:47 -0500
>
> > Indeed.. Why should one clone 1.1 GiB and the repack all in 330 MiB? and
> > shouldn't the remote repository "cleaned" (repacked etc..) regularly?
>
> Because Git is so much more efficient,
A joke, I presume.
But if not: pulling 1.1GB through the net instead of just a third or
forth of that is still a painful experience in some parts of the
world, and git can do nothing at all about that, even though it
compresses.
There really is no excuse for having such a badly packed repository on
Savannah.
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-07 14:24 ` Andreas Schwab
@ 2014-01-09 12:18 ` Angelo Graziosi
0 siblings, 0 replies; 62+ messages in thread
From: Angelo Graziosi @ 2014-01-09 12:18 UTC (permalink / raw
To: Andreas Schwab; +Cc: emacs
Il 07/01/2014 15.24, Andreas Schwab ha scritto:
> Angelo Graziosi <angelo.graziosi@alice.it> writes:
>
>> I see that I can download the trunk source with
>>
>> $ wget
>> http://git.savannah.gnu.org/cgit/emacs.git/snapshot/emacs-trunk.tar.gz
>>
>> but how I can identify it?
>
> Normally git get-tar-commit-id should do it, but the archive wasn't
> produced by git archive, or it was created from a tree ID instead of a
> commit ID. That looks like a bug in cgit.
I have downloaded
1)
http://git.savannah.gnu.org/cgit/emacs.git/snapshot/emacs-e42fcf1482e2c9e9d93f459985d13dbbabc61956.tar.gz
2) http://git.savannah.gnu.org/cgit/emacs.git/snapshot/emacs-trunk.tar.gz
which correspond to the same trunk but I cannot identify the trunk: the
command "git get-tar-commit-id" hangs.
If I have understood, with GIT the trunk is identified with the SHA1
string like "e42fcf1482e2c9e9d93f459985d13dbbabc61956", so that in the
first case I know the trunk "revision". Anyway, I would prefer that that
string is stored inside the tree given by those tar-balls. For example
in a text file, LAST-COMMIT-ID, so that one can know it with
$ cat emacs-e42fcf1482e2c9e9d93f459985d13dbbabc61956/LAST-COMMIT-ID
or
$ cat emacs-trunk/LAST-COMMIT-ID
In this way, I can create a build script with this skeleton:
...
wget http://git.savannah.gnu.org/cgit/emacs.git/snapshot/emacs-trunk.tar.gz
tar -xf emacs-trunk.tar.gz
rev=`cat emacs-trunk/LAST-COMMIT-ID`
autogen.sh
configure...
make bootstrap
make install DESTDIR=...
tar -cf emacs-$rev-bin.tar.xz $INSTDIR
Ciao,
Angelo.
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-08 21:55 ` Angelo Graziosi
@ 2014-01-09 19:44 ` Eli Zaretskii
0 siblings, 0 replies; 62+ messages in thread
From: Eli Zaretskii @ 2014-01-09 19:44 UTC (permalink / raw
To: Angelo Graziosi; +Cc: emacs-devel
> Date: Wed, 08 Jan 2014 22:55:21 +0100
> From: Angelo Graziosi <angelo.graziosi@alice.it>
> CC: schwab@suse.de, stephen.berman@gmx.net, sven.axelsson@gmail.com,
> emacs-devel@gnu.org
>
> Il 08/01/2014 18.32, Eli Zaretskii ha scritto:
> >> Date: Tue, 07 Jan 2014 21:08:51 +0100
> >> From: Angelo Graziosi <angelo.graziosi@alice.it>
> >> CC: stephen.berman@gmx.net, sven.axelsson@gmail.com, emacs-devel@gnu.org
> >>
> >> $ cd emacs.git/
> >> $ git gc --aggressive
> >> Counting objects: 735546, done.
> >> Delta compression using up to 2 threads.
> >> Compressing objects: 100% (734446/734446), done.
> >> Writing objects: 100% (735546/735546), done.
> >> Total 735546 (delta 589814), reused 143177 (delta 0)
> >> Checking connectivity: 735546, done.
> >>
> >> which took almost 3 hours to be completed.
> >>
> >> And the size is:
> >>
> >> $ cd ..
> >>
> >> $ du -s emacs.git/
> >> 327M emacs.git/
> >>
> >> which seems very good!
> >
> > I guess this was on Windows 7, right? I succeeded to do this on a
>
> NO!! It is on Win XP 32 bit (SP3) with AMD Athlon 64 X2 Dual Core
> Processor 3800+ and 1.7GiB of RAM.
The secret that unlocked this mystery was this:
> >> Delta compression using up to 2 threads.
^^^^^^^^^
On my machine, which is a Core i7, this originally said "8 threads".
So I did this:
git config --global pack.threads "2"
then ran "git gc --aggressive" again. That again ran out of memory,
but much later in the process. The next step was obvious:
git config --global pack.threads "1"
With that, "git gc --aggressive" churned away for a little bit more
than an hour, and brought me to this:
$ du -sh .
323M .
> > 64-bit Windows 7 as well, and it took about 2 hours. And now I
> > understand why git ran out of memory on Windows XP: the memory
> > footprint of git-pack-objects goes up to 3GB, whereas Windows XP has
> > only 3GB address space for all the applications.
>
> Here, on XP, Task Manager shows a memory usage under 1500 MiB (about 1.4
> GiB)
With 1 thread, it never goes above 850MB.
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-07 12:27 ` Move to git is imminent - awaiting Stefan's approval Sven Axelsson
2014-01-07 14:41 ` Stephen Berman
2014-01-07 16:17 ` Eli Zaretskii
@ 2014-01-10 6:40 ` Antonio Nikishaev
2 siblings, 0 replies; 62+ messages in thread
From: Antonio Nikishaev @ 2014-01-10 6:40 UTC (permalink / raw
To: emacs-devel
Sven Axelsson <sven.axelsson@gmail.com> writes:
>> Instead, trying
>>
>> $ git clone --depth 1 git://git.savannah.gnu.org/emacs.git emacs.git
>>
>> the local repository has dimension 160M which is a little greater
>> than my current BZR (checkout --lightweight) repository (126M), but
>> acceptable...
>>
>> Suppose now I want identify which "revision" introduced a bug. I am
>> able to do this with a binary search using the BZR command
>>
>> $ bzr up -r ARG
>>
>> How can I do this with the "minimal" clone done with GIT?
>
> Git does not have any concept like Bazaar's lightweight checkouts -
> nor does any other dvcd afaik.
Darcs has clever lazy repos. (Everything works. If the stuff which is
not yet in the repository is needed, it will be downloaded.)
Just FYI
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-06 22:57 ` David Kastrup
@ 2014-01-11 22:34 ` Nix
0 siblings, 0 replies; 62+ messages in thread
From: Nix @ 2014-01-11 22:34 UTC (permalink / raw
To: David Kastrup; +Cc: emacs-devel
On 6 Jan 2014, David Kastrup stated:
> 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
> sufficient.
You can just use 'git log --abbrev-commit' to get commit IDs abbreviated
(enough for nonambiguity and no further).
If you want to enable this forever, git 1.7.6+ lets you say
git config log.abbrevCommit true
(add --global or --system to make it apply to all repositories for this
user, or all repositories on the system, respectively).
> 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.
In addition in addition, git-new-workdir (a script in git's contrib/
directory, likely to be installed by default eventually in some form or
other) will let you check out more than one branch at once on the same
repository.
--
NULL && (void)
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-08 18:34 ` Andreas Schwab
2014-01-08 18:42 ` Eli Zaretskii
@ 2014-01-12 6:27 ` Bob Proulx
2014-01-12 10:11 ` Andreas Schwab
` (2 more replies)
1 sibling, 3 replies; 62+ messages in thread
From: Bob Proulx @ 2014-01-12 6:27 UTC (permalink / raw
To: emacs-devel
Andreas Schwab wrote:
> Eli Zaretskii writes:
> > So I guess we will need to repack the repository on savannah as a
> > prerequisite for switching, and then make sure it is repacked
> > regularly afterwards.
>
> I think what should be done is to increase the default configuration
> value of pack.window for the git repos on savannah. That should help
> keeping the packs better packed in the long run.
All of the repositories are repacked monthly on the 4th. As you can
see it is a heavy operation and therefore not run every day. But this
thread seems to have exposed a deficiency in the current repacking.
Currently the script does:
git --git-dir=$dir gc -q
Obvious from the discussion here that is not sufficient. However:
Angelo Graziosi wrote:
> $ git gc --aggressive
> Counting objects: 735546, done.
> Delta compression using up to 2 threads.
> Compressing objects: 100% (734446/734446), done.
> Writing objects: 100% (735546/735546), done.
> Total 735546 (delta 589814), reused 143177 (delta 0)
> Checking connectivity: 735546, done.
>
> which took almost 3 hours to be completed.
Eli Zaretskii wrote:
> And now I understand why git ran out of memory on Windows XP: the
> memory footprint of git-pack-objects goes up to 3GB, whereas Windows
> XP has only 3GB address space for all the applications.
Three hours and 3G of memory for this one repack! I worry that
turning --agressive on globally will cause the server to fall over.
Also apparently careful tuning of threads is needed. However the disk
and network savings look significant.
I have a couple of questions if someone already has the clone
available for a test. Does a clone from the agressively repacked to
327M repository remain similarly compacted when cloned again from it?
If an agressively repacked repository is again repacked but this time
without the --agressive option does the size stay around 327M or does
it get expanded on the subsequent pass? (Wondering if we can
periodically run 'git gc --agressive' on the larger git repositories
at a niced background task priority but not too often and still
achieve a good benefit for the time between agressive repacks.)
Bob
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-12 6:27 ` Bob Proulx
@ 2014-01-12 10:11 ` Andreas Schwab
2014-01-12 16:11 ` Eli Zaretskii
2014-01-12 21:13 ` Bob Proulx
2014-01-12 10:29 ` Achim Gratz
2014-01-12 16:07 ` Eli Zaretskii
2 siblings, 2 replies; 62+ messages in thread
From: Andreas Schwab @ 2014-01-12 10:11 UTC (permalink / raw
To: Bob Proulx; +Cc: emacs-devel
Bob Proulx <bob@proulx.com> writes:
> Three hours and 3G of memory for this one repack! I worry that
> turning --agressive on globally will cause the server to fall over.
IMHO --aggressive is too aggressive, and not useful for on-going
maintenance. Incresing pack.window to 50 or so should already help
enough to improve the packing.
> If an agressively repacked repository is again repacked but this time
> without the --agressive option does the size stay around 327M or does
> it get expanded on the subsequent pass?
Unless you run repack with -f (ie. gc --aggresive) existing deltas are
reused, and only newly added objects are deltified.
> (Wondering if we can periodically run 'git gc --agressive' on the
> larger git repositories at a niced background task priority but not
> too often and still achieve a good benefit for the time between
> agressive repacks.)
Another option is to touch a <pack>.keep file for the largest pack so
that it is never touched again. New objects will then be added to a
separate pack even after git gc. If that large pack is already well
packed this should save some processing time.
Andreas.
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-12 6:27 ` Bob Proulx
2014-01-12 10:11 ` Andreas Schwab
@ 2014-01-12 10:29 ` Achim Gratz
2014-01-12 21:29 ` Bob Proulx
2014-01-12 16:07 ` Eli Zaretskii
2 siblings, 1 reply; 62+ messages in thread
From: Achim Gratz @ 2014-01-12 10:29 UTC (permalink / raw
To: emacs-devel
Bob Proulx writes:
> I have a couple of questions if someone already has the clone
> available for a test. Does a clone from the agressively repacked to
> 327M repository remain similarly compacted when cloned again from it?
Once the whole repository is repacked it keeps those pack decisions,
also across clones. The pack strategy for new commits would typically
be near-optimal unless someone fast-imported a large branch again (in
that case it should preferrably be locally repacked before getting
pushed to Savannah).
> If an agressively repacked repository is again repacked but this time
> without the --agressive option does the size stay around 327M or does
> it get expanded on the subsequent pass?
I don't think a plain gc will expand any old packs, in any case the
benefits of "git gc --agressive" are supposed to last for a long time.
>(Wondering if we can periodically run 'git gc --agressive' on the
>larger git repositories at a niced background task priority but not too
>often and still achieve a good benefit for the time between agressive
>repacks.)
Just a manual "git gc --aggressive" once in a while should be enough.
If you are going to do it as a cron-job, I'm not sure if it's a good
idea to nice it. I think you'd rather want to limit the number of
threads it uses, which also limits the memory footprint, which is
probably the bigger problem anyway and should probably be tuned further
depending on how beefy the server is.
Regards,
Achim.
--
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+
SD adaptations for Waldorf Q V3.00R3 and Q+ V3.54R2:
http://Synth.Stromeko.net/Downloads.html#WaldorfSDada
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-12 6:27 ` Bob Proulx
2014-01-12 10:11 ` Andreas Schwab
2014-01-12 10:29 ` Achim Gratz
@ 2014-01-12 16:07 ` Eli Zaretskii
2 siblings, 0 replies; 62+ messages in thread
From: Eli Zaretskii @ 2014-01-12 16:07 UTC (permalink / raw
To: Bob Proulx; +Cc: emacs-devel
> Date: Sat, 11 Jan 2014 23:27:22 -0700
> From: Bob Proulx <bob@proulx.com>
>
> Eli Zaretskii wrote:
> > And now I understand why git ran out of memory on Windows XP: the
> > memory footprint of git-pack-objects goes up to 3GB, whereas Windows
> > XP has only 3GB address space for all the applications.
>
> Three hours and 3G of memory for this one repack!
It was only 1 hour in my case (I guess Angelo has a slower machine).
Also, limiting the number of threads to 2 or even 1 radically lowers
the required memory usage.
But that doesn't mean you need necessarily run "gc --agressive",
please listen to Andreas on this matter.
> I have a couple of questions if someone already has the clone
> available for a test. Does a clone from the agressively repacked to
> 327M repository remain similarly compacted when cloned again from it?
It grows slowly after that. E.g., in the 3 days since then it grew by
12MB. I don't know whether this will level out later, a few days is
not enough to tell.
> If an agressively repacked repository is again repacked but this time
> without the --agressive option does the size stay around 327M or does
> it get expanded on the subsequent pass?
No, it doesn't expand, at least not on my system. In fact, "git gc"
just slashed the storage by 10MB out of 12MB that it gained since I
ran "gc --agressive".
Again, this is just to give you some numbers, I don't want to suggest
what should be done on Savannah.
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-12 10:11 ` Andreas Schwab
@ 2014-01-12 16:11 ` Eli Zaretskii
2014-01-12 17:09 ` Andreas Schwab
2014-01-12 21:13 ` Bob Proulx
1 sibling, 1 reply; 62+ messages in thread
From: Eli Zaretskii @ 2014-01-12 16:11 UTC (permalink / raw
To: Andreas Schwab; +Cc: bob, emacs-devel
> From: Andreas Schwab <schwab@linux-m68k.org>
> Date: Sun, 12 Jan 2014 11:11:21 +0100
> Cc: emacs-devel@gnu.org
>
> Increasing pack.window to 50 or so should already help enough to
> improve the packing.
Would it make sense to make such a change in our local clones as well?
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-12 16:11 ` Eli Zaretskii
@ 2014-01-12 17:09 ` Andreas Schwab
2014-01-12 17:41 ` Eli Zaretskii
0 siblings, 1 reply; 62+ messages in thread
From: Andreas Schwab @ 2014-01-12 17:09 UTC (permalink / raw
To: Eli Zaretskii; +Cc: bob, emacs-devel
Eli Zaretskii <eliz@gnu.org> writes:
>> Increasing pack.window to 50 or so should already help enough to
>> improve the packing.
>
> Would it make sense to make such a change in our local clones as well?
Yes, setting that in your personal .gitconfig is probably a good idea.
Andreas.
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-12 17:09 ` Andreas Schwab
@ 2014-01-12 17:41 ` Eli Zaretskii
0 siblings, 0 replies; 62+ messages in thread
From: Eli Zaretskii @ 2014-01-12 17:41 UTC (permalink / raw
To: Andreas Schwab; +Cc: bob, emacs-devel
> From: Andreas Schwab <schwab@linux-m68k.org>
> Cc: bob@proulx.com, emacs-devel@gnu.org
> Date: Sun, 12 Jan 2014 18:09:29 +0100
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> >> Increasing pack.window to 50 or so should already help enough to
> >> improve the packing.
> >
> > Would it make sense to make such a change in our local clones as well?
>
> Yes, setting that in your personal .gitconfig is probably a good idea.
Thanks.
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-12 10:11 ` Andreas Schwab
2014-01-12 16:11 ` Eli Zaretskii
@ 2014-01-12 21:13 ` Bob Proulx
2014-01-12 21:24 ` Andreas Schwab
2014-01-15 5:15 ` Bob Proulx
1 sibling, 2 replies; 62+ messages in thread
From: Bob Proulx @ 2014-01-12 21:13 UTC (permalink / raw
To: emacs-devel
Andreas Schwab wrote:
> Bob Proulx <bob@proulx.com> writes:
> > Three hours and 3G of memory for this one repack! I worry that
> > turning --agressive on globally will cause the server to fall over.
>
> IMHO --aggressive is too aggressive, and not useful for on-going
> maintenance. Incresing pack.window to 50 or so should already help
> enough to improve the packing.
It sounds like I should schedule a full agressive repack once. Once
being the operative word.
git repack -a -d -f --window=250 --depth=250
And then as you suggest above ensure that the regularly routine
ongoing maintenance 'git gc' runs with a large enough pack window.
I see that the git-gc default is --window=250 so at that point nothing
more should need to be done. The normal 'git gc' routine maintenance
should be okay at that point. Is that right? Seems like it. We can
tweak this further as needed.
Certain times of day the vcs system is quite heavily loaded. The vcs
system is a VM on a dom0 also hosting many other VMs. At some times
of day the entire dom0 is very heavily I/O limited. This has been an
ongoing problem and discussion. It is definitely an ongoing problem.
I will run this during a less busy dom0 time.
I spent some time researching this problem and found this note and
some information in the entire thread useful and interesting. It is a
long thread but there are some good gems in there.
http://article.gmane.org/gmane.comp.gcc.devel/94613
> > If an agressively repacked repository is again repacked but this time
> > without the --agressive option does the size stay around 327M or does
> > it get expanded on the subsequent pass?
>
> Unless you run repack with -f (ie. gc --aggresive) existing deltas are
> reused, and only newly added objects are deltified.
Sounds good. I will note that -f forces a full (--no-reuse-delta)
repack of everything and should be avoided.
> > (Wondering if we can periodically run 'git gc --agressive' on the
> > larger git repositories at a niced background task priority but not
> > too often and still achieve a good benefit for the time between
> > agressive repacks.)
>
> Another option is to touch a <pack>.keep file for the largest pack so
> that it is never touched again. New objects will then be added to a
> separate pack even after git gc. If that large pack is already well
> packed this should save some processing time.
That seems like a useful additional tweak for a large stage such as
this. If nothing else it will help out the backup since that file
won't be changing on a routine basis and will remain static for the
purposes of backup transfer. This could be applied to several of the
large repositories.
It seems that on the client side after a new clone that this tweak is
not propagated. It seems that if there are multiple packs on the
server side that they are combined into a single pack file. But
without being repacked. Therefore downstream clients that wish this
would need to do it manually after a clone.
Bob
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-12 21:13 ` Bob Proulx
@ 2014-01-12 21:24 ` Andreas Schwab
2014-01-13 3:07 ` Bob Proulx
2014-01-15 5:15 ` Bob Proulx
1 sibling, 1 reply; 62+ messages in thread
From: Andreas Schwab @ 2014-01-12 21:24 UTC (permalink / raw
To: emacs-devel
Bob Proulx <bob@proulx.com> writes:
> I see that the git-gc default is --window=250
Only if you add --aggressive (which uses gc.aggressiveWindow to override
the default for git repack, which is pack.window).
Andreas.
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-12 10:29 ` Achim Gratz
@ 2014-01-12 21:29 ` Bob Proulx
0 siblings, 0 replies; 62+ messages in thread
From: Bob Proulx @ 2014-01-12 21:29 UTC (permalink / raw
To: emacs-devel
Achim Gratz wrote:
> Bob Proulx writes:
> >(Wondering if we can periodically run 'git gc --agressive' on the
> >larger git repositories at a niced background task priority but not too
> >often and still achieve a good benefit for the time between agressive
> >repacks.)
>
> Just a manual "git gc --aggressive" once in a while should be enough.
> If you are going to do it as a cron-job, I'm not sure if it's a good
> idea to nice it.
Due to the performance issues some of the Savannah admins have started
nicing background tasks as to hint to the scheduler. Hoping that
interactive tasks get more priority. Because at some times of day
there has been a problem with the server being slow enough to cause
timeouts. Especially the web frontend to vcs. Therefore if it isn't
a time critical task then running it niced is a hint to the scheduler.
The problem is that as a VM all of the system performance information
is fake data and can't show the actual system state. And since we are
currently I/O limited at times the system is often blocked waiting for
I/O in which case the cpu priority doesn't matter. There is more cpu
resource to go around than backplane disk I/O. But from the VM itself
there isn't any useful performance data. Only the FSF admins have
access to the dom0 and we count on them for real performance
information from it. Unfortunately the FSF admin time to work on
server performance problems has been limited.
> I think you'd rather want to limit the number of threads it uses,
> which also limits the memory footprint, which is probably the bigger
> problem anyway and should probably be tuned further depending on how
> beefy the server is.
The dom0 server is an 8-core AMD Opteron running Xen for virtualization.
It has sufficient RAM. But IMNHO too much I/O from all of the VMs
running on it. The vcs VM is allocated seven xen cores.
The hint about threads is a good one and I will keep an eye on it.
Bob
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-12 21:24 ` Andreas Schwab
@ 2014-01-13 3:07 ` Bob Proulx
0 siblings, 0 replies; 62+ messages in thread
From: Bob Proulx @ 2014-01-13 3:07 UTC (permalink / raw
To: emacs-devel
Andreas Schwab wrote:
> Bob Proulx <bob@proulx.com> writes:
> > I see that the git-gc default is --window=250
>
> Only if you add --aggressive (which uses gc.aggressiveWindow to override
> the default for git repack, which is pack.window).
Ah... Good clarification. I have updated pack.window and set the new
value to 250.
Bob
^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: Move to git is imminent - awaiting Stefan's approval
2014-01-12 21:13 ` Bob Proulx
2014-01-12 21:24 ` Andreas Schwab
@ 2014-01-15 5:15 ` Bob Proulx
1 sibling, 0 replies; 62+ messages in thread
From: Bob Proulx @ 2014-01-15 5:15 UTC (permalink / raw
To: emacs-devel
Bob Proulx wrote:
> It sounds like I should schedule a full agressive repack once. Once
> being the operative word.
>
> git repack -a -d -f --window=250 --depth=250
This has been done and the repository is now down to 285M. I set the
number of pack.threads=2 and it ran for 104 minutes to completion.
(I had experimented letting it use all available 7-cores but that ran
94 minutes and ran out of memory at the 3G 32-bit limit. The progress
indicator took 15 minutes to get to 90% and then spent the next 80
minutes getting no further than 92%.)
> > Another option is to touch a <pack>.keep file for the largest pack so
> > that it is never touched again. New objects will then be added to a
> > separate pack even after git gc. If that large pack is already well
> > packed this should save some processing time.
>
> That seems like a useful additional tweak for a large stage such as
> this. If nothing else it will help out the backup since that file
> won't be changing on a routine basis and will remain static for the
> purposes of backup transfer. This could be applied to several of the
> large repositories.
>
> It seems that on the client side after a new clone that this tweak is
> not propagated. It seems that if there are multiple packs on the
> server side that they are combined into a single pack file. But
> without being repacked. Therefore downstream clients that wish this
> would need to do it manually after a clone.
I also touched the .keep file for the resulting pack file so that it
would remain static.
I checked out a local clone and the size was 329M.
Bob
P.S. I saw the other discussion thread talking about possibly redoing
the repository. If that happens let me know and I will repack just as
above again.
^ permalink raw reply [flat|nested] 62+ messages in thread
end of thread, other threads:[~2014-01-15 5:15 UTC | newest]
Thread overview: 62+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-06 22:14 Move to git is imminent - awaiting Stefan's approval Angelo Graziosi
2014-01-06 22:57 ` David Kastrup
2014-01-11 22:34 ` Nix
2014-01-06 23:01 ` Andreas Schwab
2014-01-07 10:24 ` Angelo Graziosi
2014-01-07 10:37 ` Git tips for Emacs development (was Re: Move to git is imminent - awaiting Stefan's approval) Nic Ferrier
2014-01-07 16:05 ` Eli Zaretskii
2014-01-07 12:27 ` Move to git is imminent - awaiting Stefan's approval Sven Axelsson
2014-01-07 14:41 ` Stephen Berman
2014-01-07 14:57 ` Andreas Schwab
2014-01-07 15:05 ` Stephen Berman
2014-01-07 16:25 ` Eli Zaretskii
2014-01-07 16:35 ` Andreas Schwab
2014-01-07 16:37 ` Angelo Graziosi
2014-01-07 16:41 ` Andreas Schwab
2014-01-07 17:08 ` Eli Zaretskii
2014-01-07 17:23 ` Óscar Fuentes
2014-01-07 17:56 ` Eli Zaretskii
2014-01-07 17:24 ` Stephen J. Turnbull
2014-01-07 18:05 ` Eli Zaretskii
2014-01-07 18:17 ` Sven Axelsson
2014-01-07 18:49 ` Stephen J. Turnbull
2014-01-07 19:06 ` Eli Zaretskii
2014-01-08 3:47 ` Stephen J. Turnbull
2014-01-08 15:23 ` Eli Zaretskii
2014-01-07 18:02 ` Thien-Thi Nguyen
2014-01-07 18:06 ` Sven Axelsson
2014-01-07 18:47 ` Andreas Schwab
2014-01-07 19:07 ` Sven Axelsson
2014-01-07 19:16 ` Eli Zaretskii
2014-01-08 3:52 ` Stephen J. Turnbull
2014-01-07 20:08 ` Angelo Graziosi
2014-01-08 17:32 ` Eli Zaretskii
2014-01-08 18:34 ` Andreas Schwab
2014-01-08 18:42 ` Eli Zaretskii
2014-01-08 21:59 ` Angelo Graziosi
2014-01-09 0:05 ` Stefan Monnier
2014-01-09 6:35 ` Eli Zaretskii
2014-01-12 6:27 ` Bob Proulx
2014-01-12 10:11 ` Andreas Schwab
2014-01-12 16:11 ` Eli Zaretskii
2014-01-12 17:09 ` Andreas Schwab
2014-01-12 17:41 ` Eli Zaretskii
2014-01-12 21:13 ` Bob Proulx
2014-01-12 21:24 ` Andreas Schwab
2014-01-13 3:07 ` Bob Proulx
2014-01-15 5:15 ` Bob Proulx
2014-01-12 10:29 ` Achim Gratz
2014-01-12 21:29 ` Bob Proulx
2014-01-12 16:07 ` Eli Zaretskii
2014-01-08 21:55 ` Angelo Graziosi
2014-01-09 19:44 ` Eli Zaretskii
2014-01-07 15:00 ` Angelo Graziosi
2014-01-07 16:17 ` Eli Zaretskii
2014-01-10 6:40 ` Antonio Nikishaev
2014-01-07 12:29 ` David Kastrup
2014-01-07 16:11 ` Eli Zaretskii
2014-01-07 13:37 ` Angelo Graziosi
2014-01-07 14:24 ` Andreas Schwab
2014-01-09 12:18 ` Angelo Graziosi
2014-01-07 16:14 ` Eli Zaretskii
2014-01-07 17:38 ` Rüdiger Sonderfeld
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.