all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Move to git is imminent - awaiting Stefan's approval
@ 2014-01-06 16:51 Eric S. Raymond
  2014-01-06 17:20 ` Jay Belanger
                   ` (4 more replies)
  0 siblings, 5 replies; 101+ messages in thread
From: Eric S. Raymond @ 2014-01-06 16:51 UTC (permalink / raw)
  To: emacs-devel

The thread on the git move proposal is showing signs of exhaustion and
terminal topic drift.  We can ask Karl Fogel for a poll count but I
think we all know how that would turn out; the pro-git vote has
been overwhelming.

I have asked Andreas Schwab and he reports the Savannah git mirror
ready for production use. Having examined it, I agree. Andreas and I
have discussed the switchover and believe it should consist of the
following steps:

1. Andreas will turn off bzr commit mirroring.

2. Andreas will enter a small documentation commit recording the changeover.

3. Andreas will announce on the dev list that the git repo is live for
   developer pushes.

4. I will do the work required to update /etc and /admin for git use
   over the following few days.

I am now recommending that Andreas perform steps 1-3 at his convenience, no
sooner than 2014-01-06T11:59:00  and no later than 2014-01-07T11:59:00 -
that is, sometime tomorrow.

Consideration of workflow changes is explicitly deferred. Developers
should continue writing ChangeLog entries as per established custom.

I want to extend a thank you to everyone who participated in the
debate, *including* the anti-git dissenters, for generally sticking to
real issues and maintaining civility.

Stefan, please either (a) confirm that you as the official maintainer
are authorizing this, or (b) put a hold on it and explain what 
additional steps or conditions you deem necessary before we move.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>

A ``decay in the social contract'' is detectable; there is a growing
feeling, particularly among middle-income taxpayers, that they are not
getting back, from society and government, their money's worth for
taxes paid. The tendency is for taxpayers to try to take more control
of their finances...	-- IRS Strategic Plan, (May 1984)



^ permalink raw reply	[flat|nested] 101+ messages in thread

* Re: Move to git is imminent - awaiting Stefan's approval
  2014-01-06 16:51 Eric S. Raymond
@ 2014-01-06 17:20 ` Jay Belanger
  2014-01-06 19:40   ` Eric S. Raymond
  2014-01-07 11:20   ` Stephen J. Turnbull
  2014-01-06 17:30 ` Eli Zaretskii
                   ` (3 subsequent siblings)
  4 siblings, 2 replies; 101+ messages in thread
From: Jay Belanger @ 2014-01-06 17:20 UTC (permalink / raw)
  To: emacs-devel; +Cc: jay.p.belanger


> 1. Andreas will turn off bzr commit mirroring.
>
> 2. Andreas will enter a small documentation commit recording the changeover.
>
> 3. Andreas will announce on the dev list that the git repo is live for
>    developer pushes.
>
> 4. I will do the work required to update /etc and /admin for git use
>    over the following few days.

When we changed to bzr, the "Bzr for Emacs Devs" page on the wiki
was invaluable.  For the changeover, could someone (please?) do
something similar for git? 

Thanks,
Jay



^ permalink raw reply	[flat|nested] 101+ messages in thread

* Re: Move to git is imminent - awaiting Stefan's approval
  2014-01-06 16:51 Eric S. Raymond
  2014-01-06 17:20 ` Jay Belanger
@ 2014-01-06 17:30 ` Eli Zaretskii
  2014-01-06 21:09   ` Stefan Monnier
  2014-01-06 17:40 ` Juanma Barranquero
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 101+ messages in thread
From: Eli Zaretskii @ 2014-01-06 17:30 UTC (permalink / raw)
  To: Eric S. Raymond; +Cc: emacs-devel

> From: esr@thyrsus.com (Eric S. Raymond)
> Date: Mon,  6 Jan 2014 11:51:08 -0500 (EST)
> 
> I have asked Andreas Schwab and he reports the Savannah git mirror
> ready for production use. Having examined it, I agree. Andreas and I
> have discussed the switchover and believe it should consist of the
> following steps:
> 
> 1. Andreas will turn off bzr commit mirroring.
> 
> 2. Andreas will enter a small documentation commit recording the changeover.
> 
> 3. Andreas will announce on the dev list that the git repo is live for
>    developer pushes.
> 
> 4. I will do the work required to update /etc and /admin for git use
>    over the following few days.
> 
> I am now recommending that Andreas perform steps 1-3 at his convenience, no
> sooner than 2014-01-06T11:59:00  and no later than 2014-01-07T11:59:00 -
> that is, sometime tomorrow.

The above is not enough.  I would suggest to have the following
additional steps, before the switch:

 5. Have the procedures and the recommended workflows described on the
    wiki, similar to what was done with bzr migration.

 6. Describe (and test if needed) the procedure for migrating local
    bzr branches into git without losing history (yes, I have a couple
    in the works), and describe that on the wiki as well.

 7. What about the mail messages to emacs-diffs mailing list?  That
    should be working as well, and support pushes to non-trunk
    branches.

 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.

I suggest to leave some time, certainly more than one day, for others
to come up with additional activities that need to be completed before
the switch.  I see no special reason to rush.



^ permalink raw reply	[flat|nested] 101+ messages in thread

* Re: Move to git is imminent - awaiting Stefan's approval
  2014-01-06 16:51 Eric S. Raymond
  2014-01-06 17:20 ` Jay Belanger
  2014-01-06 17:30 ` Eli Zaretskii
@ 2014-01-06 17:40 ` Juanma Barranquero
  2014-01-06 18:42   ` Bastien
                     ` (2 more replies)
  2014-01-07  2:48 ` joakim
  2014-01-15 17:23 ` Martin Geisler
  4 siblings, 3 replies; 101+ messages in thread
