From: Andreas Ericsson <ae@op5.se>
To: Paul Jakma <paul@clubi.ie>
Cc: git list <git@vger.kernel.org>
Subject: Re: impure renames / history tracking
Date: Thu, 02 Mar 2006 23:06:00 +0100 [thread overview]
Message-ID: <44076C48.7010207@op5.se> (raw)
In-Reply-To: <Pine.LNX.4.64.0603012129310.13612@sheen.jakma.org>
Paul Jakma wrote:
> On Wed, 1 Mar 2006, Andreas Ericsson wrote:
>
>> It's completely impossible to fold *ALL* the history into a single
>> commit, and since you want heuristics I would imagine you wouldn't
>> want that either.
>
>
> I want to know whether additional meta-data to help the existing
> heuristics would be acceptable. From a discussion on #git yesterday I
> gather the best way forward would to be to first prototype something
> keeping state in a file in .git.
>
> All that's needed really is something that relates the following 3 things:
>
> commit-id obj1-id obj2-id
>
> Ie: For <commit-id>, <obj1-id> is similar to <obj2-id>.
>
> Maintaining this state could be done via the git-mv/rename wrappers and
> an additional git-edit wrapper. Those who are quite happy with the
> existing diff-input only similarity heuristics wouldn't have to bother
> using a git-edit wrapper obviously, those who want to let git gather
> additional 'similarity hint' in this way could.
>
> Aside:
>
> Git might be easier to extend generally if it adopted just /one/ new
> core header, say "see-also" - that could serve as a pointer to arbitrary
> commit-related meta-info objects that aren't of immediate interest to
> either:
>
> a) core git
>
> or
>
> b) the user
>
Things that aren't of interest to either core git or the user is already
handled properly. It's called "cruft". ;)
However, I see what you're trying for here. Something like the X-*
headers inside a mailer. Not all MUA's understand them, but if they do
they can make use of them to the users benefit.
> Format:
>
> see-also <word> <obj-id>
>
> E.g.:
>
> see-also similars <obj-id>
>
> Where <obj-id> would list the 'commit obj1 obj2', but just as:
>
> obj1 obj2
>
> Would ultimately be neater than fishing around in .git/, and would allow
> other extensions in the future too.
>
> The <word> identifier preferably would need to be centrally co-ordinated.
>
With X-* headers I don't see why it should have to be. Only the X-* part
is mentioned in the RFC, so with a proper format Junio won't have to
coordinate cross-SCM tools, git-tortoise, etc, etc...
>> I'm confused. First you say you want to have one single mega-patch for
>> each commit, then you say you want to be able to follow history back.
>> It's like deciding to throw away your wallet and then trying to get
>> someone to pick it up and carry it around for you.
>
>
> I'm not sure why think mega-patch. Collapsing a bunch of commits related
> to one project need not result in a big patch relative to the repository
> as a whole.
>
Mainly I think it's because you mentioned several renames of a single
file and many files renamed + rewritten (beyond gits current ability of
recognizing it). That's definitely a mega-patch in my book.
> Where the project concerned is like BSD, not
> just a kernel but a complete userland (so 1.1GB of source code).
>
<just curious>
Such a large project surely must be split in several smaller
sub-projects? GNU is, after all, several small (and not so small)
components. X works the same way. Linux is a large project, but each
compartment of code can be managed on its own, so long as they adhere to
the ABI hooking them back in to the kernel core.
</just curious>
--
Andreas Ericsson andreas.ericsson@op5.se
OP5 AB www.op5.se
Tel: +46 8-230225 Fax: +46 8-230231
next prev parent reply other threads:[~2006-03-02 22:06 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-01 14:01 impure renames / history tracking Paul Jakma
2006-03-01 15:38 ` Andreas Ericsson
2006-03-01 16:27 ` Paul Jakma
2006-03-01 17:13 ` Linus Torvalds
2006-03-01 18:50 ` Paul Jakma
2006-03-01 17:43 ` Andreas Ericsson
2006-03-02 21:10 ` Paul Jakma
2006-03-02 22:06 ` Andreas Ericsson [this message]
2006-03-01 18:05 ` Martin Langhoff
2006-03-01 19:13 ` Paul Jakma
2006-03-01 19:56 ` Junio C Hamano
2006-03-01 21:25 ` Paul Jakma
2006-03-01 22:12 ` Andreas Ericsson
2006-03-01 22:28 ` Paul Jakma
2006-03-01 22:46 ` Junio C Hamano
-- strict thread matches above, loose matches on Subject: below --
2006-03-02 22:24 linux
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=44076C48.7010207@op5.se \
--to=ae@op5.se \
--cc=git@vger.kernel.org \
--cc=paul@clubi.ie \
/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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).