linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Is there an recommended way to refer to bitkeepr commits?
@ 2017-05-10 22:04 Eric W. Biederman
  2017-05-11  0:47 ` Linus Torvalds
  0 siblings, 1 reply; 15+ messages in thread
From: Eric W. Biederman @ 2017-05-10 22:04 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Al Viro, Thomas Gleixner, Oleg Nesterov, linux-kernel


(Apologies resent as I forgot to include linux-kernel when I sent this
 the first time)
 
I am in the process of digging through the intersection of threads,
signals, ptrace, and exec and I am encountering bugs that predate
2.6.12-rc2 the first version in our current git tree.  I am trying
to figure out what to put in the fixes tag so that someone else
can find the commits.

I have an old tree that appears to be no longer available on kernel.org
that has all of the commits from the bit keeper era as well as the
annotations indicating the bit keeper revisions those commits came from.

Thomas Gleixner appears to have a tree with all of those same commits
except with the BKrev tags stripped out.

While reading through the post 2.6.12-rc2 commits I ran into a commit
from I think Linus that references what I believe was a pre 2.6.12-rc2
with what looked like a truncated sha1 hash.  There title of the
commit/patch was no included and the sha1 was not in any tree that I
have so I didn't know how to follow that reference.  I wish I had saved
off which commit that was so I could make this description more
concrete.

I was thinking of referring to the old commit that was broken as:
Fixes: BKrev: 3e8e57a1JvR25MkFRNzoz85l2Gzccg ("[PATCH] linux-2.5.66-signal-cleanup.patch")

With no trees that have a BKrev in them publicly available it doesn't
look like anyone will be able to find that code.  It use a git sha1 hash
we would need a standard tree that we can reference and we don't appear
to have that either.

Is there any plan or standard recommendation on how handle bitkeeper era
commits?  Was there something sane and it was not properly restored
after the kernel.org break-in?

Eric

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

* Re: Is there an recommended way to refer to bitkeepr commits?
  2017-05-10 22:04 Is there an recommended way to refer to bitkeepr commits? Eric W. Biederman
@ 2017-05-11  0:47 ` Linus Torvalds
  2017-05-11  6:59   ` Michael Ellerman
  0 siblings, 1 reply; 15+ messages in thread
From: Linus Torvalds @ 2017-05-11  0:47 UTC (permalink / raw)
  To: Eric W. Biederman
  Cc: Al Viro, Thomas Gleixner, Oleg Nesterov, Linux Kernel Mailing List

On Wed, May 10, 2017 at 3:04 PM, Eric W. Biederman
<ebiederm@xmission.com> wrote:
>
> Thomas Gleixner appears to have a tree with all of those same commits
> except with the BKrev tags stripped out.

That's the best import - so use that tree by Thomas, and just use the
git revision numbers in it (and say "tglx's linux-history tree" or
something).

             Linus

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

* Re: Is there an recommended way to refer to bitkeepr commits?
  2017-05-11  0:47 ` Linus Torvalds
@ 2017-05-11  6:59   ` Michael Ellerman
  2017-05-11 16:12     ` Rob Landley
  0 siblings, 1 reply; 15+ messages in thread
From: Michael Ellerman @ 2017-05-11  6:59 UTC (permalink / raw)
  To: Linus Torvalds, Eric W. Biederman
  Cc: Al Viro, Thomas Gleixner, Oleg Nesterov, Linux Kernel Mailing List, rob

Linus Torvalds <torvalds@linux-foundation.org> writes:

> On Wed, May 10, 2017 at 3:04 PM, Eric W. Biederman
> <ebiederm@xmission.com> wrote:
>>
>> Thomas Gleixner appears to have a tree with all of those same commits
>> except with the BKrev tags stripped out.
>
> That's the best import - so use that tree by Thomas, and just use the
> git revision numbers in it (and say "tglx's linux-history tree" or
> something).

I've been using this one by Rob Landley which seems good:

https://landley.net/kdocs/fullhist/

It's grafted into the modern history so you can search seamlessly
between the two which is pretty nice. I don't see any Bitkeeper tags
though.

cheers

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

