all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: David Kastrup <dak@gnu.org>
To: emacs-devel@gnu.org
Subject: Re: preferring mercurial
Date: Sat, 11 Jan 2014 17:37:00 +0100	[thread overview]
Message-ID: <8738kuh3v7.fsf@fencepost.gnu.org> (raw)
In-Reply-To: 871u0efr7p.fsf@uwakimon.sk.tsukuba.ac.jp

"Stephen J. Turnbull" <stephen@xemacs.org> writes:

> Jordi Gutiérrez Hermoso writes:
>
>  > In hg the problem is much easier to solve without server-side access:
>  > just push another commit closing-branch commit on the extra head that
>  > you don't want to keep working on.
>
> You don't seem to understand what the problem is.  Consider an hg repo
> with 100 bookmarks, all of which suddenly point to completely
> different places -- or worse, places that at a glance look like where
> you should be but in fact are different.  Now figure out how to
> re-associate the 100 bookmarks with the correct dangling heads.  Why
> is this easier in hg than it would be in git?
>
>  > > Unfortunately, no.  The actual behavior of hg is indeed immediately
>  > > destructive in some cases, unlike git.
>  > 
>  > git has immediately destructive operations too, for example the
>  > "git reset HEAD --hard" that everyone blindly memorises (who really
>  > can keep all of the kinds of resets straight?)
>
> I haven't had any trouble. <shrug/>
>
>  > will destroy all unstaged changes.
>
> Indeed.  But unstaged changes aren't history yet, by definition.  (And
> in git staged changes are: there will be objects to match in the object
> database.)

Well, if they have not entered the reflog yet, they will be pretty hard
to dig up.  It's like handing someone a disk and saying "don't worry,
all the data is still there, only the inodes have been lost".

If we are talking about something like a private Bitcoin key (small and
very precious, hopefully identifiable), digging for it will be worth the
cost.

> DAK has threatened to contribute patches to git.

Oh, I did in the past speed up the diffing algorithm and made it use
less memory, so it's not an idle threat.

With regard to my threat of working on "git blame", I've got non-working
code doing most of the part.  I have just decided that the whole
algorithm does the wrong things in the wrong order, so fixing the
"remaining" bugs will lead to badly maintainable code of the "don't
touch this, it seems to work right now" variety.

So I am doing the core algorithm and data structures from scratch, and
that takes longer.

The problem is to stop somewhere before I rewrite all of git's
library...  But then I suffer from the "I can do better than _that_"
phenomenon pretty much every time I look too close at software written
by somebody else.  And if you don't manage to keep yourself confined to
messing with about a man*month's worth of messy code, you don't get
anywhere...

-- 
David Kastrup




  reply	other threads:[~2014-01-11 16:37 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-09 12:35 preferring mercurial Neal Becker
2014-01-09 13:11 ` Tim Visher
2014-01-09 13:53   ` Neal Becker
2014-01-09 13:44 ` Rüdiger Sonderfeld
2014-01-09 14:49   ` François Orieux
2014-01-09 17:31     ` Stephen J. Turnbull
2014-01-10  9:54       ` François Orieux
2014-01-10 11:48         ` Nathan Trapuzzano
2014-01-10 12:44           ` Stephen J. Turnbull
2014-01-10 11:50         ` Stephen J. Turnbull
2014-01-10 13:59         ` Stefan Monnier
2014-01-10 14:08           ` Eric S. Raymond
2014-01-10 15:22             ` Jordi Gutiérrez Hermoso
2014-01-10 15:55               ` Eric S. Raymond
2014-01-10 16:09                 ` Jordi Gutiérrez Hermoso
2014-01-10 16:21                 ` Eli Zaretskii
2014-01-11  7:15                   ` Richard Stallman
2014-01-10 15:03       ` Jordi Gutiérrez Hermoso
2014-01-10 19:20         ` Stephen J. Turnbull
2014-01-10 19:54           ` David Engster
2014-01-10 19:55           ` Jordi Gutiérrez Hermoso
2014-01-11 15:55             ` Stephen J. Turnbull
2014-01-11 16:37               ` David Kastrup [this message]
2014-01-15 17:07       ` Martin Geisler
2014-01-15 16:49   ` Martin Geisler
2014-01-09 15:42 ` Yuri Khan
2014-01-10 15:16   ` Jordi Gutiérrez Hermoso
2014-01-09 20:28 ` Barry Warsaw

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8738kuh3v7.fsf@fencepost.gnu.org \
    --to=dak@gnu.org \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.