From: Juanma Barranquero @ 2014-01-06 17:40 UTC (permalink / raw)
  To: Eric S. Raymond; +Cc: Emacs developers

On Mon, Jan 6, 2014 at 5:51 PM, Eric S. Raymond <esr@thyrsus.com> wrote:

> I am now recommending that Andreas perform steps 1-3 at his convenience, no
> sooner than 2014-01-06T11:59:00  and no later than 2014-01-07T11:59:00 -
> that is, sometime tomorrow.

Why? Where's the hurry? We're in a freeze, we should be concentrating
on fixing bugs, not learning new ways and new procedures...

    J



^ permalink raw reply	[flat|nested] 101+ messages in thread

* RE: Move to git is imminent - awaiting Stefan's approval
       [not found] ` <<83zjn9rpaz.fsf@gnu.org>
@ 2014-01-06 17:41   ` Drew Adams
  2014-01-06 17:46     ` Eli Zaretskii
  0 siblings, 1 reply; 101+ messages in thread
From: Drew Adams @ 2014-01-06 17:41 UTC (permalink / raw)
  To: Eli Zaretskii, Eric S. Raymond; +Cc: emacs-devel

>  5. Have the procedures and the recommended workflows described on
>     the wiki, similar to what was done with bzr migration.

Only a wiki description?

Isn't there an Info manual for developing Emacs using its chosen dev
tools, procedures, guidelines, etc.?  If not, shouldn't there be?



^ permalink raw reply	[flat|nested] 101+ messages in thread

* Re: Move to git is imminent - awaiting Stefan's approval
  2014-01-06 17:41   ` Drew Adams
@ 2014-01-06 17:46     ` Eli Zaretskii
  0 siblings, 0 replies; 101+ messages in thread
From: Eli Zaretskii @ 2014-01-06 17:46 UTC (permalink / raw)
  To: Drew Adams; +Cc: esr, emacs-devel

> Date: Mon, 6 Jan 2014 09:41:25 -0800 (PST)
> From: Drew Adams <drew.adams@oracle.com>
> Cc: emacs-devel@gnu.org
> 
> >  5. Have the procedures and the recommended workflows described on
> >     the wiki, similar to what was done with bzr migration.
> 
> Only a wiki description?

That's what we have for bzr, so we should have at least that much.

> Isn't there an Info manual for developing Emacs using its chosen dev
> tools, procedures, guidelines, etc.?

No.

> If not, shouldn't there be?

It should.  And I also should have $5M on my bank account (it's New
year, right?).  But I don't, and we don't.  Volunteers are welcome
(for both jobs).



^ permalink raw reply	[flat|nested] 101+ messages in thread

* Re: Move to git is imminent - awaiting Stefan's approval
  2014-01-06 17:40 ` Juanma Barranquero
@ 2014-01-06 18:42   ` Bastien
  2014-01-06 19:06     ` Jarek Czekalski
  2014-01-06 19:37   ` Drew Adams
  2014-01-06 19:42   ` Eric S. Raymond
  2 siblings, 1 reply; 101+ messages in thread
From: Bastien @ 2014-01-06 18:42 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: Eric S. Raymond, Emacs developers

Juanma Barranquero <lekktu@gmail.com> writes:

> On Mon, Jan 6, 2014 at 5:51 PM, Eric S. Raymond <esr@thyrsus.com> wrote:
>
>> I am now recommending that Andreas perform steps 1-3 at his convenience, no
>> sooner than 2014-01-06T11:59:00  and no later than 2014-01-07T11:59:00 -
>> that is, sometime tomorrow.
>
> Why? Where's the hurry? We're in a freeze, we should be concentrating
> on fixing bugs, not learning new ways and new procedures...

Agreed.  The discussion itself has been distracting, even if useful.
Also, a more formal count would help to let those who are less vocal
express their views/vote.

PS: I appreciate Jordi's points and have been testing hg more lately,
so maybe my previous vote will be git-or-hg.  Need to test more.

-- 
 Bastien



^ permalink raw reply	[flat|nested] 101+ messages in thread

* Re: Move to git is imminent - awaiting Stefan's approval
  2014-01-06 18:42   ` Bastien
@ 2014-01-06 19:06     ` Jarek Czekalski
  0 siblings, 0 replies; 101+ messages in thread
From: Jarek Czekalski @ 2014-01-06 19:06 UTC (permalink / raw)
  To: Emacs-devel


W dniu 01/06/2014 07:42 PM, Bastien pisze:
> Agreed.  The discussion itself has been distracting, even if useful.
> Also, a more formal count would help to let those who are less vocal
> express their views/vote.

Sure, let's remember how this thread started. Karl Fogel wrote:
> I'm mainly posting
> this so there's a place for people to follow up to express their
> preference, so we can quickly get a sense of whether moving to git is
> the obvious call for the group as a whole, not just for those of us who
> have been been expressing that preference for some time.

Now Eric turns this thread into voting:
> We can ask Karl Fogel for a poll count but I
> think we all know how that would turn out; the pro-git vote has
> been overwhelming.

If the decision is to be made by a poll, I would like to know:
- who votes
- if not only admins, what are the final positions of the admins (each of
them)

Please give this info in a separate thread, that would be easy to catch.
Please add a vote "both are ok for me" to the poll

I would like to support admins with my vote, if it counts.

Thanks,
Jarek

PS. I have problems posting to devel, forgive me if this arrives twice.



--
View this message in context: http://emacs.1067599.n5.nabble.com/Move-to-git-is-imminent-awaiting-Stefan-s-approval-tp308660p308684.html
Sent from the Emacs - Dev mailing list archive at Nabble.com.