* Re: Is there an recommended way to refer to bitkeepr commits?
  2017-05-11  6:59   ` Michael Ellerman
@ 2017-05-11 16:12     ` Rob Landley
  2017-05-12  1:50       ` Michael Ellerman
  0 siblings, 1 reply; 15+ messages in thread
From: Rob Landley @ 2017-05-11 16:12 UTC (permalink / raw)
  To: Michael Ellerman, Linus Torvalds, Eric W. Biederman
  Cc: Al Viro, Thomas Gleixner, Oleg Nesterov, Linux Kernel Mailing List

On 05/11/2017 01:59 AM, Michael Ellerman wrote:
> Linus Torvalds <torvalds@linux-foundation.org> writes:
> 
>> On Wed, May 10, 2017 at 3:04 PM, Eric W. Biederman
>> <ebiederm@xmission.com> wrote:
>>>
>>> Thomas Gleixner appears to have a tree with all of those same commits
>>> except with the BKrev tags stripped out.
>>
>> That's the best import - so use that tree by Thomas, and just use the
>> git revision numbers in it (and say "tglx's linux-history tree" or
>> something).
> 
> I've been using this one by Rob Landley which seems good:
> 
> https://landley.net/kdocs/fullhist/
>
> It's grafted into the modern history so you can search seamlessly
> between the two which is pretty nice. I don't see any Bitkeeper tags
> though.

I went through and found/tagged the major old releases, did I forget to
upload a new tarball after that?

v0.0.1 cff5a6fb66765e90470f4d9ca2398da0ca3c75d5
v1.0.0 a068026b4a060e822892a64d5107fb58c45743ef
v1.2.0 8610c92442d125f165dc84e4a96f5cbc9b240484
v2.0.0 a374953c636bd91ea40b2d1e31af5405b90e8bf8
v2.2.0 bf330b5e3c471d0b67737c4822b0174ef4f89bed
v2.4.0 13a80dffb74939e292b6e90e5d79dd26d577489f
v2.6.0 4e9b4bc7a660962ae5f04f939469263b91cf95c2

Rob

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

* Re: Is there an recommended way to refer to bitkeepr commits?
  2017-05-11 16:12     ` Rob Landley
@ 2017-05-12  1:50       ` Michael Ellerman
  2017-05-12  7:43         ` Thomas Gleixner
  0 siblings, 1 reply; 15+ messages in thread
From: Michael Ellerman @ 2017-05-12  1:50 UTC (permalink / raw)
  To: Rob Landley, Linus Torvalds, Eric W. Biederman
  Cc: Al Viro, Thomas Gleixner, Oleg Nesterov, Linux Kernel Mailing List

Rob Landley <rob@landley.net> writes:

> On 05/11/2017 01:59 AM, Michael Ellerman wrote:
>> Linus Torvalds <torvalds@linux-foundation.org> writes:
>> 
>>> On Wed, May 10, 2017 at 3:04 PM, Eric W. Biederman
>>> <ebiederm@xmission.com> wrote:
>>>>
>>>> Thomas Gleixner appears to have a tree with all of those same commits
>>>> except with the BKrev tags stripped out.
>>>
>>> That's the best import - so use that tree by Thomas, and just use the
>>> git revision numbers in it (and say "tglx's linux-history tree" or
>>> something).
>> 
>> I've been using this one by Rob Landley which seems good:
>> 
>> https://landley.net/kdocs/fullhist/
>>
>> It's grafted into the modern history so you can search seamlessly
>> between the two which is pretty nice. I don't see any Bitkeeper tags
>> though.
>
> I went through and found/tagged the major old releases, did I forget to
> upload a new tarball after that?

No you didn't forget, I see several:

  refs/tags/v1.2.0
  refs/tags/v2.6.0
  refs/tags/v4.5-rc3
  refs/tags/v2.4.0
  refs/tags/v1.0.0
  refs/tags/v2.2.0
  refs/tags/v2.0.0
  refs/tags/v4.5-rc4
  refs/tags/v4.5-rc5
  refs/tags/v4.5-rc2
  refs/tags/v0.0.1
  refs/tags/v4.5-rc1


But in the original mail Eric was wanting to refer to a specific
Bitkeeper revision using the BK revision id, eg:

  Fixes: BKrev: 3e8e57a1JvR25MkFRNzoz85l2Gzccg ("[PATCH] linux-2.5.66-signal-cleanup.patch")

In your tree that is c3c107051660 ("[PATCH] linux-2.5.66-signal-cleanup.patch"),
but you don't have the 3e8e57a1JvR25MkFRNzoz85l2Gzccg revision recorded
anywhere that I can see.

cheers

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

