alex / alex/pyvcs

parents in commit has length 0

Aperta
#9 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Python
Stelle
128
Fork
11
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

When calling repo.get_recent_commits(), I get an error when it reaches the first commit.

```
In [1]: from pyvcs.backends import get_backend

In [2]: repo = get_backend('git').Repository('.')

In [3]: repo.get_recent_commits()
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)

/home/gvangool/dev/django-vcs-wiki/ in ()

/home/gvangool/env/generic/lib/python2.6/site-packages/pyvcs/backends/git.pyc in get_recent_commits(self, since)
101 pending_commits.extend(commit.parents)
102 commits = filter(lambda o: datetime.fromtimestamp(o.commit_time) >= since, history.values())
--> 103 commits = map(lambda o: self.get_commit_by_id(o.id), commits)
104 return sorted(commits, key=attrgetter('time'), reverse=True)
105

/home/gvangool/env/generic/lib/python2.6/site-packages/pyvcs/backends/git.pyc in (o)
101 pending_commits.extend(commit.parents)
102 commits = filter(lambda o: datetime.fromtimestamp(o.commit_time) >= since, history.values())
--> 103 commits = map(lambda o: self.get_commit_by_id(o.id), commits)
104 return sorted(commits, key=attrgetter('time'), reverse=True)
105

/home/gvangool/env/generic/lib/python2.6/site-packages/pyvcs/backends/git.pyc in get_commit_by_id(self, commit_id)
80 def get_commit_by_id(self, commit_id):
81 commit = self._get_commit(commit_id)
---> 82 files = self._diff_files(commit.id, commit.parents[0])
83 return Commit(commit.id, commit.committer,
84 datetime.fromtimestamp(commit.commit_time), commit.message, files,

IndexError: list index out of range
```

Easiest way to reproduce is create a new (git) repository and make a couple of commits.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.