^ permalink raw reply	[flat|nested] 101+ messages in thread

* RE: Move to git is imminent - awaiting Stefan's approval
  2014-01-06 17:40 ` Juanma Barranquero
  2014-01-06 18:42   ` Bastien
@ 2014-01-06 19:37   ` Drew Adams
  2014-01-06 19:42   ` Eric S. Raymond
  2 siblings, 0 replies; 101+ messages in thread
From: Drew Adams @ 2014-01-06 19:37 UTC (permalink / raw)
  To: Juanma Barranquero, Eric S. Raymond; +Cc: Emacs developers

> > I am now recommending that Andreas perform steps 1-3 at his
> > convenience, no sooner than 2014-01-06T11:59:00  and no
> > later than 2014-01-07T11:59:00 - that is, sometime tomorrow.
> 
> Why?  Where's the hurry?  We're in a freeze, we should be
> concentrating on fixing bugs, not learning new ways and
> new procedures...

+1  Juanma gets the "Emperor's New Clothes" badge for pointing
    out something important that should be obvious but is
    seemingly ignored or overlooked.

    So much energy in this thread and its offshoots...
    So many 24.3.50 bugs...



^ permalink raw reply	[flat|nested] 101+ messages in thread

* Re: Move to git is imminent - awaiting Stefan's approval
  2014-01-06 17:20 ` Jay Belanger
@ 2014-01-06 19:40   ` Eric S. Raymond
  2014-01-07 15:57     ` Jay Belanger
  2014-01-07 11:20   ` Stephen J. Turnbull
  1 sibling, 1 reply; 101+ messages in thread
From: Eric S. Raymond @ 2014-01-06 19:40 UTC (permalink / raw)
  To: Jay Belanger; +Cc: emacs-devel

Jay Belanger <jay.p.belanger@gmail.com>:
> When we changed to bzr, the "Bzr for Emacs Devs" page on the wiki
> was invaluable.  For the changeover, could someone (please?) do
> something similar for git? 

I'll put that on my todo list.  But updating the in-tree stuff comes first.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



^ permalink raw reply	[flat|nested] 101+ messages in thread

* Re: Move to git is imminent - awaiting Stefan's approval
  2014-01-06 17:40 ` Juanma Barranquero
  2014-01-06 18:42   ` Bastien
  2014-01-06 19:37   ` Drew Adams
@ 2014-01-06 19:42   ` Eric S. Raymond
  2014-01-06 19:51     ` Drew Adams
                       ` (2 more replies)
  2 siblings, 3 replies; 101+ messages in thread
From: Eric S. Raymond @ 2014-01-06 19:42 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: Emacs developers

Juanma Barranquero <lekktu@gmail.com>:
> Why? Where's the hurry? We're in a freeze, we should be concentrating
> on fixing bugs, not learning new ways and new procedures...

This *is* fixing a bug.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



^ permalink raw reply	[flat|nested] 101+ messages in thread

* RE: Move to git is imminent - awaiting Stefan's approval
  2014-01-06 19:42   ` Eric S. Raymond
@ 2014-01-06 19:51     ` Drew Adams
  2014-01-06 20:25       ` Eric S. Raymond
  2014-01-06 20:28     ` Juanma Barranquero
  2014-01-07 11:24     ` Stephen J. Turnbull
  2 siblings, 1 reply; 101+ messages in thread
From: Drew Adams @ 2014-01-06 19:51 UTC (permalink / raw)
  To: esr, Juanma Barranquero; +Cc: Emacs developers

> > Why? Where's the hurry? We're in a freeze, we should be
> > concentrating on fixing bugs, not learning new ways and
> > new procedures...
> 
> This *is* fixing a bug.

It may be.  For Emacs 24.4?  What's the bug number, if so?

In any case, there are thousands of other bugs as well.
Is this one such a high priority for Emacs 24.4?



^ permalink raw reply	[flat|nested] 101+ messages in thread

* Re: Move to git is imminent - awaiting Stefan's approval
  2014-01-06 19:51     ` Drew Adams
@ 2014-01-06 20:25       ` Eric S. Raymond
  0 siblings, 0 replies; 101+ messages in thread
From: Eric S. Raymond @ 2014-01-06 20:25 UTC (permalink / raw)
  To: Drew Adams; +Cc: Juanma Barranquero, Emacs developers

Drew Adams <drew.adams@oracle.com>:
> In any case, there are thousands of other bugs as well.
> Is this one such a high priority for Emacs 24.4?

I think it is, and that's why I'm putting effort into it.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



^ permalink raw reply	[flat|nested] 101+ messages in thread

* Re: Move to git is imminent - awaiting Stefan's approval
  2014-01-06 19:42   ` Eric S. Raymond
  2014-01-06 19:51     ` Drew Adams
@ 2014-01-06 20:28     ` Juanma Barranquero
  2014-01-07 11:24     ` Stephen J. Turnbull
  2 siblings, 0 replies; 101+ messages in thread
From: Juanma Barranquero @ 2014-01-06 20:28 UTC (permalink / raw)
  To: Eric Raymond; +Cc: Emacs developers

On Mon, Jan 6, 2014 at 8:42 PM, Eric S. Raymond <esr@thyrsus.com> wrote:

> This *is* fixing a bug.

This is an *opinion*. Opinion are not bugs. They aren't even facts.

   J



^ permalink raw reply	[flat|nested] 101+ messages in thread

* Re: Move to git is imminent - awaiting Stefan's approval
  2014-01-06 17:30 ` Eli Zaretskii
