Re: [lldb-dev] [llvm-foundation] [llvm-dev] Sequential ID Git hook

2016-07-08 Thread Chris Matthews via lldb-dev
Sequential IDs are important for LNT and llvmlab bisection tool.

LNT uses the “order” to capture the measured software changes.  LNT does make 
the assumption that orders are unique, so if a ID was the same on two branches, 
LNT would assume that is the same change.  If you never want to compare data 
between branches, storing each branch in a different database solves that 
problem, but sometimes you do want to directly compare runs in two branches.

With both llvmlab and LNT, once you get to a range of IDs, it is needs to be 
easy to find out what commits or commit range those IDs map to.  When given 
regression between 123 and 225, I need the list of commits, and I don’t want to 
log grep for those numbers. Ideally it should also easy for those tools to link 
to a revision on a webUI like viewvc. 


On July 5, 2016 at 4:04:05 PM, Renato Golin via llvm-foundation 
(llvm-foundat...@lists.llvm.org) wrote:


On 5 Jul 2016 10:45 p.m., "Mehdi Amini"  wrote:
>
>
> > On Jul 5, 2016, at 3:44 AM, Renato Golin via llvm-dev 
> >  wrote:
> >
> > Quick re-cap.
> >
> > After a few rounds, not only the "external server" proposal got
> > obliterated as totally unnecessary, but the idea that we may even need
> > a hook at all is now challenged.
>
> This is not clear to me.
> How is the umbrella repository updated?

Sorry, I meant no hooks for updating sequential ids. We still need a hook to 
update the umbrella project.

Cheers,
Renato

___
llvm-foundation mailing list
llvm-foundat...@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-foundation
___
lldb-dev mailing list
lldb-dev@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev


Re: [lldb-dev] [llvm-dev] [llvm-foundation] Sequential ID Git hook

2016-07-08 Thread Chris Matthews via lldb-dev
With svn the the IDs are unique in, so r123 implies a branch.  svn log 
—revision=123:234 give the right change list when svn is directed at that 
branch. So right now, I can get the change list in one command easily without a 
script.

llvmlab bisect already encodes branch information in the build name.

If LNT is the only holdout I suggest we update the LNT model to natively handle 
git.  The order model has other problems besides this, and I think it would 
make LNT more useful to capture changes in a richer way. Something along the 
lines of registering repos with LNT, and having orders generated based on 
unique combinations of hashes. That would also allow us to track changes in the 
CI drivers, LNT and the test-suite as first class entities in the change list. 
That would also allow us to show change messages in the LNT interface. 
Basically internalizing the sequential ID as an order ID, but then usefully 
representing that in the interface. This sort of change to the guts of how LNT 
works is weeks of work, but I think it matches LNT’s goal of tracking 
performance changes as software evolves.


On July 8, 2016 at 9:45:07 AM, Mehdi Amini (mehdi.am...@apple.com) wrote:



Sent from my iPhone  

> On Jul 8, 2016, at 9:18 AM, Renato Golin  wrote:  
>  
>> On 8 July 2016 at 03:14, Robinson, Paul  wrote:  
>> I could see wanting to compare data from master and a release branch. If  
>> that means sequential IDs need to work across branches, then we're back to  
>> needing a fancier solution than 'rev-list –count'.  
>  
> How would you do this in SVN anyway?  
>  
> Branch commits are inter-twined with trunk commits, and comparing them  
> numerically doesn't yield the results you expect.  

If I give the revision that corresponds to some 3.8 branch commit and compare 
to another in master, I think I get exactly the result I expect.  
I may not understand your point here...  


>  
> At least in Git, the history is tied up via "parent" and not via  
> sequential IDs, so you can actually walk the path.  
>  
> Sequential numbers are only meaningful for linear histories. Branches,  
> whether on Git or Svn break that promise.  

SVN has monotonic increasing ids that are unique across branches.  


>  
> If we make LNT work with Git "as Git", then all problems are solved.  
> And meanwhile, we get to work with LNT "as SVN" via rev-list --count.  

You missed the point that in a single instance of LNT a revision number has to 
be unique.  
The rev-list thing won't provide this across branches.  
A rev-list count number won't identify a revision, you need the tuple (branch, 
count), which is less easy or less compatible with existing systems.  

--  
Mehdi  


>  
> cheers,  
> --renato  
___
lldb-dev mailing list
lldb-dev@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev