simonw / git-history

Tools for analyzing Git history using SQLite
Apache License 2.0
190 stars 18 forks source link

Running with --full-versions twice fails with an error #60

Open simonw opened 1 year ago

simonw commented 1 year ago
scrape-instances-social % git-history file counts.db instances.json \
  --convert "
    instances = json.loads(content)
    return [
    {
        'id': 'all',
        'users': sum(d['users'] or 0 for d in instances),
        'statuses': sum(int(d['statuses'] or 0) for d in instances),
        'instances': len(instances)
    }
  ]" --id id --full-versions
  [####################################]  17/17  100%%                                                                                                          scrape-instances-social % 
scrape-instances-social % 
scrape-instances-social % git-history file counts.db instances.json \
  --convert "
    instances = json.loads(content)
    return [
    {
        'id': 'all',
        'users': sum(d['users'] or 0 for d in instances),
        'statuses': sum(int(d['statuses'] or 0) for d in instances),
        'instances': len(instances)
    }
  ]" --id id --full-versions
Traceback (most recent call last):
  File "/Users/simon/.local/bin/git-history", line 8, in <module>
    sys.exit(cli())
  File "/Users/simon/.local/pipx/venvs/git-history/lib/python3.10/site-packages/click/core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "/Users/simon/.local/pipx/venvs/git-history/lib/python3.10/site-packages/click/core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "/Users/simon/.local/pipx/venvs/git-history/lib/python3.10/site-packages/click/core.py", line 1659, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/simon/.local/pipx/venvs/git-history/lib/python3.10/site-packages/click/core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/simon/.local/pipx/venvs/git-history/lib/python3.10/site-packages/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/Users/simon/.local/pipx/venvs/git-history/lib/python3.10/site-packages/git_history/cli.py", line 187, in file
    item_id_to_version, item_id_to_last_full_hash = get_versions_and_hashes(
  File "/Users/simon/.local/pipx/venvs/git-history/lib/python3.10/site-packages/git_history/cli.py", line 555, in get_versions_and_hashes
    for row in db.query(sql):
  File "/Users/simon/.local/pipx/venvs/git-history/lib/python3.10/site-packages/sqlite_utils/db.py", line 410, in query
    cursor = self.execute(sql, params or tuple())
  File "/Users/simon/.local/pipx/venvs/git-history/lib/python3.10/site-packages/sqlite_utils/db.py", line 422, in execute
    return self.conn.execute(sql, parameters)
sqlite3.OperationalError: no such column: item_version._item_full_hash

While working on:

simonw commented 1 year ago

Bug is in this code: https://github.com/simonw/git-history/blob/91abda0b599d51122b13cea9e9785a822f43ef28/git_history/cli.py#L538-L558