@ 2014-01-06 21:09   ` Stefan Monnier
  2014-01-06 21:29     ` Óscar Fuentes
                       ` (3 more replies)
  0 siblings, 4 replies; 101+ messages in thread
From: Stefan Monnier @ 2014-01-06 21:09 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Eric S. Raymond, emacs-devel

> The above is not enough.  I would suggest to have the following
> additional steps, before the switch:

Sounds right.

I'd also like:

- Improve vc-git.el so that it can automatically enable smerge-mode when
  opening a conflicted file and (probably conditional on a config var)
  mark the file as "not conflicted any more" when saving with no
  remaining diff3 markers.
  This currently works in vc-bzr.el (and vc-svn.el as well, IIRC).

- Improve vc-git.el with vc-git-conflicted-files so that
  vc-find-conflicted-files works for Git as well.

- Release 24.4 (i.e. I'd rather not deal with the move before we
  release 24.4).

- The $5M mentioned by Eli sounds good as well.  Tho somehow I have the
  impression this isn't gonna happen.

> - He's not bringing any new argument that has not been discussed
> before; the only difference is that Richard and Stefan seem to accept
> now that Bazaar is beyond hope.

Side note: I've considered Bzr dead for a while now (hence the move to
Git for `elpa').  FWIW, my vote is on "have better things to do with my
time than worry about which VCS we use".
IOW the main change so far is that Richard does not insist on us using
Bzr any more.


        Stefan



^ permalink raw reply	[flat|nested] 101+ messages in thread

* Re: Move to git is imminent - awaiting Stefan's approval
  2014-01-06 21:09   ` Stefan Monnier
@ 2014-01-06 21:29     ` Óscar Fuentes
  2014-01-06 23:57       ` Stefan Monnier
  2014-01-07  0:17     ` Leo Liu
                       ` (2 subsequent siblings)
  3 siblings, 1 reply; 101+ messages in thread
From: Óscar Fuentes @ 2014-01-06 21:29 UTC (permalink / raw)
  To: emacs-devel

Stefan Monnier <monnier@iro.umontreal.ca> writes:

[snip]

> I'd also like:
>
> - Improve vc-git.el so that it can automatically enable smerge-mode when
>   opening a conflicted file

We discussed a patch for this. IIRC it had the inconvenience of
requiring two git calls for each file, although in theory it was
possible to cache the results for the entire tree.

>   and (probably conditional on a config var)
>   mark the file as "not conflicted any more" when saving with no
>   remaining diff3 markers.
>   This currently works in vc-bzr.el (and vc-svn.el as well, IIRC).

The config var is important.

Here, conflict is considered solved only after testing the changes (does
it compile? does it pass the regression tests?.)

[snip]




^ permalink raw reply	[flat|nested] 101+ messages in thread

* 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ messages in thread

* Re: Move to git is imminent - awaiting Stefan's approval
  2014-01-06 21:29     ` Óscar Fuentes
@ 2014-01-06 23:57       ` Stefan Monnier
  0 siblings, 0 replies; 101+ messages in thread
From: Stefan Monnier @ 2014-01-06 23:57 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

>> and (probably conditional on a config var)
[...]
> The config var is important.

I know some people are very ticklish about it, which is why I mentioned
the config var.  I think the default should be to have the feature
enabled.

> Here, conflict is considered solved only after testing the changes (does
> it compile? does it pass the regression tests?.)

When Git resolves concurrent changes automatically, it doesn't mark the
file as "there was an unchecked change in here", so for the same reason
I think the default behavior of vc-git + smerge-mode should be to remove
the "conflicted" mark on files after the user has removed all
diff3 markers.


        Stefan



^ permalink raw reply	[flat|nested] 101+ messages in thread

* Re: Move to git is imminent - awaiting Stefan's approval
  2014-01-06 21:09   ` Stefan Monnier
  2014-01-06 21:29     ` Óscar Fuentes
@ 2014-01-07  0:17     ` Leo Liu
  2014-01-07  5:24     ` Thierry Volpiatto
  2014-01-08 21:12     ` Barry Warsaw
  3 siblings, 0 replies; 101+ messages in thread
From: Leo Liu @ 2014-01-07  0:17 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

On 2014-01-07 05:09 +0800, Stefan Monnier wrote:
> FWIW, my vote is on "have better things to do with my time than worry
> about which VCS we use".

Pragmatism triumphs ;)

Leo



^ permalink raw reply	[flat|nested] 101+ messages in thread

* Re: Move to git is imminent - awaiting Stefan's approval
  2014-01-06 16:51 Eric S. Raymond
                   ` (2 preceding siblings ...)
  2014-01-06 17:40 ` Juanma Barranquero
@ 2014-01-07  2:48 ` joakim
  2014-01-07 10:03   ` Andreas Schwab
  2014-01-15 17:23 ` Martin Geisler
  4 siblings, 1 reply; 101+ messages in thread
From: joakim @ 2014-01-07  2:48 UTC (permalink / raw)
  To: Eric S. Raymond; +Cc: emacs-devel

esr@thyrsus.com (Eric S. Raymond) writes:

> The thread on the git move proposal is showing signs of exhaustion and
> terminal topic drift.  We can ask Karl Fogel for a poll count but I
> think we all know how that would turn out; the pro-git vote has
> been overwhelming.
>
> I have asked Andreas Schwab and he reports the Savannah git mirror
> ready for production use. Having examined it, I agree. Andreas and I
> have discussed the switchover and believe it should consist of the
> following steps:
>
> 1. Andreas will turn off bzr commit mirroring.
>
> 2. Andreas will enter a small documentation commit recording the changeover.
>
> 3. Andreas will announce on the dev list that the git repo is live for
>    developer pushes.
>
> 4. I will do the work required to update /etc and /admin for git use
>    over the following few days.
>

What about branches? I have a long-lived branch in the bzr repo.

In my case I can just drop the branch and make a new git repo, but I
think we need a statement on branch handling nevertheless.


> I am now recommending that Andreas perform steps 1-3 at his convenience, no
> sooner than 2014-01-06T11:59:00  and no later than 2014-01-07T11:59:00 -
> that is, sometime tomorrow.
>
> Consideration of workflow changes is explicitly deferred. Developers
> should continue writing ChangeLog entries as per established custom.
>
> I want to extend a thank you to everyone who participated in the
> debate, *including* the anti-git dissenters, for generally sticking to
> real issues and maintaining civility.
>
> Stefan, please either (a) confirm that you as the official maintainer
> are authorizing this, or (b) put a hold on it and explain what 
> additional steps or conditions you deem necessary before we move.

-- 
Joakim Verona



^ permalink raw reply	[flat|nested] 101+ messages in thread

* Re: Move to git is imminent - awaiting Stefan's approval
  2014-01-06 21:09   ` Stefan Monnier
  2014-01-06 21:29     ` Óscar Fuentes
  2014-01-07  0:17     ` Leo Liu
