1. 01 Jun, 2017 1 commit
  2. 26 Feb, 2015 1 commit
  3. 02 Sep, 2014 1 commit
  4. 03 Apr, 2014 1 commit
  5. 12 Mar, 2014 1 commit
  6. 19 Nov, 2013 1 commit
    • iannucci@chromium.org's avatar
      Add git-number script to calculate generation numbers for commits. · aa74cf65
      iannucci@chromium.org authored
      Compatible with any git topology (multiple roots, weird branching/merging, etc.)
      I can't get it to be any faster (in python). Suggestions welcome :).
      
      On z600/linux, this takes 5.1s to calculate the initial count for 2e3de954ef0a
      (HEAD on src.git at the time of writing). Subsequent lookups take ~0.06s. For
      reference, this machine takes 3s to just list the revisions in sorted order
      without any additional processing (using rev-list).
      
      All calculations are stored in a git-notes-style ref with the exception that the
      leaf 'tree' object which would normally be stored in a git-notes world is
      replaced with a packed binary file which consists of records [hash int]. Each
      run of this script will create only 1 commit object on this internal ref which
      will have as its parents:
        * The previous git number commit
        * All of the target commits we calculated numbers for.
      This ref is then excluded on subsequent invocations of rev-list, which means that
      git-number will only ever process commit objects which it hasn't already
      calculated a value for. It also prevents you from attempting to number this
      special ref :).
      
      This implementation only has a 1-byte fanout which seems to be the best
      performance for the repos we're dealing with (i.e. on the order of 500k commit
      objects).  Bumping this up to a 2-byte fanout became extremely slow (I suspect
      the internal caching structures I'm using are not efficient in this mode and
      could be improved). Using no fanout is slower than the 1 byte fanout for lookups
      by about 30%.
      
      R=agable@chromium.org, stip@chromium.org, szager@chromium.org
      BUG=280154,309692,skia:1639
      
      Review URL: https://codereview.chromium.org/26109002
      
      git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@236035 0039d316-1c4b-4281-b951-d872f2087c98
      aa74cf65