| Index: build/util/lastchange.py
 | 
| diff --git a/build/util/lastchange.py b/build/util/lastchange.py
 | 
| index e938c3db70dcab21275520bc9b9e94c71a4ae8c7..28a266ddaf7ad977d37f4499076b0aa84eca19c5 100755
 | 
| --- a/build/util/lastchange.py
 | 
| +++ b/build/util/lastchange.py
 | 
| @@ -99,8 +99,6 @@ def FetchGitRevision(directory):
 | 
|    Returns:
 | 
|      A VersionInfo object or None on error.
 | 
|    """
 | 
| -  # TODO(agable): Re-add the commit position after the lastchange value can
 | 
| -  # accept strings longer than 64 characters. See crbug.com/406783.
 | 
|    hsh = ''
 | 
|    proc = RunGitCommand(directory, ['rev-parse', 'HEAD'])
 | 
|    if proc:
 | 
| @@ -109,9 +107,17 @@ def FetchGitRevision(directory):
 | 
|        hsh = output
 | 
|    if not hsh:
 | 
|      return None
 | 
| -  # TODO(agable): Figure out a way to use the full hash instead of just a
 | 
| -  # 12-character short hash. See crbug.com/406783.
 | 
| -  return VersionInfo('git', hsh[:12])
 | 
| +  pos = ''
 | 
| +  proc = RunGitCommand(directory, ['show', '-s', '--format=%B', 'HEAD'])
 | 
| +  if proc:
 | 
| +    output = proc.communicate()[0]
 | 
| +    if proc.returncode == 0 and output:
 | 
| +      for line in reversed(output.splitlines()):
 | 
| +        if line.startswith('Cr-Commit-Position:'):
 | 
| +          pos = line.rsplit()[-1].strip()
 | 
| +  if not pos:
 | 
| +    return VersionInfo('git', hsh)
 | 
| +  return VersionInfo('git', '%s-%s' % (hsh, pos))
 | 
|  
 | 
|  
 | 
|  def FetchGitSVNURLAndRevision(directory, svn_url_regex):
 | 
| 
 |