@ 2014-01-07  5:24     ` Thierry Volpiatto
  2014-01-07 13:45       ` Stefan Monnier
  2014-01-08 21:12     ` Barry Warsaw
  3 siblings, 1 reply; 101+ messages in thread
From: Thierry Volpiatto @ 2014-01-07  5:24 UTC (permalink / raw)
  To: emacs-devel

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>> The above is not enough.  I would suggest to have the following
>> additional steps, before the switch:
>
> Sounds right.
>
> I'd also like:
>
> - Improve vc-git.el so that it can automatically enable smerge-mode when
>   opening a conflicted file and (probably conditional on a config var)
>   mark the file as "not conflicted any more" when saving with no
>   remaining diff3 markers.
>   This currently works in vc-bzr.el (and vc-svn.el as well, IIRC).
>
> - Improve vc-git.el with vc-git-conflicted-files so that
>   vc-find-conflicted-files works for Git as well.

You can use git-mergetool with ediff-merge for this.

http://stackoverflow.com/questions/1817370/using-ediff-as-git-mergetool

When git fail to merge and signal a conflict, run git-mergetool in e.g
eshell will bring you a new frame with ediff-merge to resolve the
conflict manually, always worked fine for me.

-- 
Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997 




^ permalink raw reply	[flat|nested] 101+ messages in thread

* Re: Move to git is imminent - awaiting Stefan's approval
  2014-01-07  2:48 ` joakim
@ 2014-01-07 10:03   ` Andreas Schwab
  2014-01-07 10:08     ` joakim
  0 siblings, 1 reply; 101+ messages in thread
From: Andreas Schwab @ 2014-01-07 10:03 UTC (permalink / raw)
  To: joakim; +Cc: Eric S. Raymond, emacs-devel

joakim@verona.se writes:

> What about branches? I have a long-lived branch in the bzr repo.

All branches are carried over.

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] 101+ messages in thread

* Re: Move to git is imminent - awaiting Stefan's approval
  2014-01-07 10:03   ` Andreas Schwab
@ 2014-01-07 10:08     ` joakim
  0 siblings, 0 replies; 101+ messages in thread
From: joakim @ 2014-01-07 10:08 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: Eric S. Raymond, emacs-devel

Andreas Schwab <schwab@suse.de> writes:

> joakim@verona.se writes:
>
>> What about branches? I have a long-lived branch in the bzr repo.
>
> All branches are carried over.

Fantastic!

> Andreas.

-- 
Joakim Verona



^ permalink raw reply	[flat|nested] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ messages in thread

* Re: Move to git is imminent - awaiting Stefan's approval
  2014-01-06 17:20 ` Jay Belanger
  2014-01-06 19:40   ` Eric S. Raymond
@ 2014-01-07 11:20   ` Stephen J. Turnbull
  2014-01-07 11:26     ` Eric S. Raymond
  1 sibling, 1 reply; 101+ messages in thread
From: Stephen J. Turnbull @ 2014-01-07 11:20 UTC (permalink / raw)
  To: jay.p.belanger; +Cc: emacs-devel

Jay Belanger writes:

 > When we changed to bzr, the "Bzr for Emacs Devs" page on the wiki
 > was invaluable.  For the changeover, could someone (please?) do
 > something similar for git? 

http://www.python.org/dev/peps/pep-0374/ is a start.





^ permalink raw reply	[flat|nested] 101+ messages in thread

* Re: Move to git is imminent - awaiting Stefan's approval
  2014-01-06 19:42   ` Eric S. Raymond
  2014-01-06 19:51     ` Drew Adams
  2014-01-06 20:28     ` Juanma Barranquero
@ 2014-01-07 11:24     ` Stephen J. Turnbull
  2 siblings, 0 replies; 101+ messages in thread
From: Stephen J. Turnbull @ 2014-01-07 11:24 UTC (permalink / raw)
  To: esr; +Cc: Emacs developers

Eric S. Raymond writes:

 > This *is* fixing a bug.
 > -- 
 > 		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>

Nonsense.  It can and should wait for the release to be complete.  It
would be different if Emacs released from a branch rather than the
trunk, but it doesn't.




^ permalink raw reply	[flat|nested] 101+ messages in thread

* Re: Move to git is imminent - awaiting Stefan's approval
  2014-01-07 11:20   ` Stephen J. Turnbull
@ 2014-01-07 11:26     ` Eric S. Raymond
  0 siblings, 0 replies; 101+ messages in thread
From: Eric S. Raymond @ 2014-01-07 11:26 UTC (permalink / raw)
  To: Stephen J. Turnbull; +Cc: jay.p.belanger, emacs-devel