* Re: Is there an recommended way to refer to bitkeepr commits?
  2017-05-12  1:50       ` Michael Ellerman
@ 2017-05-12  7:43         ` Thomas Gleixner
  2017-05-12 14:45           ` Eric W. Biederman
  2017-05-12 16:46           ` Linus Torvalds
  0 siblings, 2 replies; 15+ messages in thread
From: Thomas Gleixner @ 2017-05-12  7:43 UTC (permalink / raw)
  To: Michael Ellerman
  Cc: Rob Landley, Linus Torvalds, Eric W. Biederman, Al Viro,
	Oleg Nesterov, Linux Kernel Mailing List

On Fri, 12 May 2017, Michael Ellerman wrote:
>   Fixes: BKrev: 3e8e57a1JvR25MkFRNzoz85l2Gzccg ("[PATCH] linux-2.5.66-signal-cleanup.patch")
> 
> In your tree that is c3c107051660 ("[PATCH] linux-2.5.66-signal-cleanup.patch"),
> but you don't have the 3e8e57a1JvR25MkFRNzoz85l2Gzccg revision recorded
> anywhere that I can see.

That's correct. I did not include the BK revisions when I imported the
commits into the history git. I did not see any reason to do so. I still
have no idea what the value would have been or why anyone wants to
reference them at all.

Thanks,

	tglx

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

* Re: Is there an recommended way to refer to bitkeepr commits?
  2017-05-12  7:43         ` Thomas Gleixner
@ 2017-05-12 14:45           ` Eric W. Biederman
  2017-05-12 16:30             ` Rob Landley
  2017-05-12 16:46           ` Linus Torvalds
  1 sibling, 1 reply; 15+ messages in thread
From: Eric W. Biederman @ 2017-05-12 14:45 UTC (permalink / raw)
  To: Thomas Gleixner
  Cc: Michael Ellerman, Rob Landley, Linus Torvalds, Al Viro,
	Oleg Nesterov, Linux Kernel Mailing List

Thomas Gleixner <tglx@linutronix.de> writes:

> On Fri, 12 May 2017, Michael Ellerman wrote:
>>   Fixes: BKrev: 3e8e57a1JvR25MkFRNzoz85l2Gzccg ("[PATCH] linux-2.5.66-signal-cleanup.patch")
>> 
>> In your tree that is c3c107051660 ("[PATCH] linux-2.5.66-signal-cleanup.patch"),
>> but you don't have the 3e8e57a1JvR25MkFRNzoz85l2Gzccg revision recorded
>> anywhere that I can see.
>
> That's correct. I did not include the BK revisions when I imported the
> commits into the history git. I did not see any reason to do so. I still
> have no idea what the value would have been or why anyone wants to
> reference them at all.

Thomas your import seems to be significantly better than the one I got
my hands on years ago.

I just know that if were to do something similar today we would really
want to preserve the existing git sha1 hashes somewhere because we
refer to commits everywhere in the code.  So I was imagining that
bitkeeper would be similar.  Especially since the copy of the bitkeeper
import into git had appened to each commit a BKrev which I presume
tacked back to the original source.

If everyone who had imported the bitkeepr tree had done that it would
not have mattered which bitkeeper import you were using they would all
share a common identifier for commits.  With that absent the robustness
we have to allow looking things up in an alternate tree lies solely
with the one line patch description.

Compare the quotes lines above with what I have below.  Every tree
appears to have a different identifier.

Below is what I wound up doing, and have queued for the next merge
window.  Comments?

Eric


From: "Eric W. Biederman" <ebiederm@xmission.com>
Date: Tue, 9 May 2017 19:54:27 -0500
Subject: [PATCH] signal: Do not perform permission checks when sending pdeath_signal

This fixes and old old regression.  When Roland switched from
sending pdeath_signal with send_sig() to send_group_sig_info
it gained a permission check, and started taking the tasklist
lock.  Roland earlier fixed the double taking of the tasklist
lock in 3f2a0d1df938 ("[PATCH] fix pdeath_signal SMP locking")
but pdeath_signal still performs an unnecessary permission
check.

Ordinarily I would be hesitant at fixing an ancient regression but
a permission check for our parent sending to us is almost never
likely to fail (so it is unlikely anyone has noticed), and it
is stupid.  It makes absolutely no sense to see if our
parent has permission to send us a signal we requested be
sent to us.

As this is more permisssive there is no chance anything will break.
The information of if our parent is living is available elsewhere
getppid, tkill, and proc with no special permissions so this should
not be an information leak.

