Edgewall Software

Opened 10 years ago

Closed 10 years ago

Last modified 9 years ago

#2404 closed defect (worksforme)

added file missing from changeset

Reported by: mark@… Owned by: Matthew Good
Priority: normal Milestone:
Component: version control/changeset view Version: 0.9
Severity: major Keywords: dot, hidden
Release Notes:
API Changes:


Recently I've commited a (new) file called .htaccess and opened the changeset-viewer to review my changes.

Everything was listed fine, but trac did not list the file starting with the dot.

Yes, it has been commited properly and is shown by other tools - except trac.

Although files starting with dots are regarded as hidden under *nix it should IMHO be visible in versioning systems.

Attachments (1)

dmp.svn.bz2 (17.9 KB) - added by mark@… 10 years ago.
the SVN dump from r0:36

Download all attachments as: .zip

Change History (15)

comment:1 Changed 10 years ago by Matthew Good

Trac does not filter files starting with dots, and I just tested adding a .htaccess file to a repository here which works fine. You're going to need to provide some more information in order to determine why this is occurring.

comment:2 Changed 10 years ago by Christopher Lenz

Milestone: 0.9.1

comment:3 Changed 10 years ago by mark@…

Okay, here is the case:

Please see http://www.openmaillist.org/changeset/26 for the changeset:

        * trunk/bin (added)
        * trunk/bin/piper.php (moved) (moved from trunk/testdata/piper.php)
        * trunk/bin/piper.pl (moved) (moved from trunk/testdata/piper.pl)
        * trunk/bin/piper.py (moved) (moved from trunk/testdata/piper.py)
        * trunk/testdata/piper.php

Then, for comparison, run this:

# svn -v -r 26 log http://svn.hurrikane.de/all/openmaillist/trunk

r26 | mark | 2005-11-24 21:28:50 +0100 (Do, 24 Nov 2005) | 1 line
Geänderte Pfade:
   A /trunk/bin
   A /trunk/bin/.htaccess
   A /trunk/bin/piper.php (von /trunk/testdata/piper.php:25)
   A /trunk/bin/piper.pl (von /trunk/testdata/piper.pl:22)
   A /trunk/bin/piper.py (von /trunk/testdata/piper.py:22)
   D /trunk/testdata/piper.php
   D /trunk/testdata/piper.pl
   D /trunk/testdata/piper.py

Message fetching scripts were moved to bin.

You will notice that trunk/bin/.htaccess is missing:

comment:4 Changed 10 years ago by anonymous

Severity: normalmajor

comment:5 Changed 10 years ago by Matthew Good

Milestone: 0.9.3
Owner: changed from Jonas Borgström to Matthew Good
Status: newassigned
Summary: changeset-view does not display files starting with dotsadded file missing from changeset

Ok, I'll investigate this further. I've changed the subject because I think that the fact that the file started with a dot was just a coincidence and is not the reason it wasn't displayed.

comment:6 Changed 10 years ago by mark@…

I agree with you.

Please try this inverstigating this issue:

  1. Create a directory by svn mkdir xy.
  2. Create a new file and add it to that directory: svn add xy/myfile.txt.
  3. Commit and check whether everything is displayed properly.

comment:7 Changed 10 years ago by Christian Boos

I tried to reproduce the issue by mirroring your repository (using svk), but for me, it worked fined.

Here's the Trac[cache] DEBUG output when doing a resync:

 [27]: ('upstream/trunk/bin', 'dir', 'add', None, -1)
 [27]: ('upstream/trunk/bin/.htaccess', 'file', 'add', None, -1)
 [27]: ('upstream/trunk/bin/piper.php', 'file', 'move', 'upstream/trunk/testdata/piper.php', 26)
 [27]: ('upstream/trunk/bin/piper.pl', 'file', 'move', 'upstream/trunk/testdata/piper.pl', 23)
 [27]: ('upstream/trunk/testdata/piper.py', 'file', 'delete', 'upstream/trunk/testdata/piper.py', 26)

(the prefix of upstream and the changeset offset of +1 are due to the mirroring).

… and the changeset is then displayed correctly by Trac.

Now, by looking at your repository (http://svn.hurrikane.de/all/openmaillist/trunk), I see it's served by Subversion 1.3.0rc4. Which version of the python bindings for SVN are you using?

Another possibility is that you've setup an authz file which doesn't give you the read permission for the file which is "missing" (rightfully, if this would be the case).

comment:8 Changed 10 years ago by mark@…

I've upgraded to SVN 1.3 after the error has appeared. The relevant version of SVN is 1.2.3.

The authz-file does not set any permissions below trunk, therefore I can exclude that.

Bindings come from SWIG 1.3.21.

comment:9 Changed 10 years ago by anonymous

Same here. I have encountered that issue with subversion 1.2.0 and trac 0.9.0, too.

comment:10 Changed 10 years ago by Christian Boos

Sorry, but "same here" comments aren't going to help make any progress on this topic. What we need is a way to reproduce the problem, like a small dump of a repository which exhibits the issue…

As I said above, when I tried to reproduce the issue with a mirror of the initial reporter's repository, I couldn't reproduce the problem, which makes me believe that it's an authz issue, because of that line: source:trunk/trac/versioncontrol/svn_fs.py@2636#L471.

To mark@…: can you please instrument your code and do a resync once again?

  • svn_fs.py

    468468        for path, change in editor.changes.items():
    469469            if not self.authz.has_permission(path):
    470470                # FIXME: what about base_path?
     471                print 'XXX no permission for', path
    471472                continue
    472473            if not (path+'/').startswith(self.scope[1:]):
     474                print 'YYY stupid bug involving', path, self.scope
    473475                continue
    474476            action = ''
    475477            if not change.path and change.base_path:

comment:11 Changed 10 years ago by mark@…

After having SVN downgraded to 1.2.3…

  1. I've added the two lines listed above, removed any svn_fs.pyc and restarted apache.
  2. Then, I've done a trac-admin /path/to/openmaillist resync - no errors appeared (neither XXX nor YYY).
  3. After this, the changeset viewer still did not show the file.


Changed 10 years ago by mark@…

Attachment: dmp.svn.bz2 added

the SVN dump from r0:36

comment:12 Changed 10 years ago by Christian Boos

Milestone: 0.9.3
Resolution: worksforme
Status: assignedclosed

I just noticed that now it worksforyou :) (http://www.openmaillist.org/changeset/26) It also worked for me using the attachment:dmp.svn.bz2, as it did for the svk mirror. I'd be interested to know what you had to do in the end to make it work…

comment:13 Changed 10 years ago by mark@…

I've downgraded:

  • subversion to 1.2.3-r2 (was 1.2.3-r3, 1.3.0-rcX; didn't work with <1.2.3-r1 as well)

… and recompiled SWIG to be on the safe side.

But beware: subversion 1.3.0 has serious bugs with SWIG.

Anyway, my apologies and thanks for your effords!

comment:14 Changed 10 years ago by Christian Boos

Thanks for the feedback.

As I now have 1.3.0 (final, on Windows), I tried again with this repository and your changeset [26] appears correctly. However, it's true that the bindings are sensitive to the SWIG version used (only 1.3.24 or 1.3.25 should be used).

Modify Ticket

Change Properties
Set your email in Preferences
as closed The owner will remain Matthew Good.
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from Matthew Good to the specified user.

Add Comment

E-mail address and name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.