Stephen J. Turnbull <stephen@xemacs.org>:
> Jay Belanger writes:
> 
>  > When we changed to bzr, the "Bzr for Emacs Devs" page on the wiki
>  > was invaluable.  For the changeover, could someone (please?) do
>  > something similar for git? 
> 
> http://www.python.org/dev/peps/pep-0374/ is a start.

I'm working this problem, which is why I've been quiet the last day.

Results to be announced shortly.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



^ permalink raw reply	[flat|nested] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ messages in thread

* Re: Move to git is imminent - awaiting Stefan's approval
  2014-01-07  5:24     ` Thierry Volpiatto
@ 2014-01-07 13:45       ` Stefan Monnier
  2014-01-07 16:22         ` Eli Zaretskii
  0 siblings, 1 reply; 101+ messages in thread
From: Stefan Monnier @ 2014-01-07 13:45 UTC (permalink / raw)
  To: Thierry Volpiatto; +Cc: emacs-devel

> You can use git-mergetool with ediff-merge for this.

I find ediff too heavy, so it would have to be smerge-mode instead.

But, while I'd be happy to take patches to better support git-mergetool
(if needed), I prefer using the vc-find-conflicted-files workflow.
It could probably run git-mergetool internally.


        Stefan



^ permalink raw reply	[flat|nested] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ messages in thread

* Re: Move to git is imminent - awaiting Stefan's approval
  2014-01-06 19:40   ` Eric S. Raymond
@ 2014-01-07 15:57     ` Jay Belanger
  0 siblings, 0 replies; 101+ messages in thread
From: Jay Belanger @ 2014-01-07 15:57 UTC (permalink / raw)
  To: Eric S. Raymond; +Cc: jay.p.belanger, emacs-devel


>> When we changed to bzr, the "Bzr for Emacs Devs" page on the wiki
>> was invaluable.  For the changeover, could someone (please?) do
>> something similar for git? 
>
> I'll put that on my todo list.  But updating the in-tree stuff comes first.

Thanks, and of course.



^ permalink raw reply	[flat|nested] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ messages in thread

* Re: Move to git is imminent - awaiting Stefan's approval
  2014-01-07 13:45       ` Stefan Monnier
@ 2014-01-07 16:22         ` Eli Zaretskii
  0 siblings, 0 replies; 101+ messages in thread
From: Eli Zaretskii @ 2014-01-07 16:22 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel, thierry.volpiatto

> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Date: Tue, 07 Jan 2014 08:45:47 -0500
> Cc: emacs-devel@gnu.org
> 
> while I'd be happy to take patches to better support git-mergetool
> (if needed), I prefer using the vc-find-conflicted-files workflow.

Same here.  It's so dead easy that it's hard to beat: just visit the
offending file (which is automatically put in SMerge mode), edit to
resolve the conflict and remove the conflict markers, then save -- and
the VC back-end will automatically do whatever it takes to finish
conflict resolution.



^ permalink raw reply	[flat|nested] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ messages in thread

* Re: Move to git is imminent - awaiting Stefan's approval
  2014-01-06 21:09   ` Stefan Monnier
                       ` (2 preceding siblings ...)
  2014-01-07  5:24     ` Thierry Volpiatto
@ 2014-01-08 21:12     ` Barry Warsaw
  2014-01-09  0:04       ` Stefan Monnier
  3 siblings, 1 reply; 101+ messages in thread
From: Barry Warsaw @ 2014-01-08 21:12 UTC (permalink / raw)
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 480 bytes --]

On Jan 06, 2014, at 04:09 PM, Stefan Monnier wrote:

>- Improve vc-git.el so that it can automatically enable smerge-mode when
>  opening a conflicted file and (probably conditional on a config var)
>  mark the file as "not conflicted any more" when saving with no
>  remaining diff3 markers.
>  This currently works in vc-bzr.el (and vc-svn.el as well, IIRC).

Yes please!  It's one huge feature I'm missing when working in git repos as
opposed to bzr repos.

-Barry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ messages in thread

* Re: Move to git is imminent - awaiting Stefan's approval
  2014-01-08 21:12     ` Barry Warsaw
@ 2014-01-09  0:04       ` Stefan Monnier
  2014-01-09  6:32         ` Eli Zaretskii
  0 siblings, 1 reply; 101+ messages in thread
From: Stefan Monnier @ 2014-01-09  0:04 UTC (permalink / raw)
  To: Barry Warsaw; +Cc: emacs-devel

> Yes please!  It's one huge feature I'm missing when working in git repos as
> opposed to bzr repos.

I'm so glad to see people like it!


        Stefan "who had no idea!"



^ permalink raw reply	[flat|nested] 101+ 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; 101+ 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] 101+ messages in thread

* Re: Move to git is imminent - awaiting Stefan's approval
  2014-01-09  0:04       ` Stefan Monnier
@ 2014-01-09  6:32         ` Eli Zaretskii
  2014-01-09  7:32           ` David Engster
  2014-01-09  9:46           ` Juanma Barranquero
  0 siblings, 2 replies; 101+ messages in thread
From: Eli Zaretskii @ 2014-01-09  6:32 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: barry, emacs-devel

> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Date: Wed, 08 Jan 2014 19:04:34 -0500
> Cc: emacs-devel@gnu.org
> 
> > Yes please!  It's one huge feature I'm missing when working in git repos as
> > opposed to bzr repos.
> 
> I'm so glad to see people like it!

Count me in as well.  Great feature, indeed: seamless, does it job
silently and well.  When I first saw it, and "bzr conflicts" suddenly
said nothing at all after saving a fixed file, it was one of those WTF
moments.



^ permalink raw reply	[flat|nested] 101+ 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; 101+ 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] 101+ messages in thread

* Re: Move to git is imminent - awaiting Stefan's approval
  2014-01-09  6:32         ` Eli Zaretskii