See https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git/
for the bitkeeper era history that I refer to.

Fixes: da334d91ff70 ("[PATCH] linux-2.5.66-signal-cleanup.patch")
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
---
 kernel/exit.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/exit.c b/kernel/exit.c
index e126ebf2400c..6cf1f52faf5c 100644
--- a/kernel/exit.c
+++ b/kernel/exit.c
@@ -693,8 +693,8 @@ static void forget_original_parent(struct task_struct *father,
 			if (likely(!t->ptrace))
 				t->parent = t->real_parent;
 			if (t->pdeath_signal)
-				group_send_sig_info(t->pdeath_signal,
-						    SEND_SIG_NOINFO, t);
+				do_send_sig_info(t->pdeath_signal,
+						 SEND_SIG_NOINFO, t, true);
 		}
 		/*
 		 * If this is a threaded reparent there is no need to
-- 
2.10.1

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

* Re: Is there an recommended way to refer to bitkeepr commits?
  2017-05-12 14:45           ` Eric W. Biederman
@ 2017-05-12 16:30             ` Rob Landley
  2017-05-12 17:49               ` Andreas Schwab
  2017-05-13  4:11               ` Eric W. Biederman
  0 siblings, 2 replies; 15+ messages in thread
From: Rob Landley @ 2017-05-12 16:30 UTC (permalink / raw)
  To: Eric W. Biederman, Thomas Gleixner
  Cc: Michael Ellerman, Linus Torvalds, Al Viro, Oleg Nesterov,
	Linux Kernel Mailing List

On 05/12/2017 09:45 AM, Eric W. Biederman wrote:
> Thomas Gleixner <tglx@linutronix.de> writes:
> 
>> On Fri, 12 May 2017, Michael Ellerman wrote:
>>>   Fixes: BKrev: 3e8e57a1JvR25MkFRNzoz85l2Gzccg ("[PATCH] linux-2.5.66-signal-cleanup.patch")
>>>
>>> In your tree that is c3c107051660 ("[PATCH] linux-2.5.66-signal-cleanup.patch"),
>>> but you don't have the 3e8e57a1JvR25MkFRNzoz85l2Gzccg revision recorded
>>> anywhere that I can see.
>>
>> That's correct. I did not include the BK revisions when I imported the
>> commits into the history git. I did not see any reason to do so. I still
>> have no idea what the value would have been or why anyone wants to
>> reference them at all.
> 
> Thomas your import seems to be significantly better than the one I got
> my hands on years ago.
> 
> I just know that if were to do something similar today we would really
> want to preserve the existing git sha1 hashes somewhere because we
> refer to commits everywhere in the code.

Which is why the https://landley.net/kdocs/fullhist tree uses "git
graft", so the git commit numbers are the same.

As Yoann Padioleau said:

> It's built from 3 other git repositories:
>  - the one from Dave Jones from 0.01 to 2.4.0,
>  - the one from tglx from 2.4.0 to 2.6.12,
>  - the one from Linus Torvalds from 2.6.12 to now.

And the hashes in his tree were the same as in each of those trees, all
three of which are on git.kernel.org. If you "git pull" the fullhist
tree to current, it still uses the same hashes today. (I think you can
still reproduce it localy using his scripts, which I mirrored. You'll
have to manually re-tag those old commits from last message, and reset
the "upstream" to pull current from.)

Last I checked I couldn't just "git push" the fullhist tree to
git.kernel.org because git graft didn't propagate right. I had to start
people from a tarball. Local clones doing the hardlink thing worked fine
though. (Maybe that's changed?)

> So I was imagining that bitkeeper would be similar.

When Larry flounced and people lost access to the bitkeeper tool they
lost access to read the old data, so what the bitkeeper numbers were
became irrelevant. That's why nobody's cared before now.

You're looking for a consistent way to refer to old commits, even using
bitkeeper numbers wouldn't fully solve that problem (it only goes back
to 2.4). Between the dave jones and tglx trees, there's complete
coverage back to 0.0.1. Yoann stitched them together, and I've kept a
current version. I used to host it on kernel.org/doc until
http://lkml.iu.edu/hypermail/linux/kernel/1411.3/04693.html happened,
they've since deleted it but it's GPL so anybody who wants to host a
mirror... :)

I'm traveling and not downloading a gigabyte through my phone tether
(darn tmobile 4 gig monthly tethering limit) but the date on the
https://landley.net/kdocs/local/linux-fullhist.tar.bz2
tarball is February 2016 so I'm pretty sure that's 4.0 with the old
major releases tagged (ala last email). Anybody who wants to mirror it
somewhere more official (and presumably .xz instead of .bz2) is welcome to.

(I would if I still had rsync access to kernel.org/doc, but alas I can't
even get them to link kernel.org/doc/Documentation from the page above
it. It used to, they accidentally deleted it, and nobody maintains the
page anymore...)

> Especially since the copy of the bitkeeper
> import into git had appened to each commit a BKrev which I presume
> tacked back to the original source.
> 
> If everyone who had imported the bitkeepr tree had done that it would
> not have mattered which bitkeeper import you were using they would all
> share a common identifier for commits.  With that absent the robustness
> we have to allow looking things up in an alternate tree lies solely
> with the one line patch description.
> 
> Compare the quotes lines above with what I have below.  Every tree
> appears to have a different identifier.

The commits in the fullhist tree have been stable since at least
https://lwn.net/Articles/285366/ which was June 6, 2008. It's derived
from earlier trees with the same commits, and kept those commit hashes.

> Below is what I wound up doing, and have queued for the next merge
> window.  Comments?

I've bisected or used the "git annotate... git annotate HASH^1... git
annotate NEXTHASH^1..." peeling trick back to some really old commits
over the years, which I've then referred to by submitter and date if it
wasn't in the current git tree.

I'll happily give people hashes out of the fullhist tree if they ask,
but haven't assumed they're using it. But if you're looking for an
existing standard, this exists and predates my use of it.

> Eric

Rob

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

* Re: Is there an recommended way to refer to bitkeepr commits?
  2017-05-12  7:43         ` Thomas Gleixner
  2017-05-12 14:45           ` Eric W. Biederman
@ 2017-05-12 16:46           ` Linus Torvalds
  1 sibling, 0 replies; 15+ messages in thread
From: Linus Torvalds @ 2017-05-12 16:46 UTC (permalink / raw)
  To: Thomas Gleixner
  Cc: Michael Ellerman, Rob Landley, Eric W. Biederman, Al Viro,
	Oleg Nesterov, Linux Kernel Mailing List

On Fri, May 12, 2017 at 12:43 AM, Thomas Gleixner <tglx@linutronix.de> wrote:
>
> That's correct. I did not include the BK revisions when I imported the
> commits into the history git. I did not see any reason to do so. I still
> have no idea what the value would have been or why anyone wants to
> reference them at all.

The bitkeeper hashed revision numbers were almost entirely useless, to
the point where most BK users never really knew about them.

The revision numbers that people *saw* were the nasty horribly
sequential-tree ones that are fundamentally broken, and that change
when you merge (eg things like "1.56.3.2"). That's what people
actually *used*, and saw in the logs, and were aware of. People used
them too much, in fact, exactly because people who came from other
environments thought that they were the revision numbers, and couldn't
understand that they weren't stable.

Nobody ever used the "true" hashes, except in scripts.

So exposing them would have been ridiculous. Even most BK users would
just have been confused by the line noise.

                   Linus

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

* Re: Is there an recommended way to refer to bitkeepr commits?
  2017-05-12 16:30             ` Rob Landley
@ 2017-05-12 17:49               ` Andreas Schwab
  2017-05-13 17:26                 ` Rob Landley
  2017-05-13  4:11               ` Eric W. Biederman
  1 sibling, 1 reply; 15+ messages in thread
From: Andreas Schwab @ 2017-05-12 17:49 UTC (permalink / raw)
  To: Rob Landley
  Cc: Eric W. Biederman, Thomas Gleixner, Michael Ellerman,
	Linus Torvalds, Al Viro, Oleg Nesterov,
	Linux Kernel Mailing List

On Mai 12 2017, Rob Landley <rob@landley.net> wrote:

> Last I checked I couldn't just "git push" the fullhist tree to
> git.kernel.org because git graft didn't propagate right.

Perhaps you could recreate them with git replace --graft.  That creates
replace objects that can be pushed and fetched.  (They are stored in
refs/replace, and must be pushed/fetched explicitly.)

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

* Re: Is there an recommended way to refer to bitkeepr commits?
  2017-05-12 16:30             ` Rob Landley
  2017-05-12 17:49               ` Andreas Schwab
@ 2017-05-13  4:11               ` Eric W. Biederman
  2017-05-13  9:35                 ` Thomas Gleixner
  1 sibling, 1 reply; 15+ messages in thread
From: Eric W. Biederman @ 2017-05-13  4:11 UTC (permalink / raw)
  To: Rob Landley
  Cc: Thomas Gleixner, Michael Ellerman, Linus Torvalds, Al Viro,
	Oleg Nesterov, Linux Kernel Mailing List

Rob Landley <rob@landley.net> writes:

> On 05/12/2017 09:45 AM, Eric W. Biederman wrote:
>> Thomas Gleixner <tglx@linutronix.de> writes:
>> 
>>> On Fri, 12 May 2017, Michael Ellerman wrote:
>>>>   Fixes: BKrev: 3e8e57a1JvR25MkFRNzoz85l2Gzccg ("[PATCH] linux-2.5.66-signal-cleanup.patch")
>>>>
>>>> In your tree that is c3c107051660 ("[PATCH] linux-2.5.66-signal-cleanup.patch"),
>>>> but you don't have the 3e8e57a1JvR25MkFRNzoz85l2Gzccg revision recorded
>>>> anywhere that I can see.
>>>
>>> That's correct. I did not include the BK revisions when I imported the
>>> commits into the history git. I did not see any reason to do so. I still
>>> have no idea what the value would have been or why anyone wants to
>>> reference them at all.
>> 
>> Thomas your import seems to be significantly better than the one I got
>> my hands on years ago.
>> 
>> I just know that if were to do something similar today we would really
>> want to preserve the existing git sha1 hashes somewhere because we
>> refer to commits everywhere in the code.
>
> Which is why the https://landley.net/kdocs/fullhist tree uses "git
> graft", so the git commit numbers are the same.
>
> As Yoann Padioleau said:
>
>> It's built from 3 other git repositories:
>>  - the one from Dave Jones from 0.01 to 2.4.0,
>>  - the one from tglx from 2.4.0 to 2.6.12,
>>  - the one from Linus Torvalds from 2.6.12 to now.
>
> And the hashes in his tree were the same as in each of those trees, all
> three of which are on git.kernel.org. If you "git pull" the fullhist
> tree to current, it still uses the same hashes today. (I think you can
> still reproduce it localy using his scripts, which I mirrored. You'll
> have to manually re-tag those old commits from last message, and reset
> the "upstream" to pull current from.)

Which leaves me perplexed.  The hashes from tglx's current tree:
https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git
on kernel.org and the hashes in your full history tree differ.
Given that they are in theory the same tree this distrubs me.

Case in point in the commit connected to:
"[PATCH] linux-2.5.66-signal-cleanup.patch"
in tglx's tree is:       da334d91ff7001d234863fc7692de1ff90bed57a
in the fullhist tree is: c3c107051660455a3e1ea3bde0278a75a0dc11e7

>> Compare the quotes lines above with what I have below.  Every tree
>> appears to have a different identifier.
>
> The commits in the fullhist tree have been stable since at least
> https://lwn.net/Articles/285366/ which was June 6, 2008. It's derived
> from earlier trees with the same commits, and kept those commit
> hashes.

*scratches my head*

Something appears to have changed somewhere.

Eric

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

* Re: Is there an recommended way to refer to bitkeepr commits?
  2017-05-13  4:11               ` Eric W. Biederman
@ 2017-05-13  9:35                 ` Thomas Gleixner
  2017-05-13 17:17                   ` Rob Landley
  0 siblings, 1 reply; 15+ messages in thread
From: Thomas Gleixner @ 2017-05-13  9:35 UTC (permalink / raw)
  To: Eric W. Biederman
  Cc: Rob Landley, Michael Ellerman, Linus Torvalds, Al Viro,
	Oleg Nesterov, Linux Kernel Mailing List

On Fri, 12 May 2017, Eric W. Biederman wrote:
> Which leaves me perplexed.  The hashes from tglx's current tree:
> https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git
> on kernel.org and the hashes in your full history tree differ.
> Given that they are in theory the same tree this distrubs me.
> 
> Case in point in the commit connected to:
> "[PATCH] linux-2.5.66-signal-cleanup.patch"
> in tglx's tree is:       da334d91ff7001d234863fc7692de1ff90bed57a

That's the proper sha1 for my tree. I jsut verified it against the original
tree which I still have in my archive.

> *scratches my head*
> 
> Something appears to have changed somewhere.

Correct. That full history git rewrote the commits in my bitkeeper import.

history.git:

  commit 7a2deb32924142696b8174cdf9b38cd72a11fc96
  Author: Linus Torvalds <torvalds@athlon.transmeta.com>
  Date:   Mon Feb 4 17:40:40 2002 -0800

    Import changeset

full-history:

  commit 26245c315da55330cb25dbfdd80be62db41dedb2
  Author: linus1 <torvalds@athlon.transmeta.com>
  Date:   Thu Jan 4 12:00:00 2001 -0600

    Import changeset

and as a consequence all other commits have different shas as well.

Sigh....

Thanks,

	tglx

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

* Re: Is there an recommended way to refer to bitkeepr commits?
  2017-05-13  9:35                 ` Thomas Gleixner
@ 2017-05-13 17:17                   ` Rob Landley
  0 siblings, 0 replies; 15+ messages in thread
From: Rob Landley @ 2017-05-13 17:17 UTC (permalink / raw)
  To: Thomas Gleixner, Eric W. Biederman
  Cc: Michael Ellerman, Linus Torvalds, Al Viro, Oleg Nesterov,
	Linux Kernel Mailing List

On 05/13/2017 04:35 AM, Thomas Gleixner wrote:
> On Fri, 12 May 2017, Eric W. Biederman wrote:
>> Which leaves me perplexed.  The hashes from tglx's current tree:
>> https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git
>> on kernel.org and the hashes in your full history tree differ.
>> Given that they are in theory the same tree this distrubs me.

The original build script used to make fullhist is at:

  http://landley.net/kdocs/fullhist/make-full-linux-history.tgz

And his original description of what he did and why is at:

  https://lwn.net/Articles/285366/

He mentioned something about rewriting dates?

  I used the "graft" feature of git (thanks to Junio and people
  on #git for the tip) to link them together. I also modified
  (via a git-filter-branch) the dates of some commits as for
  instance all commits from the Dave Jones's repo had the
  same date (23 Nov 2007). For this I mainly used the timestamp info
  of files on kernel.org. The script and info I used are also
  available on my website[2].

(I tried to read his conversion plumbing but it's in ocaml.)

Apparently he only considered the git commits in Linus's tree to be
worth preserving. I'd forgotten that part. (It was 9 years ago. I
remembered the pre-bitkeeper tree got edited but I forgot the other one
did too.)

>> Case in point in the commit connected to:
>> "[PATCH] linux-2.5.66-signal-cleanup.patch"
>> in tglx's tree is:       da334d91ff7001d234863fc7692de1ff90bed57a
> 
> That's the proper sha1 for my tree. I jsut verified it against the original
> tree which I still have in my archive.
> 
>> *scratches my head*
>>
>> Something appears to have changed somewhere.
> 
> Correct. That full history git rewrote the commits in my bitkeeper import.

I only checked that the current ones in Linus's tree were the same.
Nobody'd ever pointed me at a file hash in your conversion of bitkeeper
to git, so over the years I forgot that the date editing extended into
bitkeeper for some reason.

> history.git:
> 
>   commit 7a2deb32924142696b8174cdf9b38cd72a11fc96
>   Author: Linus Torvalds <torvalds@athlon.transmeta.com>
>   Date:   Mon Feb 4 17:40:40 2002 -0800
> 
>     Import changeset

February 4, 2002.

> full-history:
> 
>   commit 26245c315da55330cb25dbfdd80be62db41dedb2
>   Author: linus1 <torvalds@athlon.transmeta.com>
>   Date:   Thu Jan 4 12:00:00 2001 -0600
> 
>     Import changeset

January 4, 2001.

According to https://www.kernel.org/pub/linux/kernel/v2.4/ January 4
2001 is when 2.4.0 was released. So yes, it looks like he rewrote these
dates to be correct.

I see what he did. Linus started his bitkeeper tree by importing 2.4.0
and then applying a year's worth of release diffs from 2.4.0 as
individual commits. That year+ worth of work was all dated February 4,
2002 in the repo, so the fullhist script went through and changed the
dates on those commits to match the release tarballs for those kernel
versions, and that changed the hashes in the rest of the history tree.

Upside, there's no longer a year+ hole in the commit dates (which makes
looking up associated mailing list posts a lot easier). Downside: this
changed the history.git commit hashes for the rest of that era. (I'd
missed that.)

> and as a consequence all other commits have different shas as well.

The most embarassing part is that the ocaml plumbing appears to
occasionally leak host context when doing the conversion, specifically
from "git log 26245c315da5" (checking to make sure the fullhist tree's
dates make sense in context) I get:

commit 26245c315da55330cb25dbfdd80be62db41dedb2
Author: linus1 <torvalds@athlon.transmeta.com>
Date:   Thu Jan 4 12:00:00 2001 -0600

    Import changeset

commit 13a80dffb74939e292b6e90e5d79dd26d577489f
Author: linus1 <landley@driftwood.(none)>
Date:   Thu Jan 4 12:00:00 2001 -0600

    add prerelease patch to get a 2.4.0

commit 4c5b4d50bb08753433f5962bd926198fe2b7105d
Author: linus1 <torvalds@linuxfoundation.org>
Date:   Sun Dec 31 12:00:00 2000 -0600

That landley@driftood should not be there. Sigh.

I guess the question is which is more broken? I linked the build scripts
above if somebody else wants to modify or rerun them, but... lithp. Do
you prefer a year gap in the archive dates, or do you prefer to call the
history.git hashes cannonical?

Rob

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

* Re: Is there an recommended way to refer to bitkeepr commits?
  2017-05-12 17:49               ` Andreas Schwab
@ 2017-05-13 17:26                 ` Rob Landley
  2017-05-13 19:38                   ` Andreas Schwab
  0 siblings, 1 reply; 15+ messages in thread
From: Rob Landley @ 2017-05-13 17:26 UTC (permalink / raw)
  To: Andreas Schwab
  Cc: Eric W. Biederman, Thomas Gleixner, Michael Ellerman,
	Linus Torvalds, Al Viro, Oleg Nesterov,
	Linux Kernel Mailing List

On 05/12/2017 12:49 PM, Andreas Schwab wrote:
> On Mai 12 2017, Rob Landley <rob@landley.net> wrote:
> 
>> Last I checked I couldn't just "git push" the fullhist tree to
>> git.kernel.org because git graft didn't propagate right.
> 
> Perhaps you could recreate them with git replace --graft.  That creates
> replace objects that can be pushed and fetched.  (They are stored in
> refs/replace, and must be pushed/fetched explicitly.)

It's the "must be pushed/fetched explicitly" part that I couldn't figure
out back when I tried it.

I inherited this tree from somebody who made it. I noticed its existence
because lwn.net covered it, and then 6 months later it had vanished
without trace (as so many things do). I reproduced it from the build
script (if you can't reproduce the experiment from initial starting
conditions, it's not science), went "look, cool thing", and hosted a
copy with an occasional repaint.

I would be _thrilled_ to hand it off to somebody who knows what they're
doing with git. I'm just unusually interested in computer history and
the preservation thereof. (https://landley.net/history/mirror).

Rob

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

* Re: Is there an recommended way to refer to bitkeepr commits?
  2017-05-13 17:26                 ` Rob Landley
@ 2017-05-13 19:38                   ` Andreas Schwab
  0 siblings, 0 replies; 15+ messages in thread
From: Andreas Schwab @ 2017-05-13 19:38 UTC (permalink / raw)
  To: Rob Landley
  Cc: Eric W. Biederman, Thomas Gleixner, Michael Ellerman,
	Linus Torvalds, Al Viro, Oleg Nesterov,
	Linux Kernel Mailing List

On Mai 13 2017, Rob Landley <rob@landley.net> wrote:

> It's the "must be pushed/fetched explicitly" part that I couldn't figure
> out back when I tried it.

You have to use refs/replace/*:refs/replace/* as the refspec for push
and fetch.  By default, push and fetch only look at refs/heads/*.

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

end of thread, other threads:[~2017-05-13 19:38 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-10 22:04 Is there an recommended way to refer to bitkeepr commits? Eric W. Biederman
2017-05-11  0:47 ` Linus Torvalds
2017-05-11  6:59   ` Michael Ellerman
2017-05-11 16:12     ` Rob Landley
2017-05-12  1:50       ` Michael Ellerman
2017-05-12  7:43         ` Thomas Gleixner
2017-05-12 14:45           ` Eric W. Biederman
2017-05-12 16:30             ` Rob Landley
2017-05-12 17:49               ` Andreas Schwab
2017-05-13 17:26                 ` Rob Landley
2017-05-13 19:38                   ` Andreas Schwab
2017-05-13  4:11               ` Eric W. Biederman
2017-05-13  9:35                 ` Thomas Gleixner
2017-05-13 17:17                   ` Rob Landley
2017-05-12 16:46           ` Linus Torvalds

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).