#11584 closed defect (fixed)
NoSuchChangeset is raised if repository is empty
| Reported by: | Jun Omae | Owned by: | Jun Omae |
|---|---|---|---|
| Priority: | normal | Milestone: | 1.0.2 |
| Component: | version control/browser | Version: | 1.0.1 |
| Severity: | normal | Keywords: | |
| Cc: | Ryan J Ollos | Branch: | |
| Release Notes: |
|
||
| API Changes: | |||
| Internal Changes: | |||
Description
In some repository types, browser page raises NoSuchChangeset if empty. Especially, when the repository is default, other registered repositories don't be shown in the browser page by the NoSuchChangeset error.
| Repository type | 1.0.1 | 0.12.5 |
|---|---|---|
| svn | NoSuchChangeset | No error |
| direct-svnfs | No error | No error |
git cached_repository = enabled | NoSuchChangeset | (n/a) |
git cached_repository = disabled | NoSuchChangeset | (n/a) |
| hg | No error | No error |
I think browser page shouldn't raise NoSuchChangeset even if empty.
Attachments (0)
Change History (7)
comment:1 by , 12 years ago
comment:2 by , 12 years ago
| Milestone: | next-stable-1.0.x → 1.0.2 |
|---|---|
| Owner: | set to |
| Status: | new → assigned |
Proposed changes in jomae.git@t11584.
The issue has been introduced in [10433] which shows branch and tag labels in browser page. The feature calls repos.get_changeset() with the specified rev parameter or the youngest revision. It works well if not empty. However, it crashes due to that the youngest revision is not found if empty. [69bc9463/jomae.git] would fix it.
Git repository has another issue. SubversionRepository.get_node() with empty repository doesn't raise NoSuchChangeset and SubversionNode.get_entries() returns an empty list. But git repository raises if empty. This behavior is to show "No files" on browser page in the case. [539dd995/jomae.git] would fix it.
comment:3 by , 12 years ago
I noticed that log page on an empty git repository raises a NoSuchChangeset. I'm reworking it.
comment:4 by , 12 years ago
I revised jomae.git@t11584 branch. It fixes NoSuchChangeset on log page with an empty git repository.
comment:5 by , 12 years ago
| Release Notes: | modified (diff) |
|---|---|
| Resolution: | → fixed |
| Status: | assigned → closed |
Committed in [12717-12720] and merged to trunk in [12721].
comment:6 by , 12 years ago
| Cc: | added |
|---|
After [12717], it looks like we could also remove the following two lines:
-
tracopt/versioncontrol/svn/tests/svn_fs.py
diff --git a/tracopt/versioncontrol/svn/tests/svn_fs.py b/tracopt/versioncontrol index 61a60d0..a0e3abf 100644
a b class SubversionRepositoryTestSetup(TestSetup): 59 59 pool = core.svn_pool_create(None) 60 60 dumpstream = None 61 61 try: 62 if os.path.exists(REPOS_PATH):63 print 'trouble ahead with db/rep-cache.db... see #8278'64 62 r = repos.svn_repos_create(REPOS_PATH, '', '', None, None, pool) 65 63 if hasattr(repos, 'svn_repos_load_fs2'): 66 64 repos.svn_repos_load_fs2(r, dumpfile, StringIO(),



Replying to jomae:
I've been bothered by this as well. I didn't realize the behavior was different in Trac 0.12.x. It would be great to fix it.