@ 2014-01-09  7:32           ` David Engster
  2014-01-09  9:46           ` Juanma Barranquero
  1 sibling, 0 replies; 101+ messages in thread
From: David Engster @ 2014-01-09  7:32 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: barry, Stefan Monnier, emacs-devel

Eli Zaretskii writes:
>> From: Stefan Monnier <monnier@iro.umontreal.ca>
>> Date: Wed, 08 Jan 2014 19:04:34 -0500
>> Cc: emacs-devel@gnu.org
>> 
>> > Yes please!  It's one huge feature I'm missing when working in git repos as
>> > opposed to bzr repos.
>> 
>> I'm so glad to see people like it!
>
> Count me in as well.  Great feature, indeed: seamless, does it job
> silently and well.  When I first saw it, and "bzr conflicts" suddenly
> said nothing at all after saving a fixed file, it was one of those WTF
> moments.

I always thought it was a Bazaar feature...

-David



^ permalink raw reply	[flat|nested] 101+ messages in thread

* Re: Move to git is imminent - awaiting Stefan's approval
  2014-01-09  6:32         ` Eli Zaretskii
  2014-01-09  7:32           ` David Engster
@ 2014-01-09  9:46           ` Juanma Barranquero
  1 sibling, 0 replies; 101+ messages in thread
From: Juanma Barranquero @ 2014-01-09  9:46 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Barry Warsaw, Stefan Monnier, Emacs developers

On Thu, Jan 9, 2014 at 7:32 AM, Eli Zaretskii <eliz@gnu.org> wrote:

> Great feature, indeed: seamless, does it job
> silently and well.  When I first saw it, and "bzr conflicts" suddenly
> said nothing at all after saving a fixed file, it was one of those WTF
> moments.

My thoughts exactly.

    J



^ permalink raw reply	[flat|nested] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ 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; 101+ 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] 101+ messages in thread

* Re: Move to git is imminent - awaiting Stefan's approval
  2014-01-06 16:51 Eric S. Raymond
                   ` (3 preceding siblings ...)
  2014-01-07  2:48 ` joakim
@ 2014-01-15 17:23 ` Martin Geisler
  2014-01-15 18:39   ` Stefan Monnier
  2014-01-16  1:40   ` Yuri Khan
  4 siblings, 2 replies; 101+ messages in thread
From: Martin Geisler @ 2014-01-15 17:23 UTC (permalink / raw)
  To: emacs-devel

Eric S. Raymond <esr <at> thyrsus.com> writes:

> 
> The thread on the git move proposal is showing signs of exhaustion and
> terminal topic drift.  We can ask Karl Fogel for a poll count but I
> think we all know how that would turn out; the pro-git vote has
> been overwhelming.

I'm a Mercurial developer, but I wish you luck on the transition! In any
community, people should use the tool they like best and feel most
productive with.

However, let me just add that Facebook recently announced that they're
switching from Subversion to Mercurial after evaluating the performance of
Git. Their conclusion was that Git could not be improved as easily as
Mercurial so they went ahead and made Mercurial fast for their infrastructure:

  https://code.facebook.com/posts/218678814984400/scaling-mercurial-at-facebook/

Also, I would like to hear what graphical tools people use with Git that
matches the cross-platform TortoiseHg tool? It is invaluable in showing the
DAG and quickly browsing revisions:

  http://tortoisehg.bitbucket.org/screenshots.html

(The screenshots are mostly from Windows, but I use it daily on Linux.)

-- 
Martin Geisler




^ permalink raw reply	[flat|nested] 101+ messages in thread

* Re: Move to git is imminent - awaiting Stefan's approval
  2014-01-15 17:23 ` Martin Geisler
@ 2014-01-15 18:39   ` Stefan Monnier
  2014-01-15 22:57     ` Martin Geisler
  2014-01-16  1:40   ` Yuri Khan
  1 sibling, 1 reply; 101+ messages in thread
From: Stefan Monnier @ 2014-01-15 18:39 UTC (permalink / raw)
  To: Martin Geisler; +Cc: emacs-devel

> Also, I would like to hear what graphical tools people use with Git that

You do realize you're talking to "emacs-devel", right?


        Stefan ;-)



^ permalink raw reply	[flat|nested] 101+ messages in thread

* Re: Move to git is imminent - awaiting Stefan's approval
  2014-01-15 18:39   ` Stefan Monnier
@ 2014-01-15 22:57     ` Martin Geisler
  2014-01-15 23:53       ` Stefan Monnier
  2014-01-16 12:25       ` Rüdiger Sonderfeld
  0 siblings, 2 replies; 101+ messages in thread
From: Martin Geisler @ 2014-01-15 22:57 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>> Also, I would like to hear what graphical tools people use with Git that
>
> You do realize you're talking to "emacs-devel", right?

Heh, yeah :) I use Emacs and I always use it in X11, so it's a graphical
tool for me.

When I started with Git, the first thing I wondered was where all the
nice graphical tools were and that prompted my question. I don't need a
graphical tool for making commits, but I much prefer a graphical tool
for running annotate and for browsing the history.

-- 
Martin Geisler



^ permalink raw reply	[flat|nested] 101+ messages in thread

* Re: Move to git is imminent - awaiting Stefan's approval
  2014-01-15 22:57     ` Martin Geisler
@ 2014-01-15 23:53       ` Stefan Monnier
  2014-01-16 12:25       ` Rüdiger Sonderfeld
  1 sibling, 0 replies; 101+ messages in thread
From: Stefan Monnier @ 2014-01-15 23:53 UTC (permalink / raw)
  To: Martin Geisler; +Cc: emacs-devel

>>> Also, I would like to hear what graphical tools people use with Git that
>> You do realize you're talking to "emacs-devel", right?
> Heh, yeah :) I use Emacs and I always use it in X11, so it's a graphical
> tool for me.

Exactly, so you have the answer: "people" use Emacs for that.


        Stefan



^ permalink raw reply	[flat|nested] 101+ messages in thread

* Re: Move to git is imminent - awaiting Stefan's approval
  2014-01-15 17:23 ` Martin Geisler
  2014-01-15 18:39   ` Stefan Monnier
@ 2014-01-16  1:40   ` Yuri Khan
  1 sibling, 0 replies; 101+ messages in thread
From: Yuri Khan @ 2014-01-16  1:40 UTC (permalink / raw)
  To: Martin Geisler; +Cc: Emacs developers

On Thu, Jan 16, 2014 at 12:23 AM, Martin Geisler <martin@geisler.net> wrote:
>
> Also, I would like to hear what graphical tools people use with Git that
> matches the cross-platform TortoiseHg tool? It is invaluable in showing the
> DAG and quickly browsing revisions:

I use Git GUI and Gitk, which are included out-of-the-box in Windows
and are in separate packages on Debian/Ubuntu. Gitk is for browsing
the DAG (incl. filters by various conditions, e.g. only revisions
which modify a given file) and manipulating branches (branch, reset,
cherry-pick) while Git GUI is a commit tool (good for selective
staging).

Git GUI can also act as a frontend to git blame (when invoked as git
gui blame <filename>), but I usually just use vc-annotate from Emacs
for this.



^ permalink raw reply	[flat|nested] 101+ messages in thread

* Re: Move to git is imminent - awaiting Stefan's approval
  2014-01-15 22:57     ` Martin Geisler
  2014-01-15 23:53       ` Stefan Monnier
@ 2014-01-16 12:25       ` Rüdiger Sonderfeld
  1 sibling, 0 replies; 101+ messages in thread
From: Rüdiger Sonderfeld @ 2014-01-16 12:25 UTC (permalink / raw)
  To: emacs-devel; +Cc: Martin Geisler, Stefan Monnier

On Wednesday 15 January 2014 16:57:56 Martin Geisler wrote:
> Stefan Monnier <monnier@iro.umontreal.ca> writes:
> >> Also, I would like to hear what graphical tools people use with Git that
> > 
> > You do realize you're talking to "emacs-devel", right?
> 
> Heh, yeah :) I use Emacs and I always use it in X11, so it's a graphical
> tool for me.
> 
> When I started with Git, the first thing I wondered was where all the
> nice graphical tools were and that prompted my question. I don't need a
> graphical tool for making commits, but I much prefer a graphical tool
> for running annotate and for browsing the history.

Magit is probably one of the most popular tools for using git in GNU Emacs.  
It is very nice to use and frequently seems to be the envy from users of other  
editors and users of other version control systems.  And honestly I never saw 
a better integration of a version control system into an editor myself.

(And not to forget vc.el which is shipped with GNU Emacs and provides a nice 
interface to all kinds of version control systems, including git and hg.)

Regards,
Rüdiger




^ permalink raw reply	[flat|nested] 101+ messages in thread

end of thread, other threads:[~2014-01-16 12:25 UTC | newest]

Thread overview: 101+ 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
     [not found] <<20140106165108.B6BF4380865@snark.thyrsus.com>
     [not found] ` <<83zjn9rpaz.fsf@gnu.org>
2014-01-06 17:41   ` Drew Adams
2014-01-06 17:46     ` Eli Zaretskii
  -- strict thread matches above, loose matches on Subject: below --
2014-01-06 16:51 Eric S. Raymond
2014-01-06 17:20 ` Jay Belanger
2014-01-06 19:40   ` Eric S. Raymond
2014-01-07 15:57     ` Jay Belanger
2014-01-07 11:20   ` Stephen J. Turnbull
2014-01-07 11:26     ` Eric S. Raymond
2014-01-06 17:30 ` Eli Zaretskii
2014-01-06 21:09   ` Stefan Monnier
2014-01-06 21:29     ` Óscar Fuentes
2014-01-06 23:57       ` Stefan Monnier
2014-01-07  0:17     ` Leo Liu
2014-01-07  5:24     ` Thierry Volpiatto
2014-01-07 13:45       ` Stefan Monnier
2014-01-07 16:22         ` Eli Zaretskii
2014-01-08 21:12     ` Barry Warsaw
2014-01-09  0:04       ` Stefan Monnier
2014-01-09  6:32         ` Eli Zaretskii
2014-01-09  7:32           ` David Engster
2014-01-09  9:46           ` Juanma Barranquero
2014-01-06 17:40 ` Juanma Barranquero
2014-01-06 18:42   ` Bastien
2014-01-06 19:06     ` Jarek Czekalski
2014-01-06 19:37   ` Drew Adams
2014-01-06 19:42   ` Eric S. Raymond
2014-01-06 19:51     ` Drew Adams
2014-01-06 20:25       ` Eric S. Raymond
2014-01-06 20:28     ` Juanma Barranquero
2014-01-07 11:24     ` Stephen J. Turnbull
2014-01-07  2:48 ` joakim
2014-01-07 10:03   ` Andreas Schwab
2014-01-07 10:08     ` joakim
2014-01-15 17:23 ` Martin Geisler
2014-01-15 18:39   ` Stefan Monnier
2014-01-15 22:57     ` Martin Geisler
2014-01-15 23:53       ` Stefan Monnier
2014-01-16 12:25       ` Rüdiger Sonderfeld
2014-01-16  1:40   ` Yuri Khan

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.