Re: impure renames / history tracking

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Paul Jakma
Date: Wednesday, March 1, 2006 - 11:50 am

Hi Linus,

On Wed, 1 Mar 2006, Linus Torvalds wrote:


I'm willing to take that argument to the 'project' concerned, I just 
need to be pretty sure of it.


Yes, in that model it is. This interestingly, is not the BK model, I 
suspect (see below).


If it's "file identity" globally across the lifetime of the project, 
I agree 100% per cent. The 'traditional' SCM concerned does this.

That's not what a solution I'd want to explore either, I'm only 
interested in the identity of files for any one /one/ commit. In 
saying that, I recognise it's pointless to try annotate file-change 
information in multi-parent commits (merges).


ACK, {Attic,deleted_files}/ is just horrid.


ACK.


Well, the conflict has to be resolved somehow, even today.


Right. That's what the 'traditional workflow' SCM I'm thinking of 
does - not BK funnily enough, but an SCM predating BK which also 
happens to use SCCS files, and with some of the same high-level 
push/pull constructs as BK (interestingly).

It also tracks name history globally using a deleted_files/ history, 
which is maintained, but I don't think it does this for name merges 
like the above.

In the one I'm thinking of, it does (I /think/, I'm not an expert in 
it) the following:

Given two files, say:

'old:

1.1---1.2---1.3

new:

1.1

- constructs a 'fake' base SCCS revision, empty
- adds the top 'old' version as a branch
- adds the top new version as a new delta

    1.1.1.1
   /
1.1---------1.2

Where in the merged file:

 	1.1: empty
 	1.1.1.1: was 1.3 from 'old'
 	1.2: is 1.1 from 'new'

However, it does /not/ create a deleted_files entry for the 'old' 
file. (AFAICT - I may not have a sufficiently full understanding of 
this SCM)


Indeed - horrid.


For tracking identity across more than one commit - I fully agree.

That's not what quite I'm thinking of though. Is it worth going on 
with the discussion on a:

 	 'track identities *only* from context of /the/ parent to
           this commit'


Oh, I agree muchely here.

I wouldn't change git. I only wonder if it give its rename-heuristics 
an additional advisory-only hint? (for single-parent commits at least 
- never merges - and only on a per-commit basis).

I probably should first explore how git deals with rename clashes..

regards,
-- 
Paul Jakma	paul@clubi.ie	paul@jakma.org	Key ID: 64A2FF6A
Fortune:
I'm glad I was not born before tea.
 		-- Sidney Smith (1771-1845)
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
impure renames / history tracking, Paul Jakma, (Wed Mar 1, 7:01 am)
Re: impure renames / history tracking, Andreas Ericsson, (Wed Mar 1, 8:38 am)
Re: impure renames / history tracking, Paul Jakma, (Wed Mar 1, 9:27 am)
Re: impure renames / history tracking, Linus Torvalds, (Wed Mar 1, 10:13 am)
Re: impure renames / history tracking, Andreas Ericsson, (Wed Mar 1, 10:43 am)
Re: impure renames / history tracking, Martin Langhoff, (Wed Mar 1, 11:05 am)
Re: impure renames / history tracking, Paul Jakma, (Wed Mar 1, 11:50 am)
Re: impure renames / history tracking, Paul Jakma, (Wed Mar 1, 12:13 pm)
Re: impure renames / history tracking, Junio C Hamano, (Wed Mar 1, 12:56 pm)
Re: impure renames / history tracking, Paul Jakma, (Wed Mar 1, 2:25 pm)
Re: impure renames / history tracking, Andreas Ericsson, (Wed Mar 1, 3:12 pm)
Re: impure renames / history tracking, Paul Jakma, (Wed Mar 1, 3:28 pm)
Re: impure renames / history tracking, Junio C Hamano, (Wed Mar 1, 3:46 pm)
Re: impure renames / history tracking, Paul Jakma, (Thu Mar 2, 2:10 pm)
Re: impure renames / history tracking, Andreas Ericsson, (Thu Mar 2, 3